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>
<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>
<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>
<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 스키마에 선언되지 않은 추가 요소를 포함하는 기능을 제공합니다.