[
https://issues.apache.org/jira/browse/DAFFODIL-2857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Lawrence updated DAFFODIL-2857:
-------------------------------------
Summary: Different prefixes for same namespace fails to compile with
dfdlx:repType (was: Different prefixes for same namespace fails to compile wih
dfdlx:repType)
> Different prefixes for same namespace fails to compile with dfdlx:repType
> -------------------------------------------------------------------------
>
> Key: DAFFODIL-2857
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2857
> Project: Daffodil
> Issue Type: Bug
> Components: Front End
> Reporter: Steve Lawrence
> Priority: Major
>
> Say we have these two schemas:
> *foo.dfdl.xsd*
> {code:xml}
> <schema
> xmlns="http://www.w3.org/2001/XMLSchema"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
> xmlns:dfdlx="http://www.ogf.org/dfdl/dfdl-1.0/extensions"
> xmlns:foo="http://example.com/"
> targetNamespace="http://example.com/"
> elementFormDefault="unqualified">
> <include
> schemaLocation="/org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" />
> <include schemaLocation="bar.dfdl.xsd" />
> <annotation>
> <appinfo source="http://www.ogf.org/dfdl/">
> <dfdl:format ref="foo:GeneralFormat" representation="binary" />
> </appinfo>
> </annotation>
> <element name="foo" type="foo:NumEnums" />
> </schema>
> {code}
> *bar.dfdl.xsd*
> {code:xml}
> <schema
> xmlns="http://www.w3.org/2001/XMLSchema"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
> xmlns:dfdlx="http://www.ogf.org/dfdl/dfdl-1.0/extensions"
> xmlns:bar="http://example.com/"
> targetNamespace="http://example.com/"
> elementFormDefault="unqualified">
> <include
> schemaLocation="/org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" />
> <annotation>
> <appinfo source="http://www.ogf.org/dfdl/">
> <dfdl:format ref="bar:GeneralFormat" representation="binary" />
> </appinfo>
> </annotation>
> <simpleType name="enum" dfdl:lengthKind="explicit" dfdl:length="1">
> <restriction base="xs:int" />
> </simpleType>
> <simpleType name="NumEnums" dfdlx:repType="bar:enum">
> <restriction base="xs:string">
> <enumeration value="zero" dfdlx:repValues="0"/>
> <enumeration value="one" dfdlx:repValues="1"/>
> </restriction>
> </simpleType>
> </schema>
> {code}
> Note that foo.dfdl.xsd and bar.dfdl.xsd use the same targetNamespace, but
> have different namespace prefixes.
> Trying to compile this schema causes the error:
> > [error] Schema Definition Error: Undefined QName prefix 'bar'
> Likely what is happening is we create a quasi element in the scope
> foo.dfdl.xsd that has its type set to that of its dfdlx:repType property,
> which is "bar:enum". But in that scope, "bar:enum" doesn't make sense because
> the "bar" prefix isn't defined, the namespace prefix in this scope is "foo".
--
This message was sent by Atlassian Jira
(v8.20.10#820010)