Hi Folks, Dinner time!
My input contains a fixed-length (9) field. The field contains data about dinner time. Dinner time can be expressed using a word, like this: .../ASAP /... Or, it can contain a month-day-hour-minute-timezone value, like this: .../09190935Z/... My DFDL schema works fine if I have this choice: <xs:element name="DinnerTime" type="DinnerTime-complexType" dfdl:lengthKind="explicit" dfdl:length="9" /> <xs:complexType name="DinnerTime-complexType"> <xs:choice> <xs:element ref="Word" /> <xs:element ref="MonthDayTime" /> </xs:choice> </xs:complexType> But there is actually a third way to express dinner time: day-hour-minute-timezone: <xs:complexType name="DinnerTime-complexType"> <xs:choice> <xs:element ref="Word" /> <xs:element ref="MonthDayTime" /> <xs:element ref="DayTime" /> </xs:choice> </xs:complexType> As soon as I add that third way, I start getting a ton of warning messages: [warn] Schema Definition Warning: DFDL property was ignored: textStandardBase="10" [warn] Schema Definition Warning: DFDL property was ignored: textNumberPattern="00" [warn] Schema Definition Warning: DFDL property was ignored: textNumberRounding="pattern" [warn] Schema Definition Warning: DFDL property was ignored: textNumberRep="standard" [warn] Schema Definition Warning: DFDL property was ignored: textNumberCheckPolicy="strict" Why am I getting all those warnings? Here is my DFDL schema: <xs:schema xmlns:dfdl=http://www.ogf.org/dfdl/dfdl-1.0/ xmlns:xs=http://www.w3.org/2001/XMLSchema> <xs:include schemaLocation="../default-dfdl-properties/defaults.dfdl.xsd" /> <xs:annotation> <xs:appinfo source=http://www.ogf.org/dfdl/> <dfdl:format ref="default-dfdl-properties" /> </xs:appinfo> </xs:annotation> <xs:element name="Test"> <xs:complexType> <xs:sequence dfdl:separator="%NL;" dfdl:separatorPosition="infix"> <xs:element name="Line" maxOccurs="unbounded"> <xs:complexType> <xs:sequence dfdl:separator="/" dfdl:separatorPosition="infix"> <xs:element name="A" type="xs:string" /> <xs:element ref="DinnerTime" /> <xs:element name="B" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DinnerTime" type="DinnerTime-complexType" dfdl:lengthKind="explicit" dfdl:length="9" /> <xs:complexType name="DinnerTime-complexType"> <xs:choice> <xs:element ref="Word" /> <xs:element ref="MonthDayTime" /> <xs:element ref="DayTime" /> </xs:choice> </xs:complexType> <xs:element name="Word" type="Word_simpleType" dfdl:textTrimKind="padChar" dfdl:textPadKind="padChar" dfdl:textStringPadCharacter="%SP;" dfdl:textStringJustification="left"> <xs:annotation> <xs:appinfo source=http://www.ogf.org/dfdl/> <dfdl:assert>{ dfdl:checkConstraints(.) }</dfdl:assert> </xs:appinfo> </xs:annotation> </xs:element> <xs:simpleType name="Word_simpleType"> <xs:restriction base="xs:string"> <xs:enumeration value="ASAP"/> </xs:restriction> </xs:simpleType> <xs:element name="MonthDayTime"> <xs:complexType> <xs:sequence dfdl:separator=""> <xs:element ref="Month"/> <xs:element ref="Day"/> <xs:element ref="Hour"/> <xs:element ref="Minute"/> <xs:element ref="TimeZone"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="DayTime"> <xs:complexType> <xs:sequence dfdl:separator=""> <xs:element ref="Day"/> <xs:element ref="Hour"/> <xs:element ref="Minute"/> <xs:element ref="TimeZone"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Month" type="xs:unsignedInt" dfdl:lengthKind="explicit" dfdl:length="2" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="00" dfdl:textStandardGroupingSeparator="," dfdl:textStandardDecimalSeparator="." dfdl:textStandardBase="10" dfdl:textNumberRounding="pattern"> </xs:element> <xs:element name="Day" type="xs:unsignedInt" dfdl:lengthKind="explicit" dfdl:length="2" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="00" dfdl:textStandardGroupingSeparator="," dfdl:textStandardDecimalSeparator="." dfdl:textStandardBase="10" dfdl:textNumberRounding="pattern"> </xs:element> <xs:element name="Hour" type="xs:unsignedInt" dfdl:lengthKind="explicit" dfdl:length="2" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="00" dfdl:textStandardGroupingSeparator="," dfdl:textStandardDecimalSeparator="." dfdl:textStandardBase="10" dfdl:textNumberRounding="pattern"> </xs:element> <xs:element name="Minute" type="xs:unsignedInt" dfdl:lengthKind="explicit" dfdl:length="2" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="00" dfdl:textStandardGroupingSeparator="," dfdl:textStandardDecimalSeparator="." dfdl:textStandardBase="10" dfdl:textNumberRounding="pattern"> </xs:element> <xs:element name="TimeZone" type="TimeZone_simpleType" dfdl:lengthKind="explicit" dfdl:length="1"> <xs:annotation> <xs:appinfo source=http://www.ogf.org/dfdl/> <dfdl:assert>{ dfdl:checkConstraints(.) }</dfdl:assert> </xs:appinfo> </xs:annotation> </xs:element> <xs:simpleType name="TimeZone_simpleType"> <xs:restriction base="xs:string"> <xs:enumeration value="Z"/> </xs:restriction> </xs:simpleType> </xs:schema>