[ 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)