Hi Folks,

I have an input field that is fixed length (3). If there is no data, the field 
is to be populated with a hyphen (of course, it must be padded with spaces to 
the required length). The schema has a simpleType with enumeration facets. Some 
enumeration values are less than the required length. 

Here's how I specify the field:

<xs:element name="Foo" 
    nillable="true"
    dfdl:nilKind="literalValue"
    dfdl:nilValue="-"
    dfdl:lengthKind="explicit" 
    dfdl:length="3" 
    dfdl:textTrimKind="padChar"
    dfdl:textPadKind="padChar"
    dfdl:textStringPadCharacter="%SP;"
    dfdl:textStringJustification="center">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:enumeration value="AB"/>
            <xs:enumeration value="ABC"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

Notice dfdl:textStringJustification="center" which is fine for the nillable 
value (hyphen) but not for a regular value such as AB which should be left 
justified. As the schema is, the input could contain this (assume slash 
separators):

.../ AB/...

which is incorrect.

So, there are conflicting requirements: the nillable value needs 
dfdl:textStringJustification="center" whereas the normal values need 
dfdl:textStringJustification="left". What to do about this?

/Roger

Reply via email to