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

Re: Namespaces, schemas, Simon's filters.

  • From: "Simon St.Laurent" <simonstl@s...>
  • To: Tim Bray <tbray@t...>
  • Date: Sun, 19 Aug 2001 17:26:44 -0400

simon filters
On 19 Aug 2001 12:48:26 -0700, Tim Bray wrote:
> Having spent some time reading this thread, I realized I 
> didn't understand either local types or Simon's filters.  
> As Ron Bourret said:
> 
> >> I think the real culprit here isn't whether local element 
> >> type names are
> >> qualified or not. It's that local element types exist at all. 
> 
> I think Ron's right.  For those who haven't already, some study 
> of 
> 
>   http://www.w3.org/TR/xmlschema-0/#NS
> 
> is pretty essential.   Near as I understand it, people want to 
> use schema X to validate element Y, but they don't want element
> Y to be in a namespace (even a defaulted namespace), they want
> this picked up from the namespace of an ancestor element, and 
> "local element types" allow this.
> 
> At one level this seems like a reasonable thing to want
> to do: "please use the following rules to validate no-namespace 
> children whose type is Y and whose parent is myNS:Z."

For me, this is pushing scoping to an unreasonable extreme.  I've never
been especially comfortable with the declaration-applying-to-descendants
model Namespaces in XML eventually chose, and having to keep track of
"no-namespace children" is, well, pretty grotesque to me.  (Remember, I
work in SAX most of the time, and find the machinery added to DOM to
support namespaces already excessive.)

> On the other hand, it does contravene the achingly-simple
> procedure for linking markup to software provided by 
> XML+namespaces: identify markup to software by putting it
> in a namespace.

Precisely.

> OK, but now I have a problem.  Why are Simon's filters 
> ever a good idea?  The XML Schema Rec allows me to write
> rules so that in the following
> 
> <apo:purchaseOrder xmlns:apo="http://www.example.com/PO1"
>                    orderDate="1999-10-20">
>  <shipTo country="US">
>   <name>Alice Smith</name>
>   <street>123 Maple Street</street>
>   <!-- etc. -->
> 
> the "apo" schema is used to validate the <shipTo> element.
> Nowhere does it say that the "shipTo" element is or should
> be in the "apo" namespace.  That's the whole point.  
> 
> So why would Simon's filters help? -Tim

They would help if you find the entire approach blessed by XML Schema to
be noxious, but still design systems which are intended to process a
wide variety of possible input documents.  

Given  my perspective as someone working with SAX, the filters (at least
com.simonstl.namespace.elements.ElementNamespaceFilter and
com.simonstl.namespace.elements.AnnotElementNamespaceFilter) provide a
means of dealing with this design pattern without requiring me to change
my assumptions about namespace processing in any significant way.  It's
effectively a minimal-lifting solution to the potential problems.

Force-qualification and the less-imposing annotation provide the
information about namespace context that I would otherwise have to
provide in my application.  Given that I don't ever use the PSVI, nor
recommend its use, this solves a local problem for me as the recipient
of documents written in a style I would never author.

You might want to take a look at the RDDL documents for the rules files
for these filters:
http://simonstl.com/ns/namespaces/elements/
http://simonstl.com/ns/namespaces/elements/annotate/

(com.simonstl.namespace.attributes.AttributeNamespaceFilter solves a
somewhat similar issue for attributes that seems to trouble RDF in
particular.  The other filters at
http://simonstl.com/projects/namespace/ are pretty much utility filters
for modifying namespace information in various contexts.)

I'm happy to admit that this is a perverse bit of code -
the world just sometimes needs perversity, perhaps as a coping mechanism
for other perversity.

Simon St.Laurent
http://simonstl.com



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.