xml - example - ¿Cómo se anidan elementos complexType en un xsd?
xml schema (2)
Agregue maxoccurs="unbounded"
al elemento llamado "persona". Es una secuencia de uno o más elementos de persona.
Tengo un archivo xml y xsd que ambos validan correctamente (probado en http://xsdvalidation.utilities-online.info/ ).
Sin embargo, el xml no valida contra el xsd. Creo que esto se debe a que estoy anidando incorrectamente elementos complexType en el xsd, en comparación con el xml. El elemento exterior de las people
parece estar causando el problema ...
Aquí está el xml:
<?xml version = "1.0"?>
<people>
<person>
<firstname>Joe</firstname>
<lastname>Schmoe</lastname>
</person>
<person>
<firstname>Cletus</firstname>
<lastname>Jenkins</lastname>
</person>
</people>
... y aquí está el xsd:
<?xml version = "1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name = "people">
<xs:complexType>
<xs:sequence>
<xs:element name = "person">
<xs:complexType>
<xs:sequence>
<xs:element name = "firstname" type = "xs:string" />
<xs:element name = "lastname" type = "xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Prueba esto para tu XSD:
<?xml version = "1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="people" type="people"/>
<xs:complexType name="people">
<xs:sequence>
<xs:element name="person" type="person" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="person">
<xs:sequence>
<xs:element name="firstname" type="xs:string" maxOccurs="1" minOccurs="1"/>
<xs:element name="lastname" type="xs:string" maxOccurs="1" minOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>