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

QNames not resolved properly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: s7
    • Fix Version/s: s10
    • Component/s: None
    • Labels:
      None

      Description

      (I'm creating this bug issue, because I am choosing to NOT fix this as part of the initial integration of multi-file schema stuff into spin 7).

      Properties that contain QNames (any expression, a few others) are not properly resolved. A QName like "foo:bar" the interpretation of "foo" as a prefix must be done using the context of the xml object where that property physically resided.

      In our code base, properties are retrieved using getProperty(..) which does not return any information about where the property was found; hence, if the value contains a QName, it can't be resolved properly.

      There is a replacement now called findProperty which returns an object containing both the value and a handle on the object which contained the property binding. This allows proper QName resolution if needed, and also enables better diagnostics because we can point at file and line number where the annotation physically was written.

      This bug is to convert some calls to getProperty or getPropertyOption into findProperty and findPropertyOption so as to support proper QName resolution.

      Note that the expression compiler needs to be fed this information, as that is what deals with qnames embedded in expressions e.g., ./foo:bar/baz[2].

        Gliffy Diagrams

          Attachments

            Activity

              People

              Assignee:
              jchab Jessie Chab
              Reporter:
              mbeckerle.dfdl Mike Beckerle
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Tasks