Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema trasformazione con xslt

    Salve ragazzi,

    partendo dal seguente linguaggio di markup definito sulla base dell'xml (fornito come esempio dal sito stesso)

    codice:
    <?xml version="1.0" standalone="no"?>
    <?xml-stylesheet type="text/xsl" href="ListaCdXsl.xsl"?>
    
    <!DOCTYPE listacd SYSTEM "listaCdXsd.xsd">
    <listacd>
    	<artista>
        	<nome>Stanley Jordan</nome> 
        	<albums>
            	<album>
           			<titolo>Magic Touch</titolo>
                    <anno>1985</anno>
                    <etichetta>Blue Note</etichetta>
                 </album>
                 <album>
                    <titolo>Stolen Moments</titolo>
                    <anno>1991</anno>
                    <etichetta>Blue Note</etichetta>
                 </album>
            </albums>
         </artista>
         <artista>
         	<nome>Nick Drake</nome>
             <albums>
                  <album>
                     <titolo>Pink Moon</titolo>
                     <anno>1972</anno>
                     <etichetta>Island</etichetta>
                  </album>
                  <album>
                     <titolo>Bryter Layter</titolo>
                     <anno>2000</anno>
                     <etichetta>Island</etichetta>
                  </album>
                  <album>
                     <titolo>Five leaves left</titolo>
                     <anno>1970</anno>
                     <etichetta>Island</etichetta>
                  </album>
             </albums>
          </artista>
          <artista>
             <nome>Jeff Buckley</nome>
             <albums>
                  <album>
                     <titolo>Grace</titolo>
                     <anno>1994</anno>
                     <etichetta>Columbia</etichetta>
                  </album>
                  <album>
                     <titolo>Mistery white boy</titolo>
                     <anno>2000</anno>
                     <etichetta>Columbia</etichetta>
                  </album>
             </albums>
          </artista>
          <artista>
          	<nome>Joe Satriani</nome>
            <albums>
                  <album>
                     <titolo>Surfing with the alien</titolo>
                     <anno>1987</anno>
                     <etichetta>Epic</etichetta>
                  </album>
                  <album>
                     <titolo>Not of this earth</titolo>
                     <anno>1988</anno>
                     <etichetta>Relativity</etichetta>
                  </album>
             </albums>
          </artista>
    </listacd>
    ho definito lo schema xsd del linguaggio nella maniera che segue:
    codice:
     
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    	
    	<xsd:element name="listacd">
    		<xsd:complexType>
    			<xsd:all>
    				<xsd:element ref="artista" minOccurs="1"/>
    			</xsd:all>
    		</xsd:complexType>
    	</xsd:element>
    	
    	<xsd:element name="artista">
    		<xsd:complexType>
    			<xsd:sequence>
    				<xsd:element ref="nome" maxOccurs="1"/>
    				<xsd:element ref="albums" maxOccurs="1"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    	
    	<xsd:element name="nome" type="xsd:string"/>
    	
    	<xsd:element name="albums">
    		<xsd:complexType>
    			<xsd:all>
    				<xsd:element ref="album" minOccurs="1"/>
    			</xsd:all>
    		</xsd:complexType>
    	</xsd:element>
    	
    	<xsd:element name="album">
    		<xsd:complexType>
    			<xsd:sequence minOccurs="1" maxOccurs="1">
    				<xsd:element ref="titolo"/>
    				<xsd:element ref="anno"/>
    				<xsd:element ref="etichetta"/>
    			</xsd:sequence>
    		</xsd:complexType>
    	</xsd:element>
    	
    	<xsd:element name="titolo" type="xsd:string"/>
    	<xsd:element name="anno">
    		<xsd:simpleType>
    			<xsd:restriction base="xsd:integer">
    				<xsd:minInclusive value="1800"/>
    				<xsd:maxInclusive value="2009"/>
    			</xsd:restriction>
    		</xsd:simpleType>
    	</xsd:element>
    	<xsd:element name="etichetta" type="xsd:string"/>
    	
    </xsd:schema>
    Poi infine ho definito una trasformazione XSLT ma nel momento in cui dico al software Exchanger XML Editor di eseguirla (per generarmi il file xhtml), mi comunica il seguente errore:

    codice:
    FATAL ERROR: Error reported by XML parser; SystemID: file:/C:/../Cd/listaCdXsd.xsd; Line#: 1; Column#: 2
    
    FATAL ERROR: org.xml.sax.SAXParseException: The markup declarations contained or pointed to by the document type declaration must be well-formed.
    Non capisco dov'è l'errore nel file xsd! Spero qualcuno mi sappia dare utili suggerimenti!

  2. #2
    mi sa che hai confuso xsd con xsl

  3. #3
    No! Ho definito uno schema XSD del documento istanza XML. Poi ho scritto un piccolo foglio di stile XSL per trasformare il documento istanza (definito secondo lo schema XSD che ho incollato) in una pagina XHTML!

    Nel momento in cui avvio la trasformazione, il parser mi segnala errore nel file XSD!
    Quindi vorrei sapere qual'è l'errore (nel file XSD) che mi blocca l'esecuzione della trasformazione XSLT?

  4. #4
    scusa ma per fare la trasformazione mica ti serve lo schema... son due cose separate!
    comunque mi pare che che allo schema manchi la dichiarazione xml iniziale
    <?xml version="1.0">

    poi per gli schemi uso
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    ... eccetera...

  5. #5
    Lo schema XSD l'ho definito per scopi didattici!

    Ho provato a definire lo schema in DTD e la trasformazione XSL viene computata normalmente, mentre se alla radice dell'albero xml applico lo schema XSD, come già ho puntualizzato, non va!

    Non ho capito dove sta il problema nel file xsd.

  6. #6
    Originariamente inviato da VincenzoTheBest
    Non ho capito dove sta il problema nel file xsd.
    nel codice cha hai riposrato manca <?xml version="1.0">

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.