XML 스키마 튜토리얼login
XML 스키마 튜토리얼
작가:php.cn  업데이트 시간:2022-04-20 14:13:02

XML 스키마 anyAttribute 요소


XSD <anyAttribute> 요소


<anyAttribute> 요소는 스키마에서 지정하지 않은 속성으로 XML 문서를 확장하는 기능을 제공합니다!


<anyAttribute> 요소는 스키마에서 지정하지 않은 속성으로 XML 문서를 확장하는 기능을 제공합니다.

아래 예는 "family.xsd"라는 XML 스키마의 조각입니다. 이는 "person" 요소에 대한 선언을 보여줍니다. <anyAttribute> 요소를 사용하면 "person" 요소에 원하는 만큼의 속성을 추가할 수 있습니다.

<xs:element name="person">
​ <xs:복합 유형>
​​ <xs:순서>
                        <xs:element name="firstname" type="xs:string"/>
                        <xs:element name="성" type="xs:string"/>
​​ </xs:순서>
​​ <xs:anyAttribute/>
​ </xs:complexType>
</xs:element>

이제 "gender" 속성을 사용하여 "person" 요소를 확장하려고 합니다. 이 경우 스키마 작성자가 "성별" 속성을 선언하지 않았더라도 이를 수행할 수 있습니다.

"attribute.xsd"라는 이름의 이 스키마 파일을 참조하십시오.

<?xml version="1.0" 인코딩="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:속성 이름="성별">
​ <xs:simpleType>
​​ <xs:restriction base="xs:string">
                        <xs:pattern value="남성|여성"/>
​​ </xs:제한>
​ </xs:simpleType>
</xs:attribute>

</xs:schema>

다음 XML("Myfamily.xml")은 다양한 스키마 "family.xsd" 및 "attribute.xsd"의 구성 요소를 사용합니다.

<?xml version="1.0" 인코딩="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 attribute.xsd">

<사람 성별="여성">
<이름>헤게</이름>
<성>참조</lastname>
</person>

<사람 성별="남성">
<이름>오래된</이름>
<lastname>Refsnes</lastname>
</person>

</persons>

위의 XML 파일은 "family.xsd" 스키마를 사용하여 "person" 요소 속성에 추가할 수 있으므로 유효합니다. .

<any> 및 <anyAttribute> 모두 확장 가능한 문서를 만드는 데 사용할 수 있습니다. 이는 문서에 기본 XML 스키마에 선언되지 않은 추가 요소를 포함하는 기능을 제공합니다.

PHP 중국어 웹사이트