[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Vocabulary Combination and optional namespaces
"Simon St.Laurent" <simonstl@s...> wrote: | It seems like namespaces aimed at diambiguation with the "let's create | big long names" approach, and then had to abbreviate the big long names | to keep the language usable. Basically, yes. The inveterate metaphysical babbling about "global uniqueness" or whatever is just smoke to make up for the lack of a fire. At the root of the disambiguation problem, as conventionally conceived, is the entirely unnecessary premise that all vocabulary-specific names (i.e. names of externally fixed provenance) must be syntactically visible, as garden-variety generic identifiers and attribute names of the much simpler world where only one externally fixed vocabulary applied to a document and at that, by default. This is what leads to idiotic flaps such as html:src *versus* xlink:href. The same value makes sense in two vocabularies simultaneously, but everyone gets hung up on the fact that syntactically an attribute can have only one name. Well then, let that circumstantial name be arbitrary, and have a syntactic means to say that x:a and y:b and z:c and whoever else wants to come to the party have each as their value that which is merely *tagged* by the arbitrary name. You could save on having to invent foos and bars for this by using a or b or c or whatever if the same syntactic means said that one of the name mappings was in fact an identity mapping. The same delusion about all names having to be syntactically visible leads to stuff like <h:td><xdc:author>Simon St.Laurent</xdc:author></h:td> in Tim's example. The same value, "Simon St.Laurent" is being ascribed to two separate taxonomies simultaneously. That by no means implies that we somehow have to plunk two generic identifiers in the document, and at that introduce factitious extra element "structure" in order to do so woodenly. Note that, from the point of view of *authorial intent*, this markup could have been: <xdc:author><h:td>Simon St.Laurent</h:td></xdc:author> So, if it makes absolutely zero difference to all semantic intent, then there should not be a difference in parsing one or the other. But the extra element structure *does* create a problem of whether the factitious containment is "real" or not. Entirely unncessarily. The general problem here is that a specific vocabulary may apply to only a partition of the element structure of a document, not the entirety. There is no presumption that all such partitions must be disjoint: they could overlap (as in xlink:ref + html:src or h:td + xdc:author), and in many real world cases, often do. (Reflecting the fact that the same piece of information is apprehensible in more than one taxonomy simultaneously). If you have a means of determining such a partition from the instance markup alone, then you have solved the vocabulary combination problem, because the markup *tells* you where and how each vocabulary applies. All you have to give up is the idea that all such names must occur directly in syntactically visible positions. The "problem of rcognition and collision", to quote a spec, is one monumental and stupid illusion.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|