최신 웹 개발 튜토리얼
 

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") , 서로 다른 스키마의 요소를 사용; "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> 요소는 확장 문서를 확인하는 데 사용됩니다! 그들은 문서를 주 XML 스키마에 선언되지 않은 추가 요소를 포함 할 수 있습니다.