SEMPLICE!! CORREZIONE XML

di il
2 risposte

SEMPLICE!! CORREZIONE XML

Grazie per aver visitato questo post, potreste correggermi gli errori di questo XML con W3c, non riesco a capirli. grazie mille

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE ferrovia [
<!ELEMENT ferrrovia (stazione+,treno+,percorso+)>
<!ELEMENT stazione (nome,indirizzo)>
<!ELEMENT treno (motrice, (carrozza_1classe|carrozza_2classe)*,vagone_ristorante+,(carrozza_1classe|carrozza_2classe),motrice)>
<!ELEMENT percorso (tratto+)>
<!ELEMENT tratto EMPTY>
<!ELEMENT nome (#PCDATA)>
<!ELEMENT indirizzo (#PCDATA)>
<!ELEMENT motrice EMPTY>
<!ELEMENT carrozza_1classe EMPTY>
<!ELEMENT carrozza_2classe EMPTY>
<!ELEMENT vagone_ristorante EMPTY>
<!ATTLIST stazione sigla ID #REQUIRED>
<!ATTLIST treno sigla ID #REQUIRED>
<!ATTLIST treno tipo (diretto|intercity|eurostar) 'diretto'>
<!ATTLIST percorso treno IDREF #REQUIRED>
<!ATTLIST tratto partenza IDREFS #REQUIRED>
<!ATTLIST tratto destinazione IDREFS #REQUIRED>
<!ATTLIST tratto tempo_percorrenza CDATA #IMPLIED>
]>

<ferrovia>
<stazione sigla="UD">
<nome>Udine</nome>
<indirizzo>Viale Europa</indirizzo>
</stazione>
<treno sigla="n001" tipo="intercity">
motrice carrozza_1classe vagone_ristorante motrice carrozza_2classe motrice</treno>
<percorso treno="n001"><tratto partenza="Udine" destinazione="Milano" tempo_percorrenza="minuti:150"/></percorso> <motrice/>
</ferrovia>

2 Risposte

  • Re: SEMPLICE!! CORREZIONE XML

    Chi ha scritto questo xml ?
  • Re: SEMPLICE!! CORREZIONE XML

    Salve alessandro3,
    gli errori che ho rilevato un po' a vista e un po' con gli strumenti di Visual Studio sono questi:
    1) Dichiarazione di ferrovia con 3 r:
    <!ELEMENT ferrovia (stazione+,treno+,percorso+)>
    2) Mancanza di parentesi uncinate nel contenuto di <treno>:

    A questo punto però la seconda <motrice/> (quella centrale) non risulta valida per il tuo DOCTYPE e te lo commento. In fondo non ho mai visto un treno a 3 motrici, anche se ho visto 2 treni regionali attaccati (4 motrici totali) che ad una stazione intermedia si sono staccati per proseguire in 2 destinazioni diverse.
    
    <treno sigla="n001" tipo="intercity">
        <motrice/> <carrozza_1classe/> <vagone_ristorante/> <!-- <motrice/> --> <carrozza_2classe/> <motrice/>
    </treno>
    3) In base al primo ELEMENT del DOCTYPE, l'ultimo <motrice/> è invalido, quindi:
    
      </percorso>
      <!-- <motrice/> -->
    </ferrovia>
    
    4) Non rimane che gli attributi partenza e destinazione di <tratto> che così com'è si ottiene un "Reference to undeclared ID is Udine|Milano", quindi posso solo supporre un ID al posto di IDREFS nei relativi ATTLIST.
    
    <!ATTLIST tratto partenza ID #REQUIRED>
    <!ATTLIST tratto destinazione ID #REQUIRED>
    
    Ciao.
Devi accedere o registrarti per scrivere nel forum
2 risposte