W3C home > Mailing lists > Public > xmlschema-dev@w3.org > April 2007

Re: multiple namespaces

From: Andrew Welch <andrew.j.welch@gmail.com>
Date: Mon, 23 Apr 2007 17:10:13 +0100
Message-ID: <74a894af0704230910yd203b92o39503a4fa8208a91@mail.gmail.com>
To: "Michael Kay" <mike@saxonica.com>
Cc: noah_mendelsohn@us.ibm.com, xmlschema-dev@w3.org

On 4/23/07, Michael Kay <mike@saxonica.com> wrote:
> > The keys points here are:
> >
> > - there are two namespaces
> > - each namespace contains elements in the other namespace
> >
> > In order to model this I created two schema documents ns1.xsd
> > and ns2.xsd which import each other:
>
> Correct.

Great - surprising little on the web for handling XML with multiple
namespaces (where I looked anyway...)

> > I'd like any comments on this approach - its seems strange to
> > have circular imports
>
> Think Java "import" rather than XSLT "import". It's not at all strange in
> Java for two modules to import each other. In XSD, import means "this module
> references components defined in that module".

Ahh ok.  Would there be three instances then: A -> B -> A (two
instances of A, so no circular definition) ?

> , and when referencing the simpleType
> > and the group prefixes are needed - unless as Mike says I add
> > a default namespace, which I think would make the top of the
> > schema document:
> >
> > targetNamespace="firstNamespace"
> > xmlns:ns1="firstNamespace"
> > xmlns="firstNamespace"
> >
> > ...which is fine but a little non-intuitive at the moment -
> > is there a preferred approach?
>
> One sees different coding styles, but it's certainly not unusual to see
> schema documents that are just like this: the targetNamespace is bound both
> to an explicit prefix and to the default namespace. Personally I tend to use
> the prefix, it helps to remind the reader what's going on and makes it
> easier to cut-and-paste across schema documents.

Me too.

You do get a good sense of achievement as the complexities of XML
Schema start to unravel...
Received on Monday, 23 April 2007 16:10:19 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:14:59 GMT