blob: d1cc674be11302756899383067d4b1178ebbb91e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<tdml:testSuite suiteName="text-number-properties"
description="Text Number Properties" xmlns:tdml="http://www.ibm.com/xmlns/dfdl/testData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ct="http://w3.ibm.com/xmlns/dfdl/ctInfoset"
xmlns:ex="http://example.com" xmlns="http://example.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<tdml:defineSchema name="textNumberPattern">
<dfdl:format ref="ex:daffodilTest1" lengthKind="delimited" />
<xs:element name="tnp01" type="xs:int" dfdl:textNumberRep="standard" dfdl:textStandardBase="16" dfdl:textNumberPattern="0000" />
<xs:element name="tnp02" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern=";0000" />
<xs:element name="tnp03" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="0000;" />
<xs:element name="tnp04">
<xs:complexType>
<xs:sequence dfdl:separator=",">
<xs:element name="e" type="xs:float" minOccurs="3" dfdl:textNumberRep="standard" dfdl:textNumberPattern="+##0.00;(0##0.00)" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tnp05" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="000.0#E0" />
<xs:element name="tnp06" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'##0.00" dfdl:textStandardDecimalSeparator="."/>
<xs:element name="tnp07" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="$##0.00" dfdl:textStandardDecimalSeparator="."/>
<xs:element name="tnp08" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="## o''clock" />
<xs:element name="tnp09" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="0000;$###### 'is negative!'" dfdl:textStandardDecimalSeparator="."/>
<xs:element name="tnp15" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.00" dfdl:textStandardDecimalSeparator="^" />
<xs:element name="tnp16" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.00" dfdl:textStandardDecimalSeparator="" />
<xs:element name="tnp17">
<xs:complexType>
<xs:sequence dfdl:separator="|">
<xs:element name="decsep" type="xs:string"/>
<xs:element name="e" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="0.00" dfdl:textStandardDecimalSeparator="{ ../ex:decsep }" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tnp18" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.00" dfdl:textStandardDecimalSeparator="%WSP;" />
<xs:element name="tnp19" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.00" dfdl:textStandardDecimalSeparator="%SP;" />
<xs:element name="tnp20" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0." dfdl:textStandardDecimalSeparator="^" />
<xs:element name="tnp21" type="xs:double" dfdl:textNumberRep="standard" dfdl:textNumberPattern="###,###,##0.00" dfdl:textStandardGroupingSeparator=","
dfdl:textStandardDecimalSeparator="." />
<xs:element name="tnp22" type="xs:double" dfdl:textNumberRep="standard" dfdl:textNumberPattern="###,###,##0.00" dfdl:textStandardGroupingSeparator=":"
dfdl:textStandardDecimalSeparator="." />
<xs:element name="tnp23" type="xs:double" dfdl:textNumberRep="standard" dfdl:textNumberPattern="###,###,##0.00" dfdl:textStandardGroupingSeparator="."
dfdl:textStandardDecimalSeparator="." />
<xs:element name="tnp24" type="xs:double" dfdl:textNumberRep="standard" dfdl:textNumberPattern="###,###,##0.00" dfdl:textStandardGroupingSeparator=""
dfdl:textStandardDecimalSeparator="." />
<xs:element name="tnp25">
<xs:complexType>
<xs:sequence dfdl:separator="|">
<xs:element name="grpsep" type="xs:string"/>
<xs:element name="e" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###" dfdl:textStandardGroupingSeparator="{ ../ex:grpsep }"
dfdl:textStandardDecimalSeparator="." />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tnp26" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#.##" dfdl:textStandardDecimalSeparator=". , *"/>
<xs:element name="tnp27" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="$'#'#0.00" dfdl:textStandardDecimalSeparator="."/>
<xs:element name="tnp28" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="'optional:'0000" />
<xs:element name="tnp29" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="'$'0000" />
<xs:element name="tnp30" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict"
dfdl:textNumberPattern="#,##0.0#;(#)" dfdl:textStandardDecimalSeparator="."/>
<xs:element name="tnp10" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern=" 0000 " />
<xs:element name="tnp12" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="##" />
<xs:element name="tnp31" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern=" #### " />
<xs:element name="tnp32" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="#### " />
<xs:element name="tnp33" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="####" />
<xs:element name="tnp34" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="#" />
<xs:element name="tnp35" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern="0" />
<xs:element name="tnp36" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="lax" dfdl:textNumberPattern=" ####" />
<xs:element name="tnp11" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern=" 0000 " />
<xs:element name="tnp13" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPattern="##" />
<xs:element name="tnp37" type="xs:double" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.#" dfdl:textStandardDecimalSeparator="|" />
<xs:element name="tnp38" type="xs:decimal" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.#" dfdl:textStandardDecimalSeparator="|" />
<xs:element name="tnp39">
<xs:complexType>
<xs:sequence dfdl:separator="|">
<xs:element name="e" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="0.00" dfdl:textStandardDecimalSeparator="{ ../ex:decsep }" />
<xs:element name="decsep" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tnp40" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#0.#" dfdl:textStandardDecimalSeparator="%#r2E;" />
<xs:element name="tnp41">
<xs:complexType>
<xs:sequence dfdl:separator="|">
<xs:element name="e" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###" dfdl:textStandardGroupingSeparator="{ ../ex:grpsep }"
dfdl:textStandardDecimalSeparator="." />
<xs:element name="grpsep" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tnp42" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###" dfdl:textStandardGroupingSeparator="%NL;" />
<xs:element name="tnp43" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###" dfdl:textStandardGroupingSeparator="%CR;" />
<xs:element name="tnp44" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###,###" dfdl:textStandardGroupingSeparator="%#r5B;" />
<!--
For example, if the primary grouping interval is 3, and the secondary is 2, then this corresponds to the pattern "#,##,##0", and the number 123456789 is formatted as "12,34,56,789". If a pattern contains multiple grouping separators, the interval between the last one and the end of the integer defines the primary grouping size, and the interval between the last two defines the secondary grouping size. All others are ignored, so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<xs:element name="tnp45" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict"
dfdl:textNumberPattern="#,##,###,####" dfdl:textStandardGroupingSeparator="," />
<xs:element name="tnp46" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberCheckPolicy="strict"
dfdl:textNumberPattern="#,###,###,###" dfdl:textStandardGroupingSeparator="," />
<xs:element name="tnp47" type="xs:float" dfdl:textNumberPattern="PP000"/>
<xs:element name="tnp48" type="xs:float" dfdl:textNumberPattern="000PP"/>
<xs:element name="tnp49" type="xs:float" dfdl:textNumberPattern="0.###E0" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp50" type="xs:float" dfdl:textNumberPattern="0.###E00" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp51" type="xs:float" dfdl:textNumberPattern="0.###E+0" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp52" type="xs:float" dfdl:textNumberPattern="00.###E0" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp53" type="xs:float" dfdl:textNumberPattern="##,###.##E0" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp54" type="xs:int" dfdl:textNumberPattern="*x#,###" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp55" type="xs:int" dfdl:textNumberPattern="*x#*n,###" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp56" type="xs:int" dfdl:textNumberPattern="* #0 o''clock" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp57" type="xs:int" dfdl:textNumberPattern="data:* #,###;(data:* #,###)" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp58" type="xs:int" dfdl:textNumberPattern="#*> right" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp59" type="xs:int" dfdl:textNumberPattern="# Items*$" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp60" type="xs:int" dfdl:textNumberPattern="#*[Items*]" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp61" type="xs:int" dfdl:textNumberPattern="**#" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp62" type="xs:int" dfdl:textNumberPattern="*##" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp63" type="xs:int" dfdl:textNumberPattern="#*" dfdl:textNumberCheckPolicy="strict"/>
<xs:element name="tnp64" type="xs:int" dfdl:textTrimKind="padChar" dfdl:textNumberPattern="*+#"
dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPadCharacter="*" dfdl:textNumberJustification="right"/>
<xs:element name="tnp65" type="xs:int" dfdl:textTrimKind="padChar" dfdl:textNumberPattern="**#"
dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPadCharacter="*" dfdl:textNumberJustification="left"/>
<xs:element name="tnp66" type="xs:int" dfdl:textTrimKind="padChar" dfdl:textNumberPattern="begin: # :end"
dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPadCharacter="*" dfdl:textNumberJustification="center"/>
<xs:element name="tnp67" type="xs:int" dfdl:textTrimKind="padChar" dfdl:textNumberPattern="**#"
dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPadCharacter="*" dfdl:textNumberJustification="right"/>
<xs:element name="tnp68" type="xs:int" dfdl:textTrimKind="padChar" dfdl:textNumberPattern="###;-###"
dfdl:textNumberCheckPolicy="strict" dfdl:textNumberPadCharacter="-" dfdl:textNumberJustification="right"/>
</tdml:defineSchema>
<tdml:defineSchema name="textNumberPattern2">
<dfdl:format initiator=""
terminator="" leadingSkip="0" trailingSkip="0" textBidi="no"
floating="no" encoding="utf-8" byteOrder="bigEndian" alignment="1"
alignmentUnits="bytes" fillByte="f" occursCountKind="implicit"
truncateSpecifiedLengthString="no" ignoreCase="no" representation="text"
lengthKind="delimited" nilValueDelimiterPolicy="both"
emptyValueDelimiterPolicy="none" textStandardZeroRep="0"
documentFinalTerminatorCanBeMissing="yes" initiatedContent="no"
separatorSuppressionPolicy="never" separatorPosition="infix"
textTrimKind="none" textNumberRounding="explicit"
textNumberRoundingIncrement="0.0" textNumberRoundingMode="roundUp"
textStandardInfinityRep="inf" textStandardNaNRep="NaN"
escapeSchemeRef=''
textStandardExponentRep="^" textNumberCheckPolicy="lax" />
<xs:element name="tnp14" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="'$'#0.00" />
<xs:element name="tnp01" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="@@###E0" />
<xs:element name="tnp02" type="xs:float" dfdl:textNumberRep="standard" dfdl:textNumberPattern="@@@" />
<xs:element name="tnp03" type="xs:int" dfdl:textNumberRep="standard" dfdl:textNumberPattern="#,###" />
</tdml:defineSchema>
<!--
Test Name: textNumberPattern_baseConflict
Schema: textNumberPattern
Root: tnp01
Purpose: This test demonstrates that when dfdl:textNumberRep is 'standard', the textNumberPattern
property only applies when dfdl:textStandardBase is 10. Because the base is 16, the
property will be ignored and the number will be represented as the minimum number of characters to represent the digits
-->
<tdml:parserTestCase name="textNumberPattern_baseConflict" root="tnp01" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-048R">
<tdml:document>
<tdml:documentPart type="text">42</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp01>42</tnp01>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_positiveMandatory
Schema: textNumberPattern
Root: tnp02
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates
that the first part is mandatory (applies to positive numbers).
-->
<tdml:parserTestCase name="textNumberPattern_positiveMandatory" root="tnp02" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-067R">
<tdml:document>
<tdml:documentPart type="text">42</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeOptional
Schema: textNumberPattern
Root: tnp03
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates
that the second part is optional (applies to negative numbers). When the negative portion is not included,
the positive portion is prefixed with a minus sign.
-->
<tdml:parserTestCase name="textNumberPattern_negativeOptional" root="tnp03" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-072R">
<tdml:document>
<tdml:documentPart type="text">-6000</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp03>-6000</tnp03>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored01
Schema: textNumberPattern
Root: tnp04
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored01" root="tnp04" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">(4030.00),+30.00,(0330.00),+6.00,(06.00)</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored02
Schema: textNumberPattern
Root: tnp04
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored02" root="tnp04" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">(400.00),+30.00,(30.00),+6.00,(6.00)</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp04>
<e>400</e>
<e>-400</e>
<e>30</e>
<e>-30</e>
<e>6</e>
<e>-6</e>
</tnp04>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored03
Schema: textNumberPattern
Root: tnp09
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored03" root="tnp09" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">$123456 is negative!</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
<tdml:error>Unable to parse</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored04
Schema: textNumberPattern
Root: tnp09
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored04" root="tnp09" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">$0234 is negative!</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp09>-234</tnp09>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored05
Schema: textNumberPattern
Root: tnp30
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored05" root="tnp30" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">(5)</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_negativeIgnored06
Schema: textNumberPattern
Root: tnp30
Purpose: The textNumberPattern comes in two parts separated by a semi-colon. This test demonstrates that
if an explicit negative subpattern is provided, it only specifies the negative prefix and suffix.
The number of digits, minimal digits, and other characteristics are ignored in the negative subpattern.
This textNumberPattern (#,##0.0#;(#)) comes straight from the spec and should behave as #,##0.0#;(#,##0.0#)
-->
<tdml:parserTestCase name="textNumberPattern_negativeIgnored06" root="tnp30" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-073R">
<tdml:document>
<tdml:documentPart type="text">(3,450.00)</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp30>-3450.0</tnp30>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_exponent01
Schema: textNumberPattern
Root: tnp05
Purpose: This test demonstrates the second example of textNumberPattern provided in the spec.
-->
<tdml:parserTestCase name="textNumberPattern_exponent01" root="tnp05" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - DFDL-13-067.1R">
<tdml:document>
<tdml:documentPart type="text">006.54E9</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp05>6.5400003E9</tnp05>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_specialChar01
Schema: textNumberPattern
Root: tnp06
Purpose: This test demonstrates that in order to insert a special character as a literal, the character must
be quoted in the textNumberPattern
-->
<tdml:parserTestCase name="textNumberPattern_specialChar01" root="tnp06" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - Special Chars Literals - DFDL-13-068R">
<tdml:document>
<tdml:documentPart type="text">$49.99</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp06>49.99</tnp06>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_specialChar02
Schema: textNumberPattern
Root: tnp07
Purpose: This test demonstrates that many characters in a pattern are taken literally, and are matched during parsing. You only
need to quote a character to use it literally if that character is one of the special characters with another meaning.
-->
<tdml:parserTestCase name="textNumberPattern_specialChar02" root="tnp07" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - Special Chars Literals - DFDL-13-068R">
<tdml:document>
<tdml:documentPart type="text">$49.99</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp07>49.99</tnp07>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_specialChar03
Schema: textNumberPattern
Root: tnp08
Purpose: This test demonstrates that in order to insert a special character as a literal, the character must
be quoted in the textNumberPattern. In order to insert a literal single quote, you must use two consecutive single quotes.
-->
<tdml:parserTestCase name="textNumberPattern_specialChar03" root="tnp08" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - Special Chars Literals - DFDL-13-069R">
<tdml:document>
<tdml:documentPart type="text">12 o'clock</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp08>12</tnp08>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_specialChar04
Schema: textNumberPattern
Root: tnp07
Purpose: This test demonstrates that in order to insert a special character as a literal, the character must
be quoted in the textNumberPattern. In this case the first # is quoted and should be matched literally in the data.
-->
<tdml:parserTestCase name="textNumberPattern_specialChar04" root="tnp27" model="textNumberPattern"
description="Section 13.6 - Number properties with Text Representation - Special Chars Literals - DFDL-13-068R">
<tdml:document>
<tdml:documentPart type="text">$#49.99</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp27>49.99</tnp27>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax01
Schema: textNumberPattern
Root: tnp28
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
quoted characters may be omitted.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax01" root="tnp28" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp28>1234</tnp28>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax02
Schema: textNumberPattern
Root: tnp10
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax02" root="tnp10" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 0052 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp10>52</tnp10>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax03
Schema: textNumberPattern
Root: tnp10
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax03" root="tnp10" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 000052 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp10>52</tnp10>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax04
Schema: textNumberPattern
Root: tnp12
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax04" root="tnp12" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 0052 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp10>52</tnp10>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax05
Schema: textNumberPattern
Root: tnp29
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax05" root="tnp29" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp29>1234</tnp29>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax06
Schema: textNumberPattern
Root: tnp31
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax06" root="tnp31" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 00003352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp31>3352</tnp31>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax07
Schema: textNumberPattern
Root: tnp32
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax07" root="tnp32" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">00003352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp32>3352</tnp32>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax08
Schema: textNumberPattern
Root: tnp33
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax08" root="tnp33" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">00003352</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp33>3352</tnp33>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax09
Schema: textNumberPattern
Root: tnp34
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax09" root="tnp34" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">03</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp34>3</tnp34>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax10
Schema: textNumberPattern
Root: tnp34
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax10" root="tnp34" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 03 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp34>3</tnp34>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax11
Schema: textNumberPattern
Root: tnp34
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax11" root="tnp34" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp34>3</tnp34>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax12
Schema: textNumberPattern
Root: tnp35
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax12" root="tnp35" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp34>3</tnp34>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax13
Schema: textNumberPattern
Root: tnp33
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax13" root="tnp33" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp33>3352</tnp33>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax14
Schema: textNumberPattern
Root: tnp33
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax14" root="tnp33" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 03352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp33>3352</tnp33>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax15
Schema: textNumberPattern
Root: tnp32
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax15" root="tnp32" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp32>3352</tnp32>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax16
Schema: textNumberPattern
Root: tnp36
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax16" root="tnp36" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3352 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp36>3352</tnp36>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_lax17
Schema: textNumberPattern
Root: tnp36
Purpose: This test demonstrates that when textNumberCheckPolicy is "lax",
leading and trailing whitespace is ignored, along with leading zeros.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_lax17" root="tnp36" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 3352</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp36>3352</tnp36>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict01
Schema: textNumberPattern
Root: tnp11
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed. Whitespace will NOT be ignored.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict01" root="tnp11" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 0052 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp11>52</tnp11>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict02
Schema: textNumberPattern
Root: tnp11
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict02" root="tnp11" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 52 </tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp11>52</tnp11>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict03
Schema: textNumberPattern
Root: tnp13
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict03" root="tnp13" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">052</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp13>52</tnp13>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict04
Schema: textNumberPattern
Root: tnp13
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed. Whitespace is NOT ignored.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict04" root="tnp13" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text"> 52 </tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict05
Schema: textNumberPattern
Root: tnp13
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed. Whitespace is NOT ignored.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict05" root="tnp13" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">000000000005</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp13>5</tnp13>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict06
Schema: textNumberPattern
Root: tnp13
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed. Whitespace is NOT ignored.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict06" root="tnp13" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">5</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp13>5</tnp13>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberCheckPolicy_strict07
Schema: textNumberPattern
Root: tnp13
Purpose: This test demonstrates that when textNumberCheckPolicy is "strict",
the data must follow the pattern, with the exception that digits 0-9, decimal separator and
exponent separator are always recognized and parsed. Whitespace is NOT ignored.
-->
<tdml:parserTestCase name="textNumberCheckPolicy_strict07" root="tnp13" model="textNumberPattern"
description="Section 13.6 - textNumberCheckPolicy - DFDL-13-052R">
<tdml:document>
<tdml:documentPart type="text">555</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp13>555</tnp13>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator01
Schema: textNumberPattern2
Root: tnp14
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.)
-->
<tdml:parserTestCase name="textStandardDecimalSeparator01" root="tnp14" model="textNumberPattern2"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$5.00</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Property textStandardDecimalSeparator is not defined</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator02
Schema: textNumberPattern
Root: tnp15
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.).
-->
<tdml:parserTestCase name="textStandardDecimalSeparator02" root="tnp15" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$5^00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp15>5.0</tnp15>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator03
Schema: textNumberPattern
Root: tnp16
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that the empty string is not an allowable value
-->
<tdml:parserTestCase name="textStandardDecimalSeparator03" root="tnp16" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$500</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardDecimalSeparator must not be empty</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator04
Schema: textNumberPattern
Root: tnp17
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that the value can be calculated by expression.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator04" root="tnp17" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">.|5.00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp17>
<decsep>.</decsep>
<e>5.0</e>
</tnp17>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator05
Schema: textNumberPattern
Root: tnp17
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that the value can be calculated by expression.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator05" root="tnp17" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">:|5:00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp17>
<decsep>:</decsep>
<e>5.0</e>
</tnp17>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator06
Schema: textNumberPattern
Root: tnp17
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that the value can be calculated by expression.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator06" root="tnp17" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">:|5.00</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator07
Schema: textNumberPattern
Root: tnp18
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that DFDL character classes are not acceptable.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator07" root="tnp18" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$5 00</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardDecimalSeparator cannot contain WSP</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator08
Schema: textNumberPattern
Root: tnp19
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains a decimal
separator symbol (.), and that DFDL character entities are acceptable.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator08" root="tnp19" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$5 00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp19>5.0</tnp19>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator09
Schema: textNumberPattern
Root: tnp20
Purpose: This test demonstrates that textStandardDecimalSeparator will be ignored when the type isn't
decimal, float, or double
-->
<tdml:parserTestCase name="textStandardDecimalSeparator09" root="tnp20" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">$5</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp20>5</tnp20>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator10
Schema: textNumberPattern
Root: tnp26
Purpose: This test demonstrates that textStandardDecimalSeparator can be a whitespace-separated list of
single characters that appear (individually) in the data as the decimal separator
-->
<tdml:parserTestCase name="textStandardDecimalSeparator10" root="tnp26" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">5*55</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp26>5.55</tnp26>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator11
Schema: textNumberPattern
Root: tnp26
Purpose: This test demonstrates that textStandardDecimalSeparator can be a whitespace-separated list of
single characters that appear (individually) in the data as the decimal separator
-->
<tdml:parserTestCase name="textStandardDecimalSeparator11" root="tnp26" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R">
<tdml:document>
<tdml:documentPart type="text">5,55</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp26>5.55</tnp26>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator12
Schema: textNumberPattern
Root: tnp37
Purpose: This test demonstrates that textStandardDecimalSeparator applies when the type is double
-->
<tdml:parserTestCase name="textStandardDecimalSeparator12" root="tnp37" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R1">
<tdml:document>
<tdml:documentPart type="text">$50|4</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp37>50.4</tnp37>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator13
Schema: textNumberPattern
Root: tnp38
Purpose: This test demonstrates that textStandardDecimalSeparator applies when the type is decimal
-->
<tdml:parserTestCase name="textStandardDecimalSeparator13" root="tnp38" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R1">
<tdml:document>
<tdml:documentPart type="text">$50|4</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp38>50.4</tnp38>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator14
Schema: textNumberPattern2
Root: tnp01
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains the
E symbol
-->
<tdml:parserTestCase name="textStandardDecimalSeparator14" root="tnp01" model="textNumberPattern2"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R2">
<tdml:document>
<tdml:documentPart type="text">12345E8</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Property textStandardDecimalSeparator is not defined</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator15
Schema: textNumberPattern2
Root: tnp02
Purpose: This test demonstrates that textStandardDecimalSeparator must be set when textNumberPattern contains the
@ symbol
-->
<tdml:parserTestCase name="textStandardDecimalSeparator15" root="tnp02" model="textNumberPattern2"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R2">
<tdml:document>
<tdml:documentPart type="text">123</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Property textStandardDecimalSeparator is not defined</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator17
Schema: textNumberPattern
Root: tnp40
Purpose: This test demonstrates that textStandardDecimalSeparator cannot be a raw byte entity
-->
<tdml:parserTestCase name="textStandardDecimalSeparator17" root="tnp40" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R6">
<tdml:document>
<tdml:documentPart type="text">50.0</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardDecimalSeparator cannot contain</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardDecimalSeparator16
Schema: textNumberPattern
Root: tnp39
Purpose: This test demonstrates that textStandardDecimalSeparator can be computed by an expression,
but the expression may not contain references to elements that have not yet been processed.
-->
<tdml:parserTestCase name="textStandardDecimalSeparator16" root="tnp39" model="textNumberPattern"
description="Section 13.6 - textStandardDecimalSeparator - DFDL-13-053R4">
<tdml:document>
<tdml:documentPart type="text">5:00|:</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
<tdml:error>Expression evaluation failed</tdml:error>
<tdml:error>no node for path { ../ex:decsep }</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator01
Schema: textNumberPattern
Root: tnp21
Purpose: This test demonstrates the textStandardGroupingSeparator property
-->
<tdml:parserTestCase name="textStandardGroupingSeparator01" root="tnp21" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R">
<tdml:document>
<tdml:documentPart type="text">5,000,000.00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp21>5000000.0</tnp21>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator02
Schema: textNumberPattern
Root: tnp22
Purpose: This test demonstrates the textStandardGroupingSeparator property
-->
<tdml:parserTestCase name="textStandardGroupingSeparator02" root="tnp22" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R">
<tdml:document>
<tdml:documentPart type="text">5:000:000.00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp22>5000000.0</tnp22>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator03
Schema: textNumberPattern
Root: tnp23
Purpose: This test shows what happens when the textStandardGroupingSeparator is the same character
as the textStandardDecimalSeparator
-->
<tdml:parserTestCase name="textStandardGroupingSeparator03" root="tnp23" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R">
<tdml:document>
<tdml:documentPart type="text">5.000.000.00</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp23>5000000</tnp23>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator04
Schema: textNumberPattern
Root: tnp24
Purpose: This test demonstrates that the empty string is not acceptable for textStandardGroupingSeparator
-->
<tdml:parserTestCase name="textStandardGroupingSeparator04" root="tnp24" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R">
<tdml:document>
<tdml:documentPart type="text">5000000.00</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardGroupingSeparator must not be empty</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator05
Schema: textNumberPattern
Root: tnp25
Purpose: This test demonstrates that textStandardGroupingSeparator can be determined by an expression
-->
<tdml:parserTestCase name="textStandardGroupingSeparator05" root="tnp25" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R">
<tdml:document>
<tdml:documentPart type="text">,|5,000</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp25>
<grpsep>,</grpsep>
<e>5000</e>
</tnp25>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator06
Schema: textNumberPattern2
Root: tnp03
Purpose: This test demonstrates that if textNumberPattern contains a grouping separator, it is a SDE
if the grouping separator is not defined.
-->
<tdml:parserTestCase name="textStandardGroupingSeparator06" root="tnp03" model="textNumberPattern2"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R2">
<tdml:document>
<tdml:documentPart type="text">5,000</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Property textStandardGroupingSeparator is not defined</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator07
Schema: textNumberPattern
Root: tnp41
Purpose: This test demonstrates that the grouping separator can be set by an expression, but the expression cannot
reference elements that have not been processed.
-->
<tdml:parserTestCase name="textStandardGroupingSeparator07" root="tnp41" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R4">
<tdml:document>
<tdml:documentPart type="text">5,000|,</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
<tdml:error>Expression evaluation failed</tdml:error>
<tdml:error>no node for path</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator08
Schema: textNumberPattern
Root: tnp25
Purpose: This test demonstrates that textStandardGroupingSeparator can be determined by an expression
The data has a text representation in bytes
-->
<tdml:parserTestCase name="textStandardGroupingSeparator08" root="tnp25" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R4">
<tdml:document>
<tdml:documentPart type="byte">2C 7C 31 2C 32 33 34</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp25>
<grpsep>,</grpsep>
<e>1234</e>
</tnp25>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator09
Schema: textNumberPattern
Root: tnp25
Purpose: This test demonstrates that textStandardGroupingSeparator can be determined by an expression,
but the grouping separator must be a single character.
-->
<tdml:parserTestCase name="textStandardGroupingSeparator09" root="tnp25" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R4">
<tdml:document>
<tdml:documentPart type="text">decimal|1decimal234</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Runtime Schema Definition Error</tdml:error>
<tdml:error>Length of string must be exactly 1 character</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator10
Schema: textNumberPattern
Root: tnp42
Purpose: This test demonstrates that textStandardGroupingSeparator cannot be a DFDL character class
-->
<tdml:parserTestCase name="textStandardGroupingSeparator10" root="tnp42" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R7">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[3
123]]></tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardGroupingSeparator cannot contain NL</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator11
Schema: textNumberPattern
Root: tnp43
Purpose: This test demonstrates that textStandardGroupingSeparator can be a DFDL character entity
-->
<tdml:parserTestCase name="textStandardGroupingSeparator11" root="tnp43" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R5">
<tdml:document>
<tdml:documentPart type="byte">32 0D 323232</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp43>2222.0</tnp43>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator12
Schema: textNumberPattern
Root: tnp44
Purpose: This test demonstrates that textStandardGroupingSeparator cannot be a raw byte entity
-->
<tdml:parserTestCase name="textStandardGroupingSeparator12" root="tnp44" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-054R6">
<tdml:document>
<tdml:documentPart type="text">5[324[124</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>textStandardGroupingSeparator cannot contain</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator13
Schema: textNumberPattern
Root: tnp45
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator13" root="tnp45" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">123,123,1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1231231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator14
Schema: textNumberPattern
Root: tnp45
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator14" root="tnp45" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">1,12,123,1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1121231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator14b
Schema: textNumberPattern
Root: tnp46
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator14b" root="tnp46" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">1,121,231,234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1121231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator15
Schema: textNumberPattern
Root: tnp45
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator15" root="tnp45" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">12,1,123,1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1211231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator16
Schema: textNumberPattern
Root: tnp45
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,##,###,####" == "###,###,####" == "##,#,###,####".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator16" root="tnp45" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">1,1,1234,1234</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1211231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textStandardGroupingSeparator17
Schema: textNumberPattern
Root: tnp46
Purpose: This test demonstrates that if a pattern contains multiple grouping separators, the interval between
the last one and the end of the integer defines the primary grouping size, and the interval between
the last two defines the secondary grouping size. All others are ignored,
so "#,###,###,###" == "###,#,###,###" == "##,##,###,###".
-->
<tdml:parserTestCase name="textStandardGroupingSeparator17" root="tnp46" model="textNumberPattern"
description="Section 13.6 - textStandardGroupingSeparator - DFDL-13-074R">
<tdml:document>
<tdml:documentPart type="text">123,1,123,123</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp45>1121231234</tnp45>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_pSymbol01
Schema: textNumberPattern
Root: tnp47
Purpose: This test demonstrates the P symbol, which is used to derive the location of an assumed
decimal point. This particular test shows the first example from the spec.
-->
<tdml:parserTestCase name="textNumberPattern_pSymbol01" root="tnp47" model="textNumberPattern"
description="Section 13.6 - P symbol and vpinteger - DFDL-13-075R">
<tdml:document>
<tdml:documentPart type="text">123</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp47>0.00123</tnp47>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_pSymbol02
Schema: textNumberPattern
Root: tnp48
Purpose: This test demonstrates the P symbol, which is used to derive the location of an assumed
decimal point. This particular test shows the second example from the spec.
-->
<tdml:parserTestCase name="textNumberPattern_pSymbol02" root="tnp48" model="textNumberPattern"
description="Section 13.6 - P symbol and vpinteger - DFDL-13-075R">
<tdml:document>
<tdml:documentPart type="text">123</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp48>12300</tnp48>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation01
Schema: textNumberPattern
Root: tnp49
Purpose: This test demonstrates using textStandardPattern to represent scientific notation
This particular test demonstrates the example outlined in the spec
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation01" root="tnp49" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-085R">
<tdml:document>
<tdml:documentPart type="text">1.234E3</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp49>1234.0</tnp49>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation02
Schema: textNumberPattern
Root: tnp50
Purpose: This test demonstrates using textStandardPattern to represent scientific notation.
The number of digits after the E gives the minimum exponent digit count.
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation02" root="tnp50" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-087R">
<tdml:document>
<tdml:documentPart type="text">1.234E3</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation03
Schema: textNumberPattern
Root: tnp51
Purpose: This test demonstrates using textStandardPattern to represent scientific notation.
To prefix positive exponents with a plus sign, specify "+" between the exponent
and the digits: "0.###E+0" will produce formats "1E+1", "1E+0", 1E-1", etc.
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation03" root="tnp51" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-087R">
<tdml:document>
<tdml:documentPart type="text">1.234E+1</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp51>12.34</tnp51>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation04
Schema: textNumberPattern
Root: tnp51
Purpose: This test demonstrates using textStandardPattern to represent scientific notation.
To prefix positive exponents with a plus sign, specify "+" between the exponent
and the digits: "0.###E+0" will produce formats "1E+1", "1E+0", 1E-1", etc.
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation04" root="tnp51" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-087R">
<tdml:document>
<tdml:documentPart type="text">1.234E+0</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp51>1.234</tnp51>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation05
Schema: textNumberPattern
Root: tnp51
Purpose: This test demonstrates using textStandardPattern to represent scientific notation.
To prefix positive exponents with a plus sign, specify "+" between the exponent
and the digits: "0.###E+0" will produce formats "1E+1", "1E+0", 1E-1", etc.
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation05" root="tnp51" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-087R">
<tdml:document>
<tdml:documentPart type="text">1.234E-1</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp51>0.1234</tnp51>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation06
Schema: textNumberPattern
Root: tnp52
Purpose: This test demonstrates using textStandardPattern to represent scientific notation.
The minimum number of integer digits is achieved by adjusting the exponent.
This test demonstrates the parsing version of the example in the spec:
0.00123 formatted with "00.###e0" yields "12.3E-4"
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation06" root="tnp52" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-087R">
<tdml:document>
<tdml:documentPart type="text">12.3E-4</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp52>0.00123</tnp52>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_scientificNotation07
Schema: textNumberPattern
Root: tnp53
Purpose: This test demonstrates that exponential patterns cannot contain grouping separators.
-->
<tdml:parserTestCase name="textNumberPattern_scientificNotation07" root="tnp53" model="textNumberPattern"
description="Section 13 - Text number pattern - Scientific Notation - DFDL-13-091R">
<tdml:document>
<tdml:documentPart type="text">12,123.33E-4</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Invalid textNumberPattern</tdml:error>
<tdml:error>Grouping separator in exponential in pattern "##,###.##E0"</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding01
Schema: textNumberPattern
Root: tnp54
Purpose: This test demonstrates the use of the pad escape character and pad character to pad data.
-->
<tdml:parserTestCase name="textNumberPattern_padding01" root="tnp54" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-092R">
<tdml:document>
<tdml:documentPart type="text">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5,000</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp54>5000</tnp54>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding02
Schema: textNumberPattern
Root: tnp54
Purpose: This test demonstrates the use of the pad escape character and pad character to pad data.
-->
<tdml:parserTestCase name="textNumberPattern_padding02" root="tnp54" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-092R">
<tdml:document>
<tdml:documentPart type="text">xxxxxxxxxxxxxnxxxxxxxxxxxxxxxxxxxxxxxx5,000</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
<tdml:error>Convert to Integer (for xs:int)</tdml:error>
<tdml:error>Unable to parse</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding03
Schema: textNumberPattern
Root: tnp54
Purpose: This test demonstrates the use of the pad escape character and pad character to pad data.
-->
<tdml:parserTestCase name="textNumberPattern_padding03" root="tnp54" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-092R">
<tdml:document>
<tdml:documentPart type="text">xxxxxxxxxxxxx4xxxxxxxxxxxxxxxxxxxxxxxx5,000</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Parse Error</tdml:error>
<tdml:error>Convert to Integer (for xs:int)</tdml:error>
<tdml:error>Unable to parse</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding04
Schema: textNumberPattern
Root: tnp55
Purpose: This test demonstrates the use of the pad escape character and pad character to pad data.
-->
<tdml:parserTestCase name="textNumberPattern_padding04" root="tnp55" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-092R">
<tdml:document>
<tdml:documentPart type="text">xxxxxxxxxxxxxxxxx5nnnn,000</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Invalid textNumberPattern</tdml:error>
<tdml:error>Multiple pad specifiers in pattern</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding05
Schema: textNumberPattern
Root: tnp56
Purpose: This test demonstrates the use of padding.
-->
<tdml:parserTestCase name="textNumberPattern_padding05" root="tnp56" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-092R">
<tdml:document>
<tdml:documentPart type="text"> 12 o'clock</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp56>12</tnp56>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding06
Schema: textNumberPattern
Root: tnp57
Purpose: This test demonstrates that padding can be placed after the prefix of a pattern.
-->
<tdml:parserTestCase name="textNumberPattern_padding06" root="tnp57" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-096R">
<tdml:document>
<tdml:documentPart type="text">data: 4,999</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp57>4999</tnp57>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding07
Schema: textNumberPattern
Root: tnp57
Purpose: This test demonstrates that padding can be placed after the prefix of a pattern.
-->
<tdml:parserTestCase name="textNumberPattern_padding07" root="tnp57" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-096R">
<tdml:document>
<tdml:documentPart type="text">(data: 4,999)</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp57>-4999</tnp57>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding08
Schema: textNumberPattern
Root: tnp58
Purpose: This test demonstrates that padding can be placed before the suffix of a pattern.
-->
<tdml:parserTestCase name="textNumberPattern_padding08" root="tnp58" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-096R">
<tdml:document>
<tdml:documentPart type="text">4>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> right</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp58>4</tnp58>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding09
Schema: textNumberPattern
Root: tnp59
Purpose: This test demonstrates that padding can be placed after the suffix of a pattern.
-->
<tdml:parserTestCase name="textNumberPattern_padding09" root="tnp59" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-096R">
<tdml:document>
<tdml:documentPart type="text">8 Items$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp59>8</tnp59>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding10
Schema: textNumberPattern
Root: tnp60
Purpose: This test demonstrates that padding can be placed after the suffix or before the suffix but not both.
-->
<tdml:parserTestCase name="textNumberPattern_padding10" root="tnp60" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-096R">
<tdml:document>
<tdml:documentPart type="text">8[[Items]]</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Invalid textNumberPattern</tdml:error>
<tdml:error>Multiple pad specifiers in pattern</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding11
Schema: textNumberPattern
Root: tnp61
Purpose: This test demonstrates that the pad character can be any character, even a special pattern character
-->
<tdml:parserTestCase name="textNumberPattern_padding11" root="tnp61" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-097R">
<tdml:document>
<tdml:documentPart type="text">******9</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp61>9</tnp61>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding12
Schema: textNumberPattern
Root: tnp62
Purpose: This test demonstrates that the pad character can be any character, even a special pattern character
-->
<tdml:parserTestCase name="textNumberPattern_padding12" root="tnp62" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-097R">
<tdml:document>
<tdml:documentPart type="text">######2</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp62>2</tnp62>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_padding13
Schema: textNumberPattern
Root: tnp63
Purpose: This test demonstrates that if there is no character after the pad escape, the pattern is illegal.
-->
<tdml:parserTestCase name="textNumberPattern_padding13" root="tnp63" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-097R">
<tdml:document>
<tdml:documentPart type="text">3</tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Schema Definition Error</tdml:error>
<tdml:error>Invalid textNumberPattern</tdml:error>
<tdml:error>Invalid pad specifier in pattern "#*"</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo01
Schema: textNumberPattern
Root: tnp64
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo01" root="tnp64" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">********++++5</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp64>5</tnp64>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo02
Schema: textNumberPattern
Root: tnp65
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo02" root="tnp65" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">****5*****</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp65>5</tnp65>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo03
Schema: textNumberPattern
Root: tnp66
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo03" root="tnp66" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">****begin: 4 :end****</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp66>4</tnp66>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo04
Schema: textNumberPattern
Root: tnp67
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo04" root="tnp67" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">***********************************************************************************************************************************************************************************3</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp67>3</tnp67>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo05
Schema: textNumberPattern
Root: tnp68
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo05" root="tnp68" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">-500</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp68>500</tnp68>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<!--
Test Name: textNumberPattern_paddingCombo06
Schema: textNumberPattern
Root: tnp68
Purpose: This test demonstrates that this padding (within textNumberPattern)
is in addition to any other DFDL text number padding
-->
<tdml:parserTestCase name="textNumberPattern_paddingCombo06" root="tnp68" model="textNumberPattern"
description="Section 13 - Text number pattern - Padding - DFDL-13-098R">
<tdml:document>
<tdml:documentPart type="text">----500</tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<tnp68>500</tnp68>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:defineSchema name="textprops">
<dfdl:format ref="ex:daffodilTest1" initiator=""
terminator="" separator="" separatorSuppressionPolicy="anyEmpty"
separatorPosition="infix" documentFinalTerminatorCanBeMissing="yes"
encoding="ASCII" representation="text" occursCountKind="parsed"
textNumberRep="standard" ignoreCase="no" lengthKind="delimited" textNumberCheckPolicy="strict"
textNumberPattern="#,##0.###;-#,##0.###" />
<xs:element name="dynamic" dfdl:lengthKind="implicit">
<xs:complexType>
<xs:sequence dfdl:separator="|" dfdl:terminator="]">
<xs:element name="decimalSep" type="xsd:string" />
<xs:element name="groupingSep" type="xsd:string" />
<xs:element name="num" type="xsd:double"
dfdl:textStandardDecimalSeparator="{ ../ex:decimalSep }"
dfdl:textStandardGroupingSeparator="{ ../ex:groupingSep }" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dynamicExp" dfdl:lengthKind="implicit">
<xs:complexType>
<xs:sequence dfdl:separator="|" dfdl:terminator="]">
<xs:element name="decimalSep" type="xsd:string" />
<xs:element name="exponentRep" type="xsd:string" />
<xs:element name="num" type="xsd:double"
dfdl:textNumberPattern="###0.###E00;-###0.###E00"
dfdl:textStandardDecimalSeparator="{ ../ex:decimalSep }"
dfdl:textStandardExponentRep="{ ../ex:exponentRep }" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="infnan" dfdl:lengthKind="implicit">
<xs:complexType>
<xs:sequence dfdl:separator="|" dfdl:terminator="]">
<xs:element name="posinf" type="xsd:double" dfdl:textStandardInfinityRep="INFINITY" />
<xs:element name="neginf" type="xsd:double" dfdl:textStandardInfinityRep="INFINITY" />
<xs:element name="nan" type="xsd:double" dfdl:textStandardNaNRep="NOTANUMBER" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="zero" dfdl:lengthKind="implicit">
<xs:complexType>
<xs:sequence dfdl:separator="|" dfdl:terminator="]">
<xs:element name="double" type="xsd:double" minOccurs="1" maxOccurs="unbounded" dfdl:textStandardZeroRep="ZERO NIL ZILCH 5 0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="patternNeg1" dfdl:lengthKind="implicit">
<xs:complexType>
<xs:sequence dfdl:separator="|" dfdl:terminator="]">
<xs:element name="double" type="xsd:double" dfdl:textNumberPattern="#,##0_ERROR_###" />
</xs:sequence>
</xs:complexType>
</xs:element>
</tdml:defineSchema>
<tdml:parserTestCase name="dynamic" root="dynamic"
model="textprops"
description="Parse a double with dynamic text number properties">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[_|^|1^234^567_89]]]></tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<dynamic xmlns="http://www.example.org/example1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0">
<decimalSep>_</decimalSep>
<groupingSep>^</groupingSep>
<num>1234567.89</num>
</dynamic>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="dynamicNeg1" root="dynamic"
model="textprops"
description="Dynamically reads an invalid decimal separator">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[%NL;|^|1^234^567_89]]]></tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Runtime Schema Definition Error: textStandardDecimalSeparator cannot contain NL</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<tdml:parserTestCase name="dynamicNeg2" root="dynamic"
model="textprops"
description="Dynamically reads an invalid grouping separator">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[_|%WSP+;|1^234^567_89]]]></tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Runtime Schema Definition Error: textStandardGroupingSeparator cannot contain WSP+</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<tdml:parserTestCase name="dynamicExp" root="dynamicExp"
model="textprops"
description="Parse a double with dynamic text number properties">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[_|@|1234567_89@2]]]></tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<dynamicExp xmlns="http://www.example.org/example1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0">
<decimalSep>_</decimalSep>
<exponentRep>@</exponentRep>
<num>1.23456789E8</num>
</dynamicExp>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="dynamicExpNeg" root="dynamicExp"
model="textprops"
description="Dynamically reads an invalid exponent representation">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[_|%ES;|1234567_89@2]]]></tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Runtime Schema Definition Error: textStandardExponentRep cannot contain ES</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
<tdml:parserTestCase name="infnan" root="infnan"
model="textprops"
description="Read infinity and not a number">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[INFINITY|-INFINITY|NOTANUMBER]]]></tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<infnan xmlns="http://www.example.org/example1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0">
<posinf>INF</posinf>
<neginf>-INF</neginf>
<nan>NaN</nan>
</infnan>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="zero" root="zero"
model="textprops"
description="Test zero repreentations">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[NIL|ZILCH|ZERO|5|0]]]></tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<zero xmlns="http://www.example.org/example1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0">
<double>0.0</double>
<double>0.0</double>
<double>0.0</double>
<double>0.0</double>
<double>0.0</double>
</zero>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="pattern_neg1" root="patternNeg1"
model="textprops"
description="Bad number pattern">
<tdml:document>
<tdml:documentPart type="text"><![CDATA[Doesn't matter]]></tdml:documentPart>
</tdml:document>
<tdml:errors>
<tdml:error>Invalid textNumberPattern: Unquoted special character</tdml:error>
</tdml:errors>
</tdml:parserTestCase>
</tdml:testSuite>