问题
What would be the correct XML Schema 1.0 declaration for a
<notice xml:lang="en">Banana banana banana</notice>
where:
- The xml:lang attribute is compulsory
- The value "en" is fixed and compulsory
- The content of notice is simple text.
- The content of notice is fixed (as above) and compulsory?
My best (but wrong) effort is the following fragment:
<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>
回答1:
<?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>
来源:https://stackoverflow.com/questions/9695635/xml-schema-for-a-fixed-element-with-a-fixed-attribute