[Home] [By Thread] [By Date] [Recent Entries]
Michael and Pete have already supplied answers to your question, but I
thought it might help to explicitly clarify one additional point --
which is to differentiate the default behavior between declaration and
reference. In this example:
<xsd:complexType name="complexTypeOne">
<xsd:sequence>
...
<xsd:element name="SubElementWithoutPrefix"
type="ElementTypeWithoutPrefix" /> <!-- a line with
a problem -->
</xsd:sequence>
</xsd:complexType>
"SubElementWithoutPrefix" is a local element *declaration*. Because
the <schema> declaration specifies elementFormDefault="qualified",
this element is in the targetNamespace. (If you didn't have
elementFormDefault="qualified", it would be in no namespace.)
"ElementTypeWithoutPrefix" is a type *reference*. Because no prefix is
explicitly specified, the type is from the default namespace.
Defining elements in a different namespace from their types is a
fairly common practice.
The Sun Java 6 validation is in error. The IBM Java 5 validation is correct.
Anne
On Mon, Jul 6, 2009 at 11:35 AM, REV Tamas<tamas.rev@g...> wrote:
> Hello,
>
> A customer gave us an xml schema having different default ns and
> targetNamspace, like that:
> <xsd:schema xmlns="ProprietaryNamespace"
> targetNamespace="AnotherProprietaryNamespace"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> ...
> <xsd:complexType name="complexTypeOne">
> <xsd:sequence>
> ...
> <xsd:element name="SubElementWithoutPrefix"
> type="ElementTypeWithoutPrefix" /> <!-- a line with a problem -->
> </xsd:sequence>
> </xsd:complexType>
> ...
> </xsd:schema>
>
> Now we have problem validating values of SubElementWithoutPrefix on
> different java plattforms.
>
> According to the XML schema specification, every element/attribute without
> namespace prefix belongs to the default namespace.
> On the other hand, unqualified elements defined in an xml schema belong to
> the schemas targetNamespace. So, there is this contradicition
> to be resolved.
>
> When SUNs Java 6 implementation resolves it, SubElementWithoutPrefix belongs
> to the default namespace. On the other hand,
> when IBMs java 5 implementation resolves it, SubElementWithoutPrefix belongs
> to the targetNamespace.
>
> How is it defined in XML schema specs?
>
> Best Regards,
> Tamas
>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |

Cart



