Steve Lawrence created DAFFODIL-2798:
----------------------------------------

             Summary: No warning on unused dfdlx properties on xs:enumeration
                 Key: DAFFODIL-2798
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2798
             Project: Daffodil
          Issue Type: Bug
          Components: Front End
    Affects Versions: 3.4.0
            Reporter: Steve Lawrence


Say we have a schema like this (note that dfdlx:repValue is an intentional typo 
and should be dfdl:repValues):
{code:xml}
  <simpleType name="rep" dfdl:lengthKind="explicit" dfdl:length="1">
    <restriction base="xs:string" />
  </simpleType>

  <simpleType name="value" dfdlx:repType="ex:rep">
    <restriction base="xs:string">
      <enumeration value="ZERO" dfdlx:repValue="0" />
      <enumeration value="ONE" dfdlx:repValue="1" />
      <enumeration value="TWO" dfdlx:repValue="2" />
    </restriction>
  </simpleType>

  <element name="root" type="ex:value" />
{code}

Because *dfdlx:repValue* is a typo, Daffodil ignores it--we do not error on 
unknown extension properties because those properties may be used for other 
DFDL implementations.  But with this property being ignored, it can leads to 
unexpected behavior or even confusing SDE's if the typo is not discovered.

Because it is ignored, we should output a warning which helps user discover the 
error. But in this case, with the unknown property being on an enumeration, no 
warning is generated.

It looks like the issue is that we only check for unused properties on Terms, 
but xs:enumeration is not a Term so we do not check them. Ideally this logic 
would be moved to something more generic so we can warn on all schema 
components instead of just terms.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to