-
Bug
-
Resolution: Fixed
-
Normal
-
1.0.0
-
None
-
None
I revisited the HL7 schema provided by IBM and made the tweak from textStandardExponentCharacter -> textStandardExponentRep, to see what other issues there may be. The parse appears to be hanging consistently. I reran the CLI in very verbose mode (-vvv), and see the following type of output over and over:
[debug] DFDLElement leafFindProperty encoding on element.HL7::LocalComplexTypeDef::sequence::ElementRef(anyHL7Segment)::element.anyHL7Segment::GlobalComplexTypeDef(anyHL7Segment.TYPE)::choice::choice::ElementRef(ADJ)::element.ADJ::GlobalComplexTypeDef(ADJ.CONTENT)::sequence::sequence[2]::ElementRef(ADJ.7.AdjustmentReasonPA)::DFDLElement
[debug] DFDLElement leafFindProperty NotFound(List(element.HL7::LocalComplexTypeDef::sequence::ElementRef(anyHL7Segment)::element.anyHL7Segment::GlobalComplexTypeDef(anyHL7Segment.TYPE)::choice::choice::ElementRef(ADJ)::element.ADJ::GlobalComplexTypeDef(ADJ.CONTENT)::sequence::sequence[2]::ElementRef(ADJ.7.AdjustmentReasonPA)::DFDLElement),List())
[debug] ChainPropProvider(DFDLElement) chainFindProperty encoding.
[debug] DFDLElement leafFindProperty encoding on element.HL7::LocalComplexTypeDef::sequence::ElementRef(anyHL7Segment)::element.anyHL7Segment::GlobalComplexTypeDef(anyHL7Segment.TYPE)::choice::choice::ElementRef(ADJ)::element.ADJ::GlobalComplexTypeDef(ADJ.CONTENT)::sequence::sequence[2]::ElementRef(ADJ.7.AdjustmentReasonPA)::element.ADJ.7.AdjustmentReasonPA::DFDLElement
[debug] DFDLElement leafFindProperty NotFound(List(element.HL7::LocalComplexTypeDef::sequence::ElementRef(anyHL7Segment)::element.anyHL7Segment::GlobalComplexTypeDef(anyHL7Segment.TYPE)::choice::choice::ElementRef(ADJ)::element.ADJ::GlobalComplexTypeDef(ADJ.CONTENT)::sequence::sequence[2]::ElementRef(ADJ.7.AdjustmentReasonPA)::element.ADJ.7.AdjustmentReasonPA::DFDLElement),List())
[debug] ChainPropProvider(DFDLFormat) chainFindProperty encoding.
[debug] DFDLFormat leafFindProperty encoding on SchemaDocument::DFDLFormat
[debug] DFDLFormat leafFindProperty NotFound(List(SchemaDocument::DFDLFormat),List())
[debug] DFDLFormat leafFindProperty encoding on SchemaDocument::DFDLFormat
[debug] DFDLFormat leafFindProperty Found(US-ASCII,SchemaDocument::DFDLFormat)
[debug] ChainPropProvider(DFDLFormat) chainFindProperty encoding.
[debug] DFDLFormat leafFindProperty encoding on SchemaDocument::DFDLFormat
[debug] DFDLFormat leafFindProperty NotFound(List(SchemaDocument::DFDLFormat),List())
[debug] DFDLFormat leafFindProperty encoding on SchemaDocument::DFDLFormat
[debug] DFDLFormat leafFindProperty Found(US-ASCII,SchemaDocument::DFDLFormat)
I see repeating blocks of output like this for the following properties:
- encoding
- encodingErrorPolicy
- bitOrder
- alignmentUnits
- alignment
- separator
Most of these properties are in fact defined in HL7Format.xsd; the only ones missing are encodingErrorPolicy and bitOrder, which is to be expected. The input file I'm trying to parse is 433 bytes. I let it run and it was still spinning after close to an hour.
Full command run:
daffodil-cli/target/start -vvv parse -s ../data/DFDLSchemas-HL7-v2.7-f53bd9c/GenericHL7.xsd -r HL7 ../data/DFDLSchemas-HL7-v2.7-f53bd9c/A01.txt
I've updated DFDL-828 to include this information.