Hello DFDL community,
I am learning how to create and run TDML files. Below is the TDML file that I
created. I ran it like this:
daffodil test -iii test-5.tdml.xml parse-test-5
That produced the following error. But it should not have produced an error
(the bug is in unparsing, not parsing). There must be something wrong in my
TDML file. What is wrong in it, please? /Roger
Creating DFDL Test Suite for test-5.tdml.xml
[Fail] parse-test-5
Failure Information:
Model 'test-5' was not passed, found embedded in the TDML file, nor as a
schema file.
Logs:
None
Backtrace:
org.apache.daffodil.tdml.TDMLException$.apply(TDMLException.scala:31)
org.apache.daffodil.tdml.TestCase.getSuppliedSchema(TDMLRunner.scala:624)
org.apache.daffodil.tdml.TestCase.run(TDMLRunner.scala:706)
org.apache.daffodil.Main$.$anonfun$run$28(Main.scala:1256)
org.apache.daffodil.Main$.$anonfun$run$28$adapted(Main.scala:1252)
scala.collection.immutable.List.foreach(List.scala:389)
org.apache.daffodil.Main$.run(Main.scala:1252)
org.apache.daffodil.Main$.main(Main.scala:1363)
org.apache.daffodil.Main.main(Main.scala)
Total: 1, Pass: 0, Fail: 1, Not Found: 0
--------------------
TDML File
--------------------
<?xml version="1.0" encoding="UTF-8"?>
<tdml:testSuite
suiteName="Bug Report test-5.dfdl.xsd"
description="Bug in
everything-you-ever-wanted-to-know-about/separator/test-5.dfdl.xsd"
xmlns:tdml="http://www.ibm.com/xmlns/dfdl/testData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gpf="http://www.ibm.com/dfdl/GeneralPurposeFormat"
xmlns:daf="urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext"
xsi:schemaLocation="http://www.ibm.com/xmlns/dfdl/testData tdml.xsd"
defaultRoundTrip="none">
<tdml:defineSchema name="test-5-Schema" elementFormDefault="unqualified">
<dfdl:defineFormat name="default-dfdl-properties">
<dfdl:format
alignment="1"
alignmentUnits="bytes"
binaryFloatRep="ieee"
binaryNumberRep="binary"
bitOrder="mostSignificantBitFirst"
byteOrder="bigEndian"
calendarPatternKind="implicit"
choiceLengthKind="implicit"
documentFinalTerminatorCanBeMissing="yes"
emptyValueDelimiterPolicy="none"
encoding="ISO-8859-1"
encodingErrorPolicy="replace"
escapeSchemeRef=""
fillByte="f"
floating="no"
ignoreCase="no"
initiator=""
initiatedContent="no"
leadingSkip="0"
lengthKind="delimited"
lengthUnits="characters"
nilKind="literalValue"
nilValueDelimiterPolicy="none"
occursCountKind="implicit"
outputNewLine="%CR;%LF;"
representation="text"
separator=""
separatorPosition="infix"
separatorSuppressionPolicy="anyEmpty"
sequenceKind="ordered"
terminator=""
textBidi="no"
textNumberCheckPolicy="strict"
textNumberPattern="#,##0.###;-#,##0.###"
textNumberRep="standard"
textNumberRounding="explicit"
textNumberRoundingIncrement="0"
textNumberRoundingMode="roundUnnecessary"
textOutputMinLength="0"
textPadKind="none"
textStandardBase="10"
textStandardDecimalSeparator="."
textStandardExponentRep="E"
textStandardInfinityRep="Inf"
textStandardNaNRep="NaN"
textStandardZeroRep="0"
textStandardGroupingSeparator=","
textTrimKind="none"
trailingSkip="0"
truncateSpecifiedLengthString="no"
utf16Width="fixed"
/>
</dfdl:defineFormat>
<dfdl:format ref="default-dfdl-properties" />
<xs:element name="input">
<xs:complexType>
<xs:sequence dfdl:sequenceKind="ordered"
dfdl:separator="%NL;" dfdl:separatorPosition="infix"
dfdl:separatorSuppressionPolicy="never">
<xs:element name="A" type="xs:string" minOccurs="0"
dfdl:occursCountKind="implicit" />
<xs:element name="B" type="xs:string" minOccurs="0"
dfdl:occursCountKind="implicit" />
<xs:element name="C" type="xs:string" minOccurs="0"
dfdl:occursCountKind="implicit" />
</xs:sequence>
</xs:complexType>
</xs:element>
</tdml:defineSchema>
<tdml:parserTestCase name="parse-test-5" root="input" model="test-5"
description="Test test-5.dfdl.xsd, in the parsing direction">
<tdml:document>
<tdml:documentPart type="text"
replaceDFDLEntities="true"><![CDATA[Hello
world
]]></tdml:documentPart>
</tdml:document>
<tdml:infoset>
<tdml:dfdlInfoset>
<input>
<A>Hello</A>
<B>world</B>
<C></C>
</input>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:unparserTestCase name="unparse-test-5" root="input" model="test-5"
description="Test test-5.dfdl.xsd, this time in the unparsing
direction.">
<tdml:infoset>
<tdml:dfdlInfoset>
<input>
<A>Hello</A>
<B>world</B>
<C></C>
</input>
</tdml:dfdlInfoset>
</tdml:infoset>
<tdml:document>
<tdml:documentPart type="text"
replaceDFDLEntities="true"><![CDATA[Hello
world
]]></tdml:documentPart>
</tdml:document>
</tdml:unparserTestCase>
</tdml:testSuite>