複合型の拡張の例

要素宣言の追加

XML Schema文書の例

<?xml version="1.0" encoding="Shift_JIS" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="果物" type="extenType" />
 
  <xs:complexType name="fruitType">
    <xs:sequence>
      <xs:element name="名前" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
 
  <xs:complexType name="extenType">
    <xs:complexContent>
      <xs:extension base="fruitType">
        <xs:sequence>
          <xs:element name="価格" type="xs:integer" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>

妥当なXML文書の例
<?xml version="1.0" encoding="Shift_JIS" ?>
<果物>
  <名前>キウイ</名前>
  <価格>150</価格>
</果物>

妥当でないXML文書の例
<?xml version="1.0" encoding="Shift_JIS" ?>
<果物>
  <価格>150</価格>
  <名前>キウイ</名前>
</果物>

妥当でないXML文書の例
<?xml version="1.0" encoding="Shift_JIS" ?>
<果物>
  <名前>キウイ</名前>
</果物>

属性宣言の追加

XML Schema文書の例

<?xml version="1.0" encoding="Shift_JIS" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="果物" type="extenType" />
 
  <xs:complexType name="fruitType">
    <xs:sequence>
      <xs:element name="名前" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
 
  <xs:complexType name="extenType">
    <xs:complexContent>
      <xs:extension base="fruitType">
        <xs:attribute name="産地" type="xs:string" use="required" />
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>

妥当なXML文書の例
<?xml version="1.0" encoding="Shift_JIS" ?>
<果物 産地="ニュージーランド">
  <名前>キウイ</名前>
</果物>

妥当でないXML文書の例
<?xml version="1.0" encoding="Shift_JIS" ?>
<果物>
  <名前>キウイ</名前>
</果物>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License