Quali problemi possono verificarsi se un file XML non è supportato da uno schema?

2

Che cos'è uno schema XML in termini semplici semplici? Quale sarà il problema se un XML non ha uno schema definito? Un esempio può essere molto utile.

    
posta Geek 18.04.2013 - 21:02
fonte

2 risposte

5

Il problema principale che vedo è che non può essere convalidato né contro un DTD, né contro uno schema XML. In quanto tale, non hai alcuna garanzia che ciò che hai ricevuto sia quello che ti aspettavi.

Ad esempio, se stai inviando questo file XML a qualcuno:

<x id="2">
    <yyy>
        <zzz>fdslgskfmlsdk</zzz>
        <zzz>sdmflsdmfl</zzz>
    </yyy>
    <yyy>thingy</yyy>
</x>

Come può essere certo che:

  1. è "id" sempre un numero?
  2. è "id" obbligatorio o facoltativo?
  3. è "id" l'unico attributo dell'elemento "x"?
  4. quanti elementi "yyy" possono essere contenuti in un elemento "x"?
  5. è "yyy" l'unico elemento che può trovarsi all'interno di "x"?
  6. quanti elementi "zzz" in un elemento "yyy"?
  7. ecc.

C'è una lista illimitata di domande che la persona può chiederti. L'obiettivo di uno schema XML è sperare di rispondere a tutte queste domande e anche di fornire un modo per convalidare un documento prima o durante la fase di analisi.

Non appassionato di w3schools, ma ecco un elenco di letture brevi e interessanti su XML Schema:

risposta data 18.04.2013 - 21:14
fonte
1

È la stessa domanda di usare un linguaggio statico o tipizzato dinamicamente. Lo schema è un controllo dichiarativo sulla correttezza dei dati. Se si dispone di un campo che deve essere un numero intero, è possibile contrassegnarlo come tale nello schema e quindi i dati non validi non supereranno il validatore. Senza uno schema, dovresti controllare il codice che è più soggetto a errori. A volte, potresti avere una preferenza per la flessibilità, nel qual caso uno schema è un ostacolo. In particolare non esiste un linguaggio di schema standard per JSON, tuttavia sta crescendo in popolarità.

    
risposta data 18.04.2013 - 23:21
fonte

Leggi altre domande sui tag