- From: Norman Walsh <ndw@nwalsh.com>
- Date: Fri, 20 Jul 2007 16:19:52 -0400
- To: www-tag@w3.org
- Message-ID: <87644e7rpz.fsf@nwalsh.com>
/ noah_mendelsohn@us.ibm.com was heard to say: | Norm Walsh writes: | |> NVDL is designed for namespace-based dispatching so it follows |> that it's a solution that can only be considered when different |> versions appear in different namespaces. | | Yes, exactly, and there are many situations in which such | namespace-dispatching is natural and desirable. That said, I would prefer | that the TAG not appear to imply that such namespace-based composition of | vocabularies is the only one that's ever sensible. Did I imply that? That wasn't my intent. We've got a significant finding about versioning underway. It describes a wide range of possible approaches to the problem of dealing with evolution and versioning. I think NVDL is quite reasonably another possible approach. | Note that I am >not< | suggesting that one avoid using namespaces; I think it's almost always | desirable to NS-qualify one's XML elements, and in some cases attributes | as well. I am saying that there are cases in which one wishes to | modularize markup in ways that are not best modeled as namespace-driven. | For example, one might in some organization use a handful of namespaces | for abstractions such as inventory, monetary abstractions, etc., and then | assemble schemas for particular document formats such as purchase orders | by quite freely mixing bits of markup from these namespaces. In such | cases, I think it's often more appropriate to suggest that the root | element name (not just its namespace) indicates the nature of the document | as a whole, with namespace-qualified markup mixed quite freely inside. Sure. And I wouldn't expect to use NVDL in that situation. I wouldn't expect to use DTDs either :-) Of course, using NVDL doesn't preclude tighter mixed-namespace constraints. Consider the DocBook case. DocBook V5.0 allows MathML in equations. DocBook's definition of "MathML" is "anything in the MathML namespace." So out of the box, <mml:norman-is-a-fool/> would validate with the DocBook schema (if it appeared in an equation). A user wishing to exert tighter control could construct a RELAX NG grammar that included both DocBook and MathML and replace the "any mml:*" pattern with a better one. The user could simply take an off-the-shelf MathML grammar (even an XSD, for that matter) and use NVDL to validate the combination. The fact that NVDL is being used doesn't have to mean that MathML can occur at arbitrary places. DocBook still constraints where. NVDL simply provides tighter constraints on the actual MathML bits in this case. That strikes me as a use case somewhere between the extremes of "any mixture" and "a tightly constrained mixture". | I'm not an NVDL expert, but my impression is that it's not focussed | primarily on such idioms. In summary, I have no problem pointing to NVDL | as an example of good practice for the things it does well; I would like | to avoid appearing in so doing to discourage use of languages in which | different versions share a namespace, or in which the same version of a | language freely mixes bits from many namespaces. I agree wholeheartedly and had no intent to discourage such languages or even appear to do so. Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | No man's knowledge here can go beyond http://nwalsh.com/ | his experience.--John Locke
Received on Friday, 20 July 2007 20:20:00 UTC