XSD - Kiwango cha <anyAttribute>

<anyAttribute> element inanufanya tukweze kufikia uongezeshaji wa ujumbe wa XML kwa ujenzi wa ujumbe huzungumza!

<anyAttribute> element

<anyAttribute> element inanufanya tukweze kufikia uongezeshaji wa ujumbe wa XML kwa ujenzi wa ujumbe huzungumza!

Mfano hii ni mawili ya "family.xsd" ya XML schema. Iko inonuni kwa ujumbe "person" kwa kumonisha kwa kusoma <anyAttribute> element, tunaweza kuongeza ujumbe wengi kwa elementi "person":

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

Sasa, tunanua kuwaambua kwa "gender" sababu ya kuzingatia elementi ya "person". Kwenye hali hii tunaweza kufanya hivyo, inaingia kwamba mtangazaji wa schema hawajaeleza sababu kubadilika ya sababu ya "gender".

Tazama faili hii ya schema, inajulikana kama "attribute.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:attribute name="gender">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="male|female"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
</xs:schema>

Hii hizi XML (ina jina "Myfamily.xml"), inatumia kompozi ya kiume ya kwenye schema, "family.xsd" na "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>

Mafuriko huo wa XML ni sahihi, kwa sababu schema "family.xsd" inasababisha sikuwa tunaweza kuongeza majibu kwa kifupi "person".

<any> na <anyAttribute> zinafwapa fursa ya kufanya mafuriko ya kipya! Zinafanya mafuriko ya kipya inayoweza kuwa na element ya zaidi ambayo hayajazwisha kusadiliwa katika schema ya kipya cha XML.