Re: [xml-dev] xmlns empty string

From
Ran <>
To
Michael Kay <>
Date
2006-12-20T17:39:32Z
ID
<>
Thread
Re: [xml-dev] xmlns empty string

> means that you want locally-declared elements like contact to be in no namespace.
Doesn't 'unqualified element form' specifies wether or not an element use explicit ns prefix ?
qualified :
<ns:Contact />
unqualified:
<Contact />

Can the <Contact /> element take the Chameleon namespace from its parent element ? for instance:
<Contacts xmlns="aa">
   <Contact />
</Contacts>


Thanks,
ran

On 12/20/06, Michael Kay <[email protected]> wrote:
elementFormDefault="unqualified"
means that you want locally-declared elements like contact to be in no namespace. Whatever tool it was that generated the instance document has honoured that request. It's almost always more appropriate to use elementFormDefault="qualified".
 
Michael Kay


From: Ran [mailto:[email protected]]
Sent: 19 December 2006 23:05
To: Andrew Welch; [email protected]
Subject: Re: [xml-dev] xmlns empty string

Thanks for the reply.

I believe I specified Contact's ns in schema as targetNamespace. Here is my wsdl:type

    <wsdl:types>
        <xsd:schema
            xmlns:tns=" http://web.com/CRMUsers/types/test"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns=" http://web.com/CRMUsers"
            attributeFormDefault="unqualified" elementFormDefault="unqualified"
            targetNamespace=" http://web.com/CRMUsers/types/test">
            <xsd:include schemaLocation="xsd0.xsd" />
            <xsd:complexType name="ContactReturnType ">
                <xsd:sequence>
                    <xsd:element name="contact" nillable="true"
                        type="r:ContactType" />
                </xsd:sequence>
            </xsd:complexType>
            <xsd:element name=" contacts" nillable="true"
                type="r:ContactReturnType" />
            ...
        </xsd:schema>
    </wsdl:types>

<!-- xsd0.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    attributeFormDefault="unqualified" elementFormDefault="unqualified">
    <xsd:complexType name=" ContactType">
        <xsd:attribute name="id" type="xsd:string" />
        <xsd:attribute name="firstName" type="xsd:string" />
        <xsd:attribute name="lastName" type="xsd:string" />
        <xsd:attribute name="email" type="xsd:string" />
    </xsd:complexType>
</xsd:schema>


On 12/19/06, Andrew Welch <[email protected]> wrote:
On 12/19/06, Ran <[email protected]> wrote:
> Hi,
>
> I have the following schema instance and the xmlns on contact nodes are
> empty strings.
> I use xmlbeans for databinding in Axis2. and would like to not use any ns on
> contact.
>
> How do I manupulate xmlns in my schema (or using xbean api) for contact node
> to get rid of xmlns="" ?
>
> <Contacts xmlns=" www.example.com">
>      <Contact xmlns="" id="3" name="abc2" />
>      <Contact xmlns="" id="4" name="abc3" />
>      <Contact xmlns="" id="5" name="abc4" />
>      ....
> </Contacts>

Put the <Contact> elements in the "www.example.com" namespace -
currently they are in no namespace, hence the xmlns=""

cheers
andrew