Latest web development tutorials

Element XML Schema anyAttribute

<AnyAttribute> Element umożliwia nam rozszerzenie dokumentu XML właściwości nie są określone przez schemat!


<AnyAttribute> Element umożliwia nam rozszerzenie dokumentu XML właściwości nie są określone przez schemat!

Poniższy przykład stanowi fragment ze schematu XML o nazwie "family.xsd" z. To pokazuje nam oświadczenie przeciw "osoba" elementu. Za pomocą elementu <anyAttribute>, możemy dodać dowolną liczbę atrybutów do "osoba" elementu:

<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>

Teraz mamy nadzieję, że przez "płeć" atrybut rozszerzenie "osoba" element. W tym przypadku, możemy to zrobić, nawet jeśli autor powyższego schematu nie ogłosił żadnego atrybutu "gender".

Spójrz na tego pliku schematu o nazwie "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>

Poniższy XML (zwane "Myfamily.xml"), stosowanie składników z innego schematu na "family.xsd" i "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>

powyżej Ten plik XML jest poprawny, ponieważ schemat "family.xsd" pozwala nam na dodanie atrybutów do "osoba" elementu.

<Any> i <anyAttribute> mogą być wykorzystywane do tworzenia skalowalnych dokument! Mają zdolność do podejmowania dokument nie zawiera oświadczenie głównego schematu XML za pomocą dodatkowych elementów.