Are there standard namespaces that don't need URIs?

Discussion in 'XML' started by Grant Robertson, Feb 3, 2007.

  1. As I am learning about XML I seen that xmlns is used with a colon after
    it as if it were a namespace itself. However, I have never seen a URI
    given for it. Is "xmlns" a sort of predefined word in that all XML
    software just knows what it means without it needing a URI?

    Are there any more of these special words that need no definition within
    any schema? I know there are other special words like "element" and
    "targetNamespace" but these seem to be defined within the XML Schema
    schema definition. It seems that only "xmlns" must be known before
    anything else can be known.

    Am I totally missing the boat on this or what?
     
    Grant Robertson, Feb 3, 2007
    #1
    1. Advertising

  2. Grant Robertson wrote:
    > As I am learning about XML I seen that xmlns is used with a colon after
    > it as if it were a namespace itself. However, I have never seen a URI
    > given for it. Is "xmlns" a sort of predefined word in that all XML
    > software just knows what it means without it needing a URI?


    The relevant specification is the "Namespaces in XML 1.0" specificaton:
    <http://www.w3.org/TR/xml-names/>
    You will see that <http://www.w3.org/TR/xml-names/#ns-decl> reserves a
    family of attributes for namespace declaration, namely either 'xmlns' or
    a qualified name beginning with 'xmlns:'.
    <element xmlns="http://example.com/ns1">
    is a default namespace declaration.
    So any namespace aware XML parser "knows" the meaning of xmlns and
    xmlns:some-prefix attributes as declaring XML namespaces.

    --

    Martin Honnen
    http://JavaScript.FAQTs.com/
     
    Martin Honnen, Feb 3, 2007
    #2
    1. Advertising

  3. Grant Robertson

    Eric Amick Guest

    On Sat, 3 Feb 2007 08:02:34 -0600, Grant Robertson <>
    wrote:

    >As I am learning about XML I seen that xmlns is used with a colon after
    >it as if it were a namespace itself. However, I have never seen a URI
    >given for it. Is "xmlns" a sort of predefined word in that all XML
    >software just knows what it means without it needing a URI?
    >
    >Are there any more of these special words that need no definition within
    >any schema? I know there are other special words like "element" and
    >"targetNamespace" but these seem to be defined within the XML Schema
    >schema definition. It seems that only "xmlns" must be known before
    >anything else can be known.


    xmlns is a namespace prefix, not a namespace; namespaces are identified
    by a URI. Anyway, the xmlns prefix is associated with the URI
    http://www.w3.org/2000/xmlns/, and the namespace standard forbids any
    other prefix from being associated with that URI. You can get all the
    details, including a description of other reserved prefixes, from the
    standard at http://www.w3.org/TR/2006/REC-xml-names-20060816/.
    --
    Eric Amick
    Columbia, MD
     
    Eric Amick, Feb 3, 2007
    #3
  4. "Grant Robertson" <> wrote in message
    news:...
    > As I am learning about XML I seen that xmlns is used with a colon after
    > it as if it were a namespace itself. However, I have never seen a URI
    > given for it. Is "xmlns" a sort of predefined word in that all XML
    > software just knows what it means without it needing a URI?
    >
    > Are there any more of these special words that need no definition within
    > any schema? I know there are other special words like "element" and
    > "targetNamespace" but these seem to be defined within the XML Schema
    > schema definition. It seems that only "xmlns" must be known before
    > anything else can be known.
    >
    > Am I totally missing the boat on this or what?


    First of all, any namespace "needs" (has) a namespace-uri. What you are
    asking here is not namespaces that don't have uri-s, but *reserved
    prefixes*, that must always be associated with specific namespace-uri-s

    There are two such reserved prefixes (xml and xmlns) and they are listed in
    the Namespaces specification
    (http://www.w3.org/TR/xml-names/#sec-namespaces):

    "Namespace constraint: Reserved Prefixes and Namespace Names
    The prefix xml is by definition bound to the namespace name
    http://www.w3.org/XML/1998/namespace. It MAY, but need not, be declared, and
    MUST NOT be bound to any other namespace name. Other prefixes MUST NOT be
    bound to this namespace name, and it MUST NOT be declared as the default
    namespace.

    The prefix xmlns is used only to declare namespace bindings and is by
    definition bound to the namespace name http://www.w3.org/2000/xmlns/. It
    MUST NOT be declared . Other prefixes MUST NOT be bound to this namespace
    name, and it MUST NOT be declared as the default namespace. Element names
    MUST NOT have the prefix xmlns.

    All other prefixes beginning with the three-letter sequence x, m, l, in any
    case combination, are reserved. This means that:

    a.. users SHOULD NOT use them except as defined by later specifications

    b.. processors MUST NOT treat them as fatal errors.

    Though they are not themselves reserved, it is inadvisable to use prefixed
    names whose LocalPart begins with the letters x, m, l, in any case
    combination, as these names would be reserved if used without a prefix. "

    So, when using a global attribute like xml:space, one doesn't need to define
    the prefix "xml" -- it is known to the parser.



    Cheers,

    Dimitre Novatchev
     
    Dimitre Novatchev, Feb 3, 2007
    #4
  5. In article <>,
    Grant Robertson <> wrote:

    >Is "xmlns" a sort of predefined word in that all XML
    >software just knows what it means without it needing a URI?


    That's the right way to look at it; xmlns is part of the syntax.
    There *is* a URI associated with it, which you don't need to declare
    (and indeed mustn't) but you can ignore it for most purposes.

    The only other prefix that doesn't need to be declared is "xml", as
    used in xml:space, xml:lang, xml:base.

    -- Richard
    --
    "Consideration shall be given to the need for as many as 32 characters
    in some alphabets" - X3.4, 1963.
     
    Richard Tobin, Feb 3, 2007
    #5
  6. Thanks everyone! I always get the best, right to the point, answers in
    this newsgroup. It is such a relief from trying to get any straight
    answers in any Microsoft newsgroup.

    No matter how many times I go over it I keep forgetting that the prefix
    is just a local shorthand within the XML document for the actual
    namespace which is the URI. I see the prefix with the colon after it and
    think I am seeing a namespace name. Hopefully once I learn enough to
    start designing my schema and actual work with XML files more than just
    looking at examples, then I will get it through my head.

    Thanks again.
     
    Grant Robertson, Feb 3, 2007
    #6
  7. > I always get the best, right to the point, answers in
    > this newsgroup. It is such a relief from trying to get any straight
    > answers in any Microsoft newsgroup.


    Probably you haven't tried this Microsoft forum:
    XML and the .NET Framework
    http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=38&SiteID=1

    I'll be glad to answer your questions there, too :eek:)

    Cheers,
    Dimitre Novatchev



    "Grant Robertson" <> wrote in message
    news:...
    > Thanks everyone! I always get the best, right to the point, answers in
    > this newsgroup. It is such a relief from trying to get any straight
    > answers in any Microsoft newsgroup.
    >
    > No matter how many times I go over it I keep forgetting that the prefix
    > is just a local shorthand within the XML document for the actual
    > namespace which is the URI. I see the prefix with the colon after it and
    > think I am seeing a namespace name. Hopefully once I learn enough to
    > start designing my schema and actual work with XML files more than just
    > looking at examples, then I will get it through my head.
    >
    > Thanks again.
     
    Dimitre Novatchev, Feb 4, 2007
    #7
  8. Grant Robertson

    Guest

    On 3 Feb, 21:11, Grant Robertson <> wrote:
    > Thanks everyone! I always get the best, right to the point, answers in
    > this newsgroup. It is such a relief from trying to get any straight
    > answers in any Microsoft newsgroup.
    >
    > No matter how many times I go over it I keep forgetting that the prefix
    > is just a local shorthand within the XML document for the actual
    > namespace which is the URI. I see the prefix with the colon after it and
    > think I am seeing a namespace name. Hopefully once I learn enough to
    > start designing my schema and actual work with XML files more than just
    > looking at examples, then I will get it through my head.
    >
    > Thanks again.


    Hi Grant,
    It looks like you pretty much understand the namespace thing and just
    need more practice. However, just in case a alternative way of
    looking at it might be helpful, you might find the approach used by
    James Clark on the following page useful:

    http://www.jclark.com/xml/xmlns.htm

    Perhaps more for the benefit of others that happen to drift this way
    in future looking for answers, the most concise description of XML
    namespaces I've found so far is:

    http://atmanes.blogspot.com/2006/07/short-explanation-of-xml-namespaces.html

    Cheers,

    Pete.
    --
    =============================================
    Pete Cordell
    Tech-Know-Ware Ltd
    for XML to C++ data binding visit
    http://www.tech-know-ware.com/lmx
    (or http://www.xml2cpp.com)
    =============================================
     
    , Feb 5, 2007
    #8
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?UGV0ZXIgU2NobWl0eg==?=

    newbie: HTTP and URIs

    =?Utf-8?B?UGV0ZXIgU2NobWl0eg==?=, Apr 11, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    394
    Kevin Spencer
    Apr 11, 2005
  2. =?Utf-8?B?Sm9lcjk5Ng==?=

    Session Restarting When Using Relative URIs

    =?Utf-8?B?Sm9lcjk5Ng==?=, Nov 17, 2005, in forum: ASP .Net
    Replies:
    0
    Views:
    346
    =?Utf-8?B?Sm9lcjk5Ng==?=
    Nov 17, 2005
  3. Konstantin
    Replies:
    1
    Views:
    337
    Cowboy \(Gregory A. Beamer\)
    Oct 19, 2006
  4. Nicolai Stange
    Replies:
    2
    Views:
    1,028
    Nicolai Stange
    Dec 13, 2009
  5. Ralph Amissah
    Replies:
    0
    Views:
    120
    Ralph Amissah
    Jan 30, 2004
Loading...

Share This Page