Последние учебники веб-разработки
×

XML Руководство

XML ГЛАВНАЯ XML Введение XML Как использовать XML дерево XML Синтаксис XML элементы XML Атрибуты XML Пространства имен XML дисплей XML XSLT XML XPath XML XLink XML Оценщик XML DTD XML схема XML сервер XML Приложения XML Примеры XML викторина XML сертификат

XML DOM

DOM вступление DOM Вершины DOM XMLHttpRequest DOM Доступ к DOM Узел информация DOM Список узлов DOM Пересекая DOM навигационный DOM Получить значения DOM Change Вершины DOM Remove Вершины DOM Replace Вершины DOM Create Вершины DOM Add Вершины DOM Clone Вершины DOM Примеры

DOM Справка

DOM Типы узлов DOM Узел DOM NodeList DOM NamedNodeMap DOM Документ DOM Элемент DOM Атрибут DOM Текст DOM CDATA DOM Комментарий DOM XMLHttpRequest DOM синтаксический анализатор

XML DTD

DTD вступление DTD Строительные блоки DTD элементы DTD Атрибуты DTD Элементы против Attr DTD юридические лица DTD Примеры

XSD Schema

XSD вступление XSD Как XSD <schema> XSD элементы XSD Атрибуты XSD ограничения

XSD Сложный

XSD элементы XSD пустой XSD Элементы только XSD Только текст XSD смешанный XSD индикаторы XSD <any> XSD <anyAttribute> XSD подмена XSD пример

XSD Data

XSD строка XSD Дата XSD числовой XSD Разное XSD Справка

Web Сервисы

XML Сервисы XML WSDL XML SOAP XML RDF XML RSS

 

XSD <anyAttribute> Element


<anyAttribute> элемент позволяет распространить документ XML с атрибутами , не указанных в схеме!


<anyAttribute> Элемент

<anyAttribute> элемент позволяет распространить документ XML с атрибутами , не указанных в схеме.

Следующий пример представляет собой фрагмент из схемы XML под названием "family.xsd" . Это показывает объявление для "person" элемента. Используя <anyAttribute> элемент мы можем добавить любое количество атрибутов в "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>

Теперь мы хотим расширить "person" элемент с "gender" атрибута. В этом случае мы можем сделать это, даже если автор схемы выше никогда не объявляется какой - либо "gender" атрибут.

Посмотрите на эту схему файла, называемого "attribute.xsd" :

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3ii.com"
xmlns="http://www.w3ii.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>

Файл XML ниже (called "Myfamily.xml") так (called "Myfamily.xml") , использует компоненты из двух разных схем; "family.xsd" и "attribute.xsd" :

<?xml version="1.0" encoding="UTF-8"?>

<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.w3ii.com attribute.xsd">

<person gender="female">
  <firstname>Hege</firstname>
  <lastname>Refsnes</lastname>
</person>

<person gender="male">
  <firstname>Stale</firstname>
  <lastname>Refsnes</lastname>
</person>

</persons>

Файл XML выше справедливо , так как схема "family.xsd" позволяет добавить атрибут в "person" элемента.

<any> и <anyAttribute> элементы используются для создания Extensible документов! Они позволяют документы содержат дополнительные элементы, не объявленные в основной схеме XML.