[
Lists Home |
Date Index |
Thread Index
]
on 2/6/02 2:48 PM, CHIUSANO, Joseph at JCHIUSANO@lmi.org wrote:
> I am using this simple type for several local elements. I would also like to
> declare another simple type (for example, called "SomeNewCodeType") which will
> also be string length 5. I can certainly declare it as follows:
>
> <xsd:simpleType name = "SomeNewCodeType">
> <xsd:restriction base = "xsd:string">
> <xsd:maxLength value = "5" fixed = "true"/>
> </xsd:restriction>
> </xsd:simpleType>
>
> However, I'd like to define the "SomeNewCodeType" simple type as type
> "String5VariableType" if possible. The only way I see that this can be done
> is by declaring a restriction with a base type of "String5VariableType" and
> then specifying a facet such as maxInclusive of "99999" (to have something
> listed as a restriction), or perhaps a regular expression - but this seems
> awful kludgy.
By specifying fixed="true" you are saying that the value for this type is
fixed, and that value is "true". Is that what you want, or are you trying to
define an enumeration consisting of a fixed set of tokens? If it is the
latter, you might try:
<simpleType name="SomeNewCodeType">
<restriction base="NCName">
<enumeration value="Foo"/>
<enumeration value="Bar"/>
...
</restriction>
</simpleType>
If, on the other hand, the value is numeric, for example, a 32-bit hex value
preceded by a # sign, you may define the type as:
<simpleType name="Hex32">
<restriction base="string">
<length value="9"/>
<maxLength value="9"/>
<minLength value="9"/>
<pattern value="#[0-9a-fA-F]{8}"/>
</restriction>
</simpleType>
There is nothing kludgy about using facets that include regular expressions.
It all depends on what you want the end result to be.
Hope this helps.
Ramesh
|