Latest web development tutorials

Schema XML qualquer elemento

> <Qualquer elemento> por elemento nos dá a capacidade de expandir não é especificado pelo esquema de um documento XML!


h2> <any> elemento

<Any> elemento por elemento nos dá a capacidade de expandir não é especificado pelo esquema de um documento XML!

O exemplo a seguir é citado fragmento de esquema XML chamado "family.xsd" em. Ele mostra uma declaração para o elemento "pessoa". Ao usar o <any> elemento, podemos usar qualquer elemento (no <sobrenome>) Depois de elementos estendidos "pessoa":

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

Agora, queremos usar o "crianças" elemento para estender o elemento "pessoa". Sob tais circunstâncias, podemos fazê-lo, mesmo que o autor do esquema acima não declarar qualquer "crianças" elemento.

Olhe para este arquivo de esquema chamado "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>

O arquivo XML a seguir (com o nome "Myfamily.xml"), usaram dados de dois ingredientes esquema diferente, "family.xsd" e "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>

Acima do arquivo XML é válido, o que é devido ao esquema "family.xsd" Nós permitida após elementos "Sobrenome" elementos opcionais para expandir elemento "pessoa".

<Any> e <anyAttribute> pode ser usado para criar documentos escalável! Eles têm a capacidade de fazer o documento não conter uma declaração do esquema XML principal através de elementos adicionais.