Dato lo schema (anonimi, i punti chiave di interesse vengono rinominati e il resto omessi):Perché questo XDocument ha esito negativo la convalida?
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="inspec"
targetNamespace="the_right_namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="inspec">
<xs:complexType>
<xs:all>
<xs:element name="a_scalar_property" type="xs:int"/>
<xs:element name="a_collection_property">
<xs:complexType>
<snip>
</xs:complexType>
</xs:element>
<xs:element name="another_collection_property">
<xs:complexType>
<snip>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
e l'istanza (dichiarato utilizzando letterali VB XML):
Dim xDocument =
<x:inspec xmlns:x='the_right_namespace'>
<a_collection_property/>
<another_collection_property/>
</x:inspec>
convalida non riesce con il messaggio The element 'inspec' in namespace 'the_right_namespace' has incomplete content. List of possible elements expected: 'a_scalar_property'.
Perché? L'elemento all
, secondo W3Schools:
"L'elemento all specifica che gli elementi figlio possono apparire in qualsiasi ordine e che ogni elemento figlio può verificarsi zero o una volta."
Tralasciando a_scalar_property
è lo stesso come comprendente cronometra a zero. Perché questo documento non riesce a convalidare?
e non dire cose come 'inserire il codice completo' - questo non è il mio IP e ho anonima per una buona ragione. C'è molto poco altro, e ho provato con questo esempio minimo, dà lo stesso risultato.
Rilevante: (. Non sto dicendo che sarebbe necessariamente sbagliato in questo caso) http://w3fools.com/ – JJJ
Grazie - Non ho trovato W3Schools molto utile, ma lo ho incluso come riferimento che probabilmente tutti hanno sentito parlare - e spero davvero che la prima frase della pagina su un pezzo fondamentale di Xml Schema sia corretta! –