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

re: What is a namespace ... really?

  • From: <david@m...>
  • To: "XML Developers' List" <xml-dev@i...>
  • Date: Fri, 15 Jan 1999 09:15:08 -0500 (EST)

what is no namespace
Roger L. Costello writes:

 > I thought I knew what a namespace was ... but now I think perhaps I
 > don't.

It's simpler than you think.

 > Suppose that I create a DTD (BookCatalogue.dtd).  In this DTD I
 > define some elements, attributes, entities, etc.  I define the
 > relationships between the elements, attributes, etc.  I place
 > BookCatalogue.dtd in a directory:
 > 
 > file://localhost/xml-course/xml-part1/BookCatalogue.dtd
 > 
 > Is this a namespace?  

It's a namespace URI (in this case, a URL).

 > That is, is the file itself (BookCatalogue.dtd) a namespace?

No -- it's irrelevant as far as the current namespaces REC is
concerned.

 > In all the examples that I see in the namespace spec they don't
 > refer to a specific file.  Instead, they refer to "some place",
 > such as:
 > 
 > http://www.w3.org/TR/HTML/

Not a place, just a unique URI.  The URI doesn't actually have to work 
(a URI that throws up a 404 is just fine).

 > So, perhaps the "directory" that BookCatalogue.dtd resides in is the
 > namespace? i.e.,
 > 
 > file://localhost/xml-course/xml-part1/

No.

 > I thought I knew the way, now I don't.  Help me find my way again.

A namespace is very similar to a package name in Java -- it's just a
way of disambiguating names.  Consider

  package com.megginson.xml;

  class XMLNamespace {
    // [...]
  }

This does not guarantee that if you enter the URL
http://xml.megginson.com/ into Netscape, something will happen;
however, by virtue of the fact that my company owns the megginson.com
domain, I can guarantee that no one else can (or should) be able to
use this package name, so there is no chance of my classes getting
confused with someone else's.

Likewise, consider

  <?xml version="1.0"?>

  <ph:phone-list xmlns:ph="http://www.megginson.com/ns/phone">
   <ph:entry>
    <ph:name>Megginson Technologies Ltd.</ph:name>
    <ph:number>+1 613 722 8770</ph:number>
   </ph:entry>
  </ph:phone-list>

This does not guarantee that if you enter the URL
http://www.megginson.com/ns/phone into Netscape, something useful will 
happen; however, by virtue of the fact that my company owns the
megginson.com domain, I can guarantee that no one else can (or should) 
be able to use this namespace URI, so there is no chance of my element 
type names getting confused with someone else's.


All the best,


David

-- 
David Megginson                 david@m...
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


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.