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

RE: Namespaces hate validation!

  • From: Murray Maloney <murray@m...>
  • To: "xml-dev@i..." <xml-dev@i...>
  • Date: Wed, 6 Jan 1999 12:39:52 -0500

xschema tool
At 05:15 AM 1/6/99 -0500, Ronald Bourret wrote:

>Murray Maloney wrote:
>
>> At 08:46 PM 1/5/99 -0500, Tim Bray wrote:
>>
>I think what Tim is saying is that it is non-trivial to automagically 
>combine DTDs or in some sense to say that a given document validates 
>against two or more different DTDs.  As XML currently stands, this seems to 
>be possible only through the liberal use of ANY in content models, which is 
>a less-than-optimal solution.

Easy enough to write a DTD that matches an instance. Just inspect
the instance and generate a DTD that captures its models.
The trick is to be able to write a DTD that encompasses 
a class of documents that might be validated by it.

As I see it, Tim's algorithm is useful only if you are 
willing to write a new DTD for almost every document you get.
>
>(I assume that the Contents=Open/Closed property in DCD is intended to 
>address this further.  When an element is declared as having open contents, 
>it can contain child elements that are not declared in its content model. 
> In other words, it allows schema designers to explicitly state where the 
>content model can be altered/expanded.  This is the same as ANY except 
>#PCDATA is not allowed unless it was in the original content model.  A 
>further refinement would be to say that Contents=Open means that elements 
>not declared in the current schema can occur as children.  This would meet 
>the needs of schema merging without allowing people to "violate" the cur  
>rent schema.)

Right. Well, content="open" tries to merge well-formedness
with limited-validity. If that were an acceptable threshold
for validity, then XML should have incorporated it.
>
>> >5. You preprocess the DTD, rewriting all the element & attribute
>> >   declarations with the appropriate prefixes
>>
>> Using special care to take into account the non-XML notion
>> of "global attributes".
>
>I don't understand this comment.  Global attributes don't currently exist 
>in XML, so how can a DTD even contain them?  This comment makes sense only 
>if you are using a schema language that supports global attributes, which 
>doesn't apply in the case the algorithm addresses.

Sorry, I was being facetious.

Global attributes exist in "Namespaces in XML" but not in XML itself. 
Curious, no? My point is that "global attributes" as described in 
"Namespaces in XML" are a crock -- because there is no such thing as 
a global attribute "in XML".

>> >6. You preprocess the instance, making all namespace prefixes
>> >   explicit (no defaulting), declaring all the namespaces on the root
>> >   element, and using the same set of prefixes you used in the DTD

[...]

>If you are stating that the algorithm doesn't work, it does: Prefixes are 
>mapped first to URIs, then to unique prefixes.  Therefore, it doesn't 
>matter if a prefix is reused in an instance -- at any given point in time, 
>it maps to a unique URI, and thus to a unique prefix.

Please re-read what Tim said: "...declaring all the namespaces on 
the root element"

This assumes that all prefixes are unique. One cannot make such
an assumption. Hence, this aspect at least does not work.

>> > Well, tedious enough to make it unlikely that anyone will use
>> > validation on documents that utilize namespaces. It is hard.
>> > It is too hard. And for that reason, among others, Veo has
>> > vociferously opposed "Namespaces in XML".
>
>This might be true, although it is easy enough to write a tool that did the 
>preprocessing necessary for this to work with the current batch of parsers. 
> In the long run, these questions disappear anyway, as the current schema 
>proposals can declare which namespace a given element or attribute belongs 
>to, thus solving the problem of no namespace declarations in the DTD.

I dispute "easy enough". If that is true, then please show evidence.
If someone would just send me the URL where I can find the listing 
of tools that automagically rewrites namespace-aware  XML DTDs for me, 
then I will reconsider my opinion. :-{

I assert that those of us who consider such a tool easy to create
are the ones who are least likely to actually write the tool.

>
>> As a co-author of one of the schema submissions, I have to say
>> that I do not see how to integrate "Namespaces in XML" -- as
>> it is currently proposed -- with an XML Schema language. Perhaps
>> someone will show me the error of my ways in the fullness of time,
>> but I am skeptical.
>
>XSchema already does this.

Well, I just looked at XSchema again, and while it does include
some facilities for namespace-awareness, it is not clear to me
that it integrates "Namespaces in XML".

In a fact, I have to challenge your assertion that XSchema 
integrates with "Namespaces in XML". Quoting from XSchema (4.3.2):

	The following XSchema structures cannot be converted 
	to DTD structures because such structures do not exist:

	- More elements, AttDef and AttGroup elements that do not 
	  apply to a particular element, and Model and Enumeration 
	  elements nested directly beneath an XSchema element. 

	- All id attributes, all attributes of the XSchema element 
	  except for prefix, all ns and ElementNS attributes, and 
	  the Root attribute of the ElementDecl element. 

	- Nesting of schema information provided by nested XSchema 
	  elements.


------------
Please note that SOX also incorporates a namespace facility
which encompasses elements, attributes, notations, entities,
and processing instructions. Thus, it is not compatible with
the "Namespaces in XML" proposal.
>
>DCD almost does this, but is silent on how it associates namespace prefixes 
>used in attribute values (such as the name of an element being declared) 
>with URIs.  

[...]

So, DCD does not integrate with "Namespaces in XML".

>In any case, it is certainly possible to integrate the current namespace 
>proposal with a schema language, as XSchema shows.

XSchema shows no such thing as section 4.3.2 makes clear.

Regards,

Murray


Murray Maloney, Esq.          Phone: (905) 509-9120
Muzmo Communication Inc.      Fax:   (905) 509-8637
671 Cowan Circle              Email: murray@m...
Pickering, Ontario 		Email: murray@y...
Canada, L1W 3K6    		

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.