Re: Allowing only a fixed length or empty for an element

<xs:pattern value="([0-9]{4})?"/>

It's like Perl Regular Expressions:
? = 0 or 1
+ = 1 or more
* = 0 or more

^ and $ (beginning and end of string) are implicit,
unlike in Perl.

--- Wilde Rebecca L SSgt HQ SSG/STS <Rebecca.Wilde@Gunter.AF.mil> wrote:
> 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:18:22 UTC