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


Hi Marc,

The behaviour you describe is correct.  As you know, 
<DESTINATION_SYSTEM_ID/> is equivalent to
<DESTINATION_SYSTEM_ID></DESTINATION_SYSTEM_ID> and none of the specified 
enumerations match "".

I personally don't see how an "empty element" can be considered equivalent 
to an "omitted element",  (e.g. consider <br /> in (early) (X)HTML), so 
changing the data source seems the correct thing.  If reality does not allow 
that, you could add an additional enumeration of the form:

<xs:enumeration value=""/>

But that would probably require additional application layer processing to 
fix it up!

HTH,

Pete.
--
=============================================
Pete Cordell
for XML to C++ data binding visit
http://www.tech-know-ware.com/lmx
=============================================

----- Original Message ----- 
From: "Lawson, Marc" <mlawson@r...>
To: <xml-dev@l...>
Sent: Thursday, November 10, 2005 5:47 PM
Subject:  Optional elements and restrictions


Hi,

In my schema, I have an "optional" element that looks like this:

<xs:element name="DESTINATION_SYSTEM_ID" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="TRUST_PROD"/>
<xs:enumeration value="TRUST_TEST"/>
<xs:enumeration value="PENSION_PROD"/>
<xs:enumeration value="PENSION_TEST"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


My instance document will fail validation if the element is provided
without any data, as in...

<DESTINATION_SYSTEM_ID/>

However, the instance document will pass validation if the element is
omitted altogether.

I am hearing that it is best practice to allow both scenarios - the
"empty element" and the "omitted element" - in documents that are
provided.  Do I need to tell the company that is sending the file to
omit the element if it doesn't have data, or can I restructure the
schema to only validate elements that have data?

Any input is appreciated!
Marc Lawson




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