XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] targetNamespace vs default namespace

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@gmail.com> 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]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS