具有固定属性的固定元素的XML Schema?

问题描述 投票:6回答:1

什么是正确的XML Schema 1.0声明

<notice xml:lang="en">Banana banana banana</notice>

哪里:

  1. xml:lang属性是必需的
  2. 值“en”是固定的和强制性的
  3. 通知内容是简单的文字。
  4. 通知的内容是固定的(如上所述)和强制性的?

我最好的(但错误的)努力是以下片段:

<xs:element name="notice" use="required" fixed="Banana banana banana">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension>
        <xs:attribute ref="xml:lang" use="required" fixed="en"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
xsd xsd-1.0
1个回答
9
投票
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" />
  <xs:element name="notice" type="notice"/>
    <xs:complexType name="notice">
      <xs:simpleContent>
        <xs:extension base="CONTENT">
          <xs:attribute ref="xml:lang" use="required" fixed="en"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  <xs:simpleType name="CONTENT">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Banana banana banana"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
© www.soinside.com 2019 - 2024. All rights reserved.