Elemento <any> XSD
- Pagina Precedente Indicatore XSD
- Pagina Successiva XSD <anyAttribute>
L'elemento <any> ci permette di estendere un documento XML con elementi non definiti nello schema!
Elemento <any>
L'elemento <any> ci permette di estendere un documento XML con elementi non definiti nello schema!
Questo esempio è un frammento tratto da uno schema XML chiamato "family.xsd". Mostra una dichiarazione per l'elemento "person". Utilizzando l'elemento <any>, possiamo estendere il contenuto di "person" attraverso qualsiasi elemento (dopo <lastname>):
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:any minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element>
Ora, desideriamo utilizzare l'elemento "children" per estendere l'elemento "person". In questo caso possiamo farlo, anche se l'autore di questo schema non ha dichiarato alcun elemento "children".
Vediamo questo file schema, chiamato "children.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.codew3c.com" xmlns="http://www.codew3c.com" elementFormDefault="qualified"> <xs:element name="children"> <xs:complexType> <xs:sequence> <xs:element name="childname" type="xs:string" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Questa XML file (chiamato "Myfamily.xml"), utilizza componenti provenienti da due diversi schema, "family.xsd" e "children.xsd":
<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.codew3c.com children.xsd"> <person> <firstname>David</firstname> <lastname>Smith</lastname> <children> <childname>mike</childname> </children> </person> <person> <firstname>Tony</firstname> <lastname>Smith</lastname> </person> </persons>
Questo file XML è valido perché lo schema "family.xsd" ci permette di estendere l'elemento "person" attraverso l'elemento opzionale dopo l'elemento "lastname".
Gli elementi <any> e <anyAttribute> possono essere utilizzati per creare documenti estensibili! Loro rendono il documento capace di includere elementi aggiuntivi non dichiarati nel principale schema XML.
- Pagina Precedente Indicatore XSD
- Pagina Successiva XSD <anyAttribute>