Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-1041

HL7 Schema: Potential Loop

XMLWordPrintableJSON

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 1.0.0
    • 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.

              jchab Jessie Chab
              jchab Jessie Chab
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 3 minutes
                  3m