1. ホーム
  2. Web プログラミング
  3. XML/RSS

XML Schema の elementFormDefault 属性の紹介

2022-01-19 06:51:24

elementFormDefault 属性は名前空間に関連しており、修飾または非修飾に設定することができます。

qualifiedに設定した場合。

XML ドキュメントでローカル要素を使用する場合、修飾された短い名前を接頭辞として使用する必要がある

sean.xsd.

<?xml version="1.0" encoding="UTF-8"? >
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:sean="http://sean.com"
 targetNamespace="http://sean.com"
 elementFormDefault="qualified">
 <xs:element name="book_list">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="book" type="xs:string"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
</xs:schema>



sean.xml。

<?xml version="1.0" encoding="UTF-8"? >
<sean:book_list xmlns:sean="http://sean.com" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://sean.com sean.xsd">
 <sean:book>test</sean:book>
</sean:book_list>


unqualifiedに設定されている場合。

XML 文書でローカル要素を使用する場合、修飾された短い名前を省略することができます。

sean.xsd.

<?xml version="1.0" encoding="UTF-8"? >
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:sean="http://sean.com"
 targetNamespace="http://sean.com"
 elementFormDefault="unqualified">
 <xs:element name="book_list">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="book" type="xs:string"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
</xs:schema>



sean.xml。

<?xml version="1.0" encoding="UTF-8"? >
<sean:book_list xmlns:sean="http://sean.com" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://sean.com sean.xsd">
 <book>test</book>
</sean:book_list>



だいぶ間接的になるものの、名前空間がなくなるのであまり理解できない

同様の属性に attributeFormDefault があり、そのルールは elementFormDefault と同じです。

以上、XML SchemaのelementFormDefault属性についてお伝えしましたが、参考にしていただき、BinaryDevelopをより活用していただければと思います。