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

Re: xmlns empty string

  • From: noah_mendelsohn@u...
  • To: Ran <ran256@g...>
  • Date: Thu, 21 Dec 2006 11:00:11 -0500

xml importing empty namespace
ran writes:

> What is your suggestion on using <include /> v.s. <import /> ?

Well, my suggestion is that you should approach this mainly as an XML 
question, and only secondarily as a schema question.  Presumably you are 
designing the markup to be used in some set of related XML documents.  So, 
you need to decide whether the names of those elements should be in 
namespaces at all, and if so whether they should be spread across more 
than one namespace.   That's a decision you'll have to make independent of 
whether you ever write a schema for anything.   In general, putting each 
element into some namespace is good practice, unless you're really just 
using the XML in a local environment such as for hacking on your own 
desktop.  Reason:  if anyone ever stumbles over one of your documents, 
there will be no ambiguity about what the element names are.  In some 
random document, an unqualified element name like <title> could mean a 
person's title, a books's title, etc.

As to whether to use more than one namespace, the usual reasons are if 
your documents are going to be mixing in element names that seem to 
related to solving quite seperate problems, or if you expect to reuse the 
groups of names in different combinations, a separate namespace might be 
good.  So, let's say you are working an an XML language suitable for 
setting down works of music in music notation  (there are some emerging 
standards for this, but you've decided to invent your own anyway).  You 
decide your documents should also be version-controlled, so you invent 
some elements to control the versioning.  Ask yourself:  would I like to 
reuse these same version control elements for something unrelated to the 
music language?  If so, that might be a good hint that putting the version 
control elements into separate namespace would be appropriate.   Of 
course, if you are bringing in elements invented or controlled by others, 
say you're embedding some HTML tags for your documentation, then you'll 
definitely be using separate namespaces for those, and indeed you'll 
almost surely be importing a schema someone else wrote.

Back to your question:  import or include in your schemas?  Now it's 
simple.  Import is what you use to get schema definitions from another 
namespace (I.e. different from the targetNamespace being defined by the 
importing document.)  Include is what you use when you've spread the 
definition of one particular namespace across multiple schema documents. 
There are some other subtle semantic differences, and some slightly 
different rules for error reporting in the case a reference doesn't 
resolve, but those in no way affect your choice of which to use:  include 
for the same namespace, import for others.  Design your language first, 
then write the schema documents that capture your design.  If there lots 
of elements or types in one namespace, or if lots of people are working on 
separate parts of the definition, you can split the schema for that large 
namespace into multiple documents, and use include to pull the pieces 
together.

Good luck, I hope this helps!

Noah

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------






[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

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-2013 All Rights Reserved.