Kitaka kizito cha XSD <any>

元素使我们有能力通过未被 schema 规定的元素来拓展 XML 文档!

元素

元素使我们有能力通过未被 schema 规定的元素来拓展 XML 文档!

下面这个例子是从名为 "family.xsd" 的 XML schema 中引用的片段。它展示了一个针对 "person" 元素的声明。通过使用 元素,我们可以通过任何元素(在 之后)扩展 "person" 的内容:

<xs:element name="mtu">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="kina" type="xs:string"/>
      <xs:element name="lastname" type="xs:string"/>
      <xs:any minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Sasa, tunataka kutumia element "children" kueneza element "person". Kwenye hali hii tunaweza kudokeza hivyo, inaagiza wa schema hii anasema kitu kuhusu element "children".

Tazama hii faili ya schema, jina linalojulikana kama "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>

Tengene hizi XML wafiri (jina linalojulikana kama "Myfamily.xml"), ilikuwa inatumiwa kazi kutoka mawili kwenye schema mbalimbali, "family.xsd" na "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">

<firstname>David</firstname>
Smith
<children>
  <childname>mike</childname>



Tony
Smith


上面这个 XML 文件是有效的,这是由于 schema "family.xsd" 允许我们通过在 "lastname" 元素后的可选元素来扩展 "person" 元素。

Kwa sababu <any> na <anyAttribute> zitaendana kufanya hatua ya kubuni mafaa, zinaonekana kufikia hatua ya kubuni hatua ya kubuni kwa hatua za kuzingatia hatua ya kuzingatia kwa hatua ya kuzingatia.