Latest web development tutorials

elemento XML Schema anyAttribute

<AnyAttribute> elemento ci consente di estendere il documento XML proprietà non sono specificate dallo schema!


<AnyAttribute> elemento ci consente di estendere il documento XML proprietà non sono specificate dallo schema!

L'esempio che segue è un frammento dallo schema XML denominato "family.xsd" di. Ci mostra una dichiarazione contro l'elemento di "persona". Utilizzando l'elemento <anyAttribute>, siamo in grado di aggiungere qualsiasi numero di attributi per l'elemento "persona":

<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:anyAttribute/>
</xs:complexType>
</xs:element>

Ora, ci auguriamo che attraverso il "genere" attributo di estendere l'elemento "persona". In questo caso, siamo in grado di farlo, anche se l'autore dello schema di cui sopra non ha dichiarato alcun attributo "genere".

Guardate questo file di schema denominato "attribute.xsd":

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">

<xs:attribute name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

</xs:schema>

Il seguente XML (chiamato "Myfamily.xml"), l'uso di ingredienti diversi di schema, "family.xsd" e "attribute.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.w3schools.com attribute.xsd">

<person gender="female">
<firstname>Hege</firstname>
<lastname>Refsnes</lastname>
</person>

<person gender="male">
<firstname>Stale</firstname>
<lastname>Refsnes</lastname>
</person>

</persons>

Questo file XML di cui sopra è valido in quanto lo schema "family.xsd" ci permette di aggiungere attributi per l'elemento "persona".

<Any> e <anyAttribute> può essere utilizzato per creare documenti scalabile! Essi hanno la capacità di rendere il documento non conteneva una dichiarazione dello schema XML principale attraverso elementi aggiuntivi.