[Home] [By Thread] [By Date] [Recent Entries]

  • From: Olivier Rossel <olivier.rossel@g...>
  • To: xml-dev@l...
  • Date: Mon, 11 Jan 2010 15:38:05 +0100

I wish I could create a modular schema, where I can override some
definitions in future versions
of the schema.
At the moment, I plan to use substitutionGroup, but I am still unsure
of the original schema
to define.

Here is for example the schema for a <optionalAttribute> element:

   <xs:element name="optionalAttribute" type="optionalAttribute_type">
   </xs:element>

  <xs:complexType name="optionalAttribute_type" mixed="true">
     <xs:group ref="optionalAttribute_elements"/>
     <xs:attributeGroup ref="optionalAttribute_attributes"/>
   </xs:complexType>

   <xs:attributeGroup name="optionalAttribute_attributes">
   </xs:attributeGroup>

   <xs:group name="optionalAttribute_elements">
   </xs:group>

This schema is pretty much hollow. No specified attribute, no specified inner
content (except textual content, via the mixed="true")

I hope such a schema to validate this XML with no problem:

<optionalAttribute
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Issue1.xsd" >
text
</optionalAttribute>


Unfortunately, this schema is invalid : It is illegal to create an
empty "optionalAttribute_elements" group.
What is the correct way to define a group that contains nothing? or just text?

Note: Please keep in mind that this schema is engineered that way so
future versions of the schema can heavily refactor the groups, via
xsd:substitutionGroup).


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member