Allowing only a fixed length or empty for an element

Hello,

I am trying to create a type that allows either a four position numeric
or else must be an empty tag.

I.E. I want <Tag/> or <Tag>0045</Tag> to be valid, but I don't want
<Tag>45</Tag> to be validated.

I've come up with the following to try and do this:

<xs:element name="Tag" type="TagType"/>
<xs:simpleType name="TagType">
  <xs:restriction base="xs:string">
    <xs:pattern value="([0-9]{4})|[ ]{0}"/>
  </xs:restriction>
</xs:simpleType>

I'm using XMLSpy to help me as an editor for creating most of my work
and validating it.  The above will allow me to validate/not validate as
I desired, but when others try to use XMLSpy to validate against it as
an empty tag, it comes back invalid.  

Is this a problem with XMLSpy, or is there a different way I should be
trying to accomplish my goal?

Thank you!
Becky

Received on Wednesday, 6 October 2004 20:10:55 UTC