XSD - <cualquier>
El elemento <any> se utiliza para ampliar la funcionalidad XSD. Se utiliza para extender un elemento complexType definido en un XSD por un elemento que no está definido en el esquema.
Considere un ejemplo: person.xsd ha definido personelemento complexType. address.xsd ha definidoaddress elemento complexType.
person.xsd
<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"
targetNamespace = "http://www.tutorialspoint.com"
xmlns = "http://www.tutorialspoint.com"
elementFormDefault = "qualified">
<xs:element name = "person">
<xs:complexType >
<xs:sequence>
<xs:element name = "firstname" type = "xs:string"/>
<xs:element name = "lastname" type = "xs:string"/>
<xs:element name = "nickname" type = "xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
address.xsd
<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"
targetNamespace = "http://www.tutorialspoint.com"
xmlns = "http://www.tutorialspoint.com"
elementFormDefault = "qualified">
<xs:element name = "address">
<xs:complexType>
<xs:sequence>
<xs:element name = "houseNumber" type = "xs:string"/>
<xs:element name = "street" type = "xs:string"/>
<xs:element name = "state" type = "xs:string"/>
<xs:element name = "zipcode" type = "xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Si queremos definir una persona con dirección en XML, la siguiente declaración no será válida.
person.xml
<?xml version = "1.0"?>
<class xmlns = "http://www.tutorialspoint.com"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.tutorialspoint.com person.xsd
http://www.tutorialspoint.com address.xsd">
<person>
<firstname>Dinkar</firstname>
<lastname>Kad</lastname>
<nickname>Dinkar</lastname>
<address>
<houseNumber>101</firstname>
<street>Sector-1,Patiala</lastname>
<state>Punjab</lastname>
<zipcode>301202<zipcode>
</address>
</person>
</class>
Utilice <xs: any>
Para validar el person.xml anterior, agregue <xs: any> al elemento person en person.xsd.
person.xsd
<?xml version = "1.0" encoding = "UTF-8"?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema"
targetNamespace = "http://www.tutorialspoint.com"
xmlns = "http://www.tutorialspoint.com"
elementFormDefault = "qualified">
<xs:element name = "person">
<xs:complexType >
<xs:sequence>
<xs:element name = "firstname" type = "xs:string"/>
<xs:element name = "lastname" type = "xs:string"/>
<xs:element name = "nickname" type = "xs:string"/>
<xs:any minOccurs = "0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Ahora person.xml se validará con person.xsd y address.xsd.