XSD <anyAttribute> Elemanı
- Önceki Sayfa XSD <any>
- Sonraki Sayfa XSD Eleman Değişimi
<anyAttribute> elementi, XML belgesini schema tarafından tanımlanmamış özelliklerle genişletmemizi sağlar!
<anyAttribute> elementi
<anyAttribute> elementi, XML belgesini schema tarafından tanımlanmamış özelliklerle genişletmemizi sağlar!
Aşağıdaki örnek, "family.xsd" adlı XML şemasından alınan bir parçadır. Bize "person" elementi için bir açıklamayı gösterir. <anyAttribute> elementi kullanarak "person" elementine herhangi sayıda özellik ekleyebiliriz:
<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>
Şimdi, "gender" özelliği aracılığıyla "person" ögesini genişletmeyi umuyoruz. Bu durumda bu şekilde yapabiliriz, hatta bu schema'nın yazarı "gender" özelliğini hiç açıklamamış olsa bile.
Bu schema dosyasını görün, "attribute.xsd" adında:
<?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:attribute name="gender"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="male|female"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:schema>
Bu XML ("Myfamily.xml" adında), farklı schema'lardan gelen bileşenleri kullanır, "family.xsd" ve "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.codew3c.com attribute.xsd"> <person gender="female"> <firstname>Jane</firstname> <lastname>Smith</lastname> </person> <person gender="male"> <firstname>David</firstname> <lastname>Smith</lastname> </person> </persons>
Bu XML dosyası geçerlidir, çünkü "family.xsd" şeması "person" elemanına özellik eklememizi sağlar.
<any> ve <anyAttribute> genişletilebilir belgeler oluşturmak için kullanılabilir! Bu, belgelerin ana XML şemasında tanımlanmamış ek elementler içermesine olanak tanır.
- Önceki Sayfa XSD <any>
- Sonraki Sayfa XSD Eleman Değişimi