Elementong <any> ng XSD
- Nasundan na Pahina Indikadornong XSD
- Susunod na Pahina XSD <anyAttribute>
Ang <any> elemento ay nagbibigay-daan sa amin na palawakin ang nilalaman ng XML dokumento gamit ang mga elemento na hindi tinukoy ng schema!
Ang <any> elemento
Ang <any> elemento ay nagbibigay-daan sa amin na palawakin ang nilalaman ng XML dokumento gamit ang mga elemento na hindi tinukoy ng schema!
Ang pagkakataong ito ay mula sa XML schema na may pangalan na "family.xsd". Ito ay nagpapakita ng isang deklarasyon para sa elemento na "person". Sa pamamagitan ng paggamit ng <any> elemento, maaari naming palawakin ang nilalaman ng "person" sa pamamagitan ng kahit anong elemento (sa pagkatapos ng <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>
Sa kasalukuyang ito, nais naming gamitin ang elemento "children" upang palawakin ang elemento "person". Sa ganitong sitwasyon, maaari naming gawin ito, kahit na ang may-akda ng schema ay hindi nagdeklara ng anumang "children" elemento.
Pansin ang file na schema na ito, na may pangalan na "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>
Ang file na XML na ito (pangalan "Myfamily.xml"), ay gumagamit ng mga komponente mula sa dalawang magkakaibang schema, "family.xsd" at "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>
Ang nasabing XML file ay may bisa, dahil pinahihintulutan namin ng schema "family.xsd" na magpalawak ng elemento "person" sa pamamagitan ng opsyonal na elemento pagkatapos ng elemento "lastname".
Maaaring gamitin ang <any> at <anyAttribute> para gumawa ng dokumentong maaaring maagapay. Ito ay nagbibigay kapangyarihan sa dokumento na magkaroon ng karagdagang elemento na hindi idiniklarang sa pangunahing XML schema.
- Nasundan na Pahina Indikadornong XSD
- Susunod na Pahina XSD <anyAttribute>