W3C home > Mailing lists > Public > xmlschema-dev@w3.org > November 2004

Re: Modelling composite Schemata

From: Frans Englich <frans.englich@telia.com>
Date: Fri, 19 Nov 2004 18:04:30 +0000
To: Kasimier Buchcik <kbuchcik@4commerce.de>
Cc: xmlschema-dev@w3.org
Message-Id: <200411191804.30949.frans.englich@telia.com>

On Thursday 18 November 2004 17:28, you wrote:
> Hi,
>
> Frans Englich wrote:
> > Hello,
> >
> > In an XML format of mine I need embedded XHTML, information for human
> > reading, documenting the "object" the document instance describes. I have
> > hesitations on how to do that in the best way.
> >
> > Currently I do like this:
> >
> >        <xsd:import namespace="http://www.w3.org/1999/xhtml"
> >                
> > schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd"/>
> >
> >         <xsd:element name="test" type="xhtml:Block"/>
> >
> >
> > However, from what I can tell, the content of the <test> element isn't
> > XHTML any longer, but just a brick of the document I built, labeled as
> > what the targetNamespace says. I see namespaces as "identifiers" for XML
> > applications, and any 3rd party, such as a a XSLT sheet, no longer sees
> > XHTML, but must learn my particular format.
> >
> > That was what I _first_ thought, but then I realized that:
> >
> > <test>
> >         <div></div>
> > </test>
> >
> > didn't validate without <div> being in the XHTML namespace. Apparently,
> > it "is" still XHTML.
> >
> > So I'm confused. What if I /didn't/ want it to be XHTML but be my format,
> > and only borrow the XHTML complexType as a building block? (perhaps it's
> > a weird unrealistic question)
> >
> > I interpret it as that WXS:targetNamespace doesn't matter(not that I mind
> > in this case :) ); from whatever namespace a building block emerges from,
> > is what they'll have.
> >
> > I used libxml2 2.6.16 for validation.
>
> The mechanism you describe matches the machanism for 'included'
> schemata. If you want to 'borrow' the components for XHTML, you need
> create a totally different XSD: copy the XSD for XHTML, remove the
> specified targetNamespace or better set it to the targetNamespace of
> your main schema + hope that wildcards, if existing, will still make
> sense. Or just copy & paste the needed pieces into your main schema.
> The targetNamespace has its purpose; changing it, creates components
> which are totally different; just their names and structures are equal,
> which could theoretically happen with any XSD by _accident_.

Yes, I found more on the topic in this article:

http://www.xml.com/pub/a/2000/11/29/schemas/part1.html?page=7#building_usable

What I was asking about was basically the difference between import/include.


Cheers,

		Frans
Received on Friday, 19 November 2004 17:57:22 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 23:40:23 UTC