tipos example xml validation xsd complextype

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>