[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Hiding namespace prefixes in the instance document

From: George Cristian Bina <george@oxygenxml.com>
Date: Wed, 04 Jan 2006 15:21:52 +0200
Message-ID: <43BBCBF0.101@oxygenxml.com>
To: Antti Sissonen <antti_sissonen@hotmail.com>
Cc: mike@saxonica.com, xmlschema-dev@w3.org
Re: Hiding namespace prefixes in the instance document

You can write documents that contain elements from multiple namespaces 
without using prefixes, there is no limitation to declare only one 
namespace as default namespace. So you can have:

<Schema xmlns="schemaNamespace">
   <Aggregate xmlns="aggregateNamespace">
     <MaterialBatchIdentifier xmlns="commonNamespace">

and so on...

Import keeps the same target namespace for the imported components. 
Include includes components from a different target namespace. Again, it 
depends what namespace you want for your elements, that is what you 
should clarify first then you should think how to write the schema for that.

Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com


Antti Sissonen wrote:
> 
> 
> What I meant was not having namespace prefixes in the instance document 
> since in this particular case the xml instance presents business content 
> and the element naming should be exact.
> So if I am using a common element coming from a common component schema 
> it should look like this:
> <Schema>
>  <Aggregate>
>    <MaterialBatchIdentifier>
>    ...
> 
> instead of:
> <Schema>
>  <Aggregate>
>    <common:MaterialBatchIdentifier>
> 
> Does that help?
> 
> I've understood that I can get rid of prefixes by using the correct 
> design (venetian blind) and the default namespace definition 
> (xmlns="foo", not xmlns:foo="foo") if only one namespace is declared for 
> the instance. But then if I'd like to have a separate namespace for the 
> common components I run out of options. Thus, I've concluded that maybe 
> I just have to have common component schema in no namespace and use 
> include to have it available (chameleon).
> If the idea of the schema architecture is to assure that the same name 
> will not be used for different things the chameleon design would 
> support/force it. What is it that I'd lose if I switch from import to 
> include?
> 
> Rgrds,
> 
> Antti
> 
>>
>> > I have a schema that imports another one. I'm trying to keep
>> > the namespace
>> > prefixes hidden in the xml instance
>>
>> Sorry, I've no idea what you mean. What does a "hidden prefix" look like?
>>
>> Michael Kay
>> http://www.saxonica.com/
>>
>>
> 
> 
> 
Received on Wednesday, 4 January 2006 13:20:15 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.