Re: multiple namespaces

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 UTC