Re: PI target names unscoped -- why?

David Brownell wrote:
> 
> The "motivation" (why not clearly defined "goals"?) in the XML
> namespace draft defines combining "markup from multiple independent
> sources" as needing namespace collision avoidance mechanisms.  The
> XML specification defines markup (2.4, first para) as including
> entity references, DTDs, and PIs ... but the XML namespace draft
> neither addresses such markup, nor justifies why that markup should
> be unprotected.
> 
>     --> The "motivation" needs to explain why only such a small
>         subset of XML markup is being covered.
> 
> If (as has been hinted) there is a goal to move away from DTD
> based validation [1], that partly explains why markup related
> to DTDs is not being covered.  (Only partly, since this draft
> does not work well with DTD validation and W3C has no ongoing
> alternative non-DTD mechanism going in tandem with this.)

I think the use of the word "markup" in section 1 is deeply confusing. 
Markup is a syntactic notion, and we are not trying to solve the problem
of syntactically combining independently written XML instances or XML
DTDs: namespaces might help with a solution to that, but they're
obviously by themselves a far from complete solution. The problem we're
solving is that of semantic combination, how to create a document that
uses element types and attributes whose semantics are defined by
multiple independent sources and how to have those semantics be
recognizable by the appropriate software package. I would suggest
something like:

"We envisage the use of XML documents that draw their element types and
attributes from multiple vocabularies (collections of element types and
attributes with defined semantics). One motivation for this is
modularity; if there is a vocabulary available which is well-understood
and for which there is useful software available, it is better to re-use
this vocabulary rather than re-invent it.

Such documents, containing elements and attributes from multiple
vocabularies, pose problems of recognition and collision. Software
modules need to be able to recognize the element types and attributes
rrom the vocabulary that they are designed to process, even in the face
of "collisions" occurring when element types and attributes from another
vocabulary uses the same element type or attribute name."

> However, even such an unstated "anti-DTD" goal does not motivate
> the current conformance requirment precluding PI targets from being
> scoped, since they are not tied to DTDs.
> 
> Technically, the current declaration syntax ("xmlns" and related
> attribute values to declare namespaces) can clearly be applied
> to PI target names found within an element with namespace prefixes
> active in the dynamic scope.
> 
> Admittedly, PI targets before or after a document's root element
> could not be scoped without some different declaration syntax,
> such as the original PI based syntax.

We could indeed do that and we considered doing it, but

- before the document root element is probably the place where it would
be most useful to be able to have scoped PI targets

- there's already away to specify the meaning of PI targets (by
declaring a notation)

- there's not a lot of interest in PIs from the current major "clients"
of the namespace spec.

I would like to see a future version of the spec solve this problem, but
I think leaving it for later is reasonable.

James

Received on Sunday, 16 August 1998 05:39:10 UTC