elementFormDefault = "qualified", attributeFormDefault = "unqualified" : elementFormDefault « XML Schema « XML






elementFormDefault = "qualified", attributeFormDefault = "unqualified"


<?xml version = "1.0" ?> 
<schema xmlns = "http://www.w3.org/2001/XMLSchema"
        targetNamespace = "http://www.java2s.com/employees"
        xmlns:cust = "http://www.java2s.com/employees"
        elementFormDefault = "qualified"
        attributeFormDefault = "unqualified">
   
   <element name = "employee" type = "cust:employeeType" />
   
   <complexType name = "employeeType">
      <sequence>
         <element name = "FirstName" type = "string" />
         <element name = "MiddleInitial" type = "string" />
         <element ref = "cust:LastName" />
      </sequence>
      <attribute name = "clubCardMember" type = "boolean" />
      <attribute ref = "cust:employeeID" />
   </complexType>
   
   <element name = "LastName" type = "string" />
   <attribute name = "employeeID" type = "integer" />
   
</schema>

The following instance document will not work:
<?xml version = "1.0" ?>
<employee xmlns = "http://www.java2s.com/employees"
          employeeID = "2442"
          clubCardMember = "true">
   <FirstName>first</FirstName>
   <MiddleInitial>middle</MiddleInitial>
   <LastName>last</LastName>
</employee>

The schema is expecting that we qualify the globally declared attribute name.
It wants to see the following: 

<?xml version = "1.0" ?>
<employee xmlns = "http://www.java2s.com/employees"
          xmlns:cust = "http://www.java2s.com/employees"
          clubCardMember = "true"
          cust:employeeID = "2442">
   <FirstName>first</FirstName>
   <MiddleInitial>middle</MiddleInitial>
   <LastName>last</LastName>
</employee>

 








Related examples in the same category

1.elementFormDefault="unqualified"
2.Requiring All Elements and Attributes Be Qualified
3.attributeGroup for elementFormDefault = "qualified"
4.using local element declarations for the children of the employee element
5.If the schema had a value of unqualified for elementFormDefault it would look like so RussianDoll_eu_au.xml
6.Each element and attribute is declared globally
7.elementFormDefault=unqualified Salami Slice