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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

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


Subject: SV: SV: [ubl-dev] UBL- just how reliable are XSD based syntax checks?


I can't be 100% certain but I suppose what is meant that CAM can be used to
normalize namespace declarations, for example that all declarations are moved
to the document element, that conflicting prefixes (in scope or out of
scope?) are normalized to the first occurence of the prefix use and that if
there is two uses of xmlns="different namespaces here" the first use of a
default namespace declaration is the default namespace while the second use
has a prefix generated for it? Basically making the XML more readable from a
quick pass through a Generic CAM processor was what I was hoping it meant. 

so that the example from the spec 

<?xml version="1.0"?>
<!-- initially, the default namespace is "books" -->
<book xmlns='urn:loc.gov:books'
      xmlns:isbn='urn:ISBN:0-395-36341-6'>
    <title>Cheaper by the Dozen</title>
    <isbn:number>1568491379</isbn:number>
    <notes>
      <!-- make HTML the default namespace for some commentary -->
      <p xmlns='http://www.w3.org/1999/xhtml'>
          This is a <i>funny</i> book!
      </p>
    </notes>
</book>

becomes

<?xml version="1.0"?>
<book xmlns='urn:loc.gov:books'
      xmlns:isbn='urn:ISBN:0-395-36341-6'
      xmlns:cam1='http://www.w3.org/1999/xhtml'>
    <title>Cheaper by the Dozen</title>
    <isbn:number>1568491379</isbn:number>
    <notes>
      <cam1:p>
          This is a <cam1:i>funny</cam1:i> book!
      </cam1:p>
    </notes>
</book>

Cheers,

Bryan Rasmussen

-----Oprindelig meddelelse-----
Fra: G. Ken Holman [mailto:gkholman@CraneSoftwrights.com]
Sendt: 12. februar 2007 18:21
Til: ubl-dev@lists.oasis-open.org
Emne: RE: SV: [ubl-dev] UBL- just how reliable are XSD based syntax
checks?


At 2007-02-12 09:43 -0700, David RR Webber \(XML\) wrote:
>Good comments on namespaces - this definately mirrors my experiences -
>and nice links and examples. +1 here.

So you are applauding the use of namespaces, which are used liberally 
and usefully in UBL XML documents, but then you follow up with...

>What CAM does in fix conflicting default namespace declarations - is not
>change the XML itself - but creates a better reference structure with
>the conflicts resolved there.

This sounds like "translation" to me, and not working with original
documents.

And I'm not sure what you mean by "conflicting default namespace 
declaration" ... there is no definition of that phrase in the XML 
Namespaces specification (I just did a word search in 
http://www.w3.org/TR/2006/REC-xml-names-20060816 and found 
nothing).  The behaviour of default namespace declarations is 
well-defined ... an XML instance is or is not well-defined.  If the 
instance is well-defined, then any default namespace declarations are 
not "conflicting" (but then I don't know what you mean by "conflicting").

Can you specify this precisely, please?  What would be an example of 
such a conflict?

>This then acts as a "roadmap" and
>override to ensure accurate processing of XPath as the XML content
>itself is traversed.

When you say "XML Content" do you mean the original XML instance or a 
translation of that instance to a new instance?  Any such translation 
should go on behind the curtain so that all that is exposed is the 
original XML instances.

>Basically humans can glance at the XML and intuitively "know" what
>namespace the default belongs to at what point in the heirarchy - but
>of course java code - cannot make that call so easily - so jaxen
>especially - needs fully qualified content - you cannot mix and match
>default and non-default namespaces.

Then that is a problem with a tool, not with XML technology.  A 
well-formed instance is specified ... XSLT tools work with 
well-formed XML instances regardless of any valid use of 
namespaces.  As far as I know, SAX and DOM interfaces are also 
well-defined in support of the valid use of namespaces.

>Also we've seen instances where
>the same default namespace in-line declaration is made in multiple
>places - this "works" but its not correct - they should be unique.

Can you please give an example?  If the document is not well-formed, 
then it isn't XML.  If it is well-formed, then an XML tool should be 
able to work with it untouched.  Passing on the processing burden to 
users by forcing translation does not seem to serve them well.

>Paradoxically the worst XML I've seen is the one I've had to work with
>for two years as part of Grants.gov applications!  This falls under the
>category of - if people can mess it up - they will...

So they aren't publishing well-formed XML documents?  Then these 
documents shouldn't be called "XML".

>So - with all this experience - I prefer simple XML if I can get it!

There's that "simple" term again.

>But as you say - how to relate this back to the original definitions
>and vocabulary?  The <Reference> section in the CAM template is
>designed to provide that using UID references to the (UBL) domain
>vocabulary items.  So you don't need the namespace equating.  This is a
>win on multiple levels - including thinner XML payload sizes - faster
>processing, etc.  And also - being able to use non-english localization
>tagnames / or abbreviations - but equate them exactly to their english
>equivalents in the standard [now there's a radical concept... ; -)]

But the UBL names, while they happen to be English, are meant to be 
mnemonic ... a UBL instance has to use those names at the document 
level for document-level compatibility (I'm not talking model-level 
compatibility).  One doesn't see the English terms in the Java 
language being made available in a translated localized version of 
the Java language ... and for the same reason one doesn't see 
localized tag names in the work products of UBL Localization 
committees.  A UBL instance uses the established mnemonics for 
interchange purposes at the document level.

User interfaces are welcome to provide translated localized labels of 
the information, but the instances those interfaces create need to be 
validated at the document level to be called "UBL instances".

>We still need to do some work here though - we know it can work - but
>CEFACT is still visiting on the XSD for CCTS in registry - once that is
>definitive - then we'll be able move forward on defining the formal
>normative specification for this.

In my opinion it isn't "working" if it involves translation that is 
exposed to the user or that explicitly burdens the user to work with 
the information.  You can do what you want if the user doesn't see 
it, but a "translated" UBL instance would be model compatible but not 
interchange compatible.

I'm responding to your post because I think new users of XML and UBL 
may get confused by some of the things you've said.  I'm trying to be 
precise about terminology, which is why I brought up the thread on 
Steve's post.  In your post here you are bringing up terminology that 
I'm not familiar with when you say "conflicting default namespace 
declarations".  If there isn't a formal definition of this, then it 
shouldn't be the basis of justification for extra burden.

Using precise terminology will be important for readers of the 
archive and new users of this technology, so they don't get confused 
when different participants use the same term to mean different things.

I hope this is considered helpful.

. . . . . . . . . . . . . . Ken

--
World-wide corporate, govt. & user group XML, XSL and UBL training
RSS feeds:     publicly-available developer resources and training
G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/u/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Cancer Awareness Aug'05  http://www.CraneSoftwrights.com/u/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal


---------------------------------------------------------------------
To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org



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