OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-architecture message

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


Subject: RE: guidelines on usage of namespaces


As one who has stirred the namespace pot, I offer some rebuttals to the comments on this topic.

----------
From:  Duane Nickull [SMTP:duane@xmlglobal.com]
Sent:  Thursday, January 13, 2000 11:35 AM
To:  KETELS Kris
Cc:  ebXML-Architecture@lists.oasis-open.org
Subject:  Re: guidelines on usage of namespaces

Hi Kris:


> Over the last couple of weeks, we've had internally some interesting discussions on the use of namespaces.
> One of the purposes of Namespaces is to avoid data element collision. Now my question is: how granular can one apply a namespace. Is
> it the purpose to have different namespaces at the level of the industry (e.g. Automotive vs financial), at the level of the
> business (e.g. securities vs. payments), technical vs. business (e.g. envelope info vs. payload), at an even lower level (per
> business scenario), or even lower?

I would like to bring everyone up to speed on namespaces becuase some of
our members may not be familiar with the concept.  A namespace, for
those who are not familiar, is a prefix attached to an xml element (the
tag) that basically tells any XML-namespace compliant application
accesing the XML that the element is equal to the element of that name
belonging to the element set defined by the namespace.  In other words, 
the namespace for html applied to XML could look like this:

<html:p>this paragraph should be treated the same as the "p"tag in
html</html:p>

The application's parser must now recognize the html prefix as
specifying that the p tag should be treated the same as the html <p>
(paragraph) element.

The parser knows how to treat the namepsace because you would place a
line in the top of your XML file to point it at your namespace like
this:

<?xml version="1.0"?>
<root_tag xmlns:html="http://www.w3.org/TR/REC-html40">

This tells the parser that anynamespace using the html prefix is to be
conformant to the HTML 4.0 spec.

> What are the consequences of having many namespaces?

The lack of conforming apps and increased processor/parser overhead are
two good reasons for not adopting namespaces right now.  It is
technically a good idea.  I will look at some more issues.

Do you have something like this in mind:

<?xml version="1.0" encoding="UTF-8"?>
<ebxml xmlns:ebxml="http:www.theEbxmlRepository.org/NS/ebxml-objects">
<ebxml:header>
  <ebxml:recipient>you</ebxml:recipient>
  <ebxml:sender>me</ebxml:sender>
</ebxml:header>
<ebxml:message>Hello World</ebxml:message>
</ebxml>

MILR: In the above example, it would make sense to establish the 'ebxml' namespace as the default namespace.

MILR: Actually I would expect that in most cases, none of the element names would have a namespace prefix, as I think users will pick names they like, and in their world there would be no worry about name collisions.  The naming problem I worry about is in the attribute specified in the user's schema/DTD that relates the user's element name
to an entity registered and stored in a repository.  That attribute name itself will be in some XML namespace, and its value may require some qualification of naming authority.  That qualification of a data value is beyond XML Namespace to my knowledge, unless there is some recursion provision I don't know about. 

> Has anyone encountered alike discussions?

Yes - going back two years ago.   There are always arguements ba0out
this going on.  If there isn't,  I know how to instigate one on one of
the main discussion lists (hehehe).

> Should we need to provide some recommendations on when to use namespaces vs. renaming elements (or other methods such use of as
> Xlink and Xpointer) to solve collisions?

This is not within the scope of our group to decide.  The messaging,
transporting group will come up with the solution. If they decide to use
namespaces as a core component of ebXML,  then we will have the task of
implimenting design rules for conformance.
MILR:  But we are responsible for translating business requirements into Technical Architecture specifications.  If there is a business need for multiple naming authorities, then we must support that in our architecture, though we need/should not dictate how it is supported. 

> Should this be discussed in this group or in another (e.g. Core Components, or Repository)?
MILR: Yes to each of the groups mentioned.

See above.


<additional_rants>
There is a strong feeling that ebXML will adopt a set of elements (tags)
to use for common business methods/information objects.  If ebXML adopts
these,  there should be no collision problems.  A repository system
could also be used without collision too.

MILR: In my opinion, it is unreasonable to expect that every semantic element anyone would use will ever be defined by a single naming authority.  It is also unreasonable to expect that XML element names used by an application will be directly usable as a reference to well known semantic elements.  The reference to well known semantic elements will instead be provided through the values of a well known attribute. This association will be made in the Schema/DTD. 

UN/CEFACT and X12 are examples of two naming authorities whose semantic elements have much in common collectively, but each has some semantic elements not in the other domain.  And some 'common' semantic elements have differences in their associated metadata, which may or not be significant.  And of course in the 'real world' these two authoriities encompass but a small subset of all semantic entities one might encounter in electronic commerce.

I strongly support the notion that a 'global' semantic element offers better interoperability than a 'national' ... than a 'partnership' semantic element, in some sort of hierachy of 'betterness'.  Our principles of ebXML usage should reflect that notion.

Another notion I have is that a more/less restrictive semantic element (e.g., an 'industry' semantic element might be a deriative of a more global semantic element.  Consider a 'codelist' that has hundreds of allowable values, whereas in a given industry only a few codes are used.
  

One approach may be to use "ebxml" as a namespace for these tags.  I
would support this becuase we could then define these business
methods/objects within repositories.
Of course, in XML 'ebxml' or 'anyname' can represent the same namespace, since these shorthand names just stand in for the string specified in the xmlns declaration.  
I'd like to see a simple 'synonym' capability in XML, but I don't see that in anyone's XML extension proposals.

</additional_rants>

David Webber has a solution revolving around xlink in the dtd.  His
approach may be more sensible.
MILR:  I've seen some of this stuff.  My first reaction was 'neat, but sounds resource expensive'.  Worth keeping an eye on though.

Duane Nickull
> 
> Best Regards
> Kris
> 
>   ------------------------------------------------------------------------
> 
>   Kris Ketels <kris.ketels@swift.com>
>   Product Manager Standards
>   S.W.I.F.T. sc
>   Standards
> 
>   Kris Ketels
>   Product Manager Standards  <kris.ketels@swift.com>
>   S.W.I.F.T. sc
>   Standards
>                              Fax: +32.2.655.45.52
>                              Work: +32.2.655.44.85
>                              Netscape Conference Address
>                              Specific DLS Server
>   Additional Information:
>   Last Name     Ketels
>   First Name    Kris
>   Version       2.1

-- 
/**************************************************\
| http://www.xmlglobal.com  /* Corporate site */    |
| http://www.goxml.com     /* XML Search engine */  |
| http://www.cartnetwork.com /* XML E-commerce */   |
|   "Really Cool XML Solutions - available today!"  |
\**************************************************/



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

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC