Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XML Schema for a fixed element with a fixed attribute?

Tags:

xsd

xsd-1.0

What would be the correct XML Schema 1.0 declaration for a

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

where:

  1. The xml:lang attribute is compulsory
  2. The value "en" is fixed and compulsory
  3. The content of notice is simple text.
  4. 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>
like image 215
Sean B. Durkin Avatar asked Mar 14 '12 03:03

Sean B. Durkin


1 Answers

<?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>
like image 87
InfantPro'Aravind' Avatar answered Oct 02 '22 18:10

InfantPro'Aravind'