Latest web development tutorials

XML-схемы любой элемент

> <Любой элемент элементом> дает нам возможность расширить не определяется схемой документа XML!


h2> любой> элемент <

<Any> поэлементно дает нам возможность расширить не определяется схемой документа XML!

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

Теперь мы хотим использовать элемент "дети", чтобы расширить элемент "лицо". При таких обстоятельствах мы можем сделать это, даже если автор схемы выше не объявляет ни одного элемента "дети".

Посмотрите на этот файл схемы с именем "children.xsd":

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

Следующий файл XML (названный "Myfamily.xml"), использовали данные из двух различных компонентов схемы, "family.xsd" и "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.w3schools.com children.xsd">

<person>
<firstname>Hege</firstname>
<lastname>Refsnes</lastname>
<children>
<childname>Cecilie</childname>
</children>
</person>

<person>
<firstname>Stale</firstname>
<lastname>Refsnes</lastname>
</person>

</persons>

Над XML-файл является действительным, что обусловлено схемой "family.xsd" Мы позволили после того, как "Фамилия" элементов дополнительных элементов для расширения элемента "лицо".

<Any> и <anyAttribute> может быть использован для создания масштабируемой документа! У них есть возможность сделать этот документ не содержит изложение основной схемы XML с помощью дополнительных элементов.