XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Converting a variety of data formats, containing various kinds of data into a common intermediate form


Mainstream XML technology definitely disfavours generic approaches: to move to generic approaches where the specific semantics is in attributes *and* retaining validation requires moving to RELAX NG or Schematron in which attributes are first-class citizens (rather than dtds or xsd where all patterns/types are keyed by element context only.) 


I've never really understood why we consider

<graduation date="2012-03-31"/>

as less generic than

<event type="graduation" date="2012-03-21"/>

There seems to be some very deep-rooted feeling that element and attribute names are "fixed" while attribute values are "variable". Perhaps our schema technology encourages this thinking, or perhaps it is languages like XPath, but the fact is that we don't really believe and trust in the "X" in "XML".

Even Xpath's syntax disfavours generic approaches (by providing no support), no crIticism implied. I have been working with generic schemas for much of the last decade, and I really think XSL T Xpath would be enhanced by providing some simple macro system to uncomplicate paths: for example  so that instead of writing

    event[property[@name="kind"][@value="birthday"]]

i could declare a virtual child named birthday-event with that xpath, and then use a virtual axis:

  vchild::birthday-event


I've argued in favour of user-defined axes for many years but I've found it hard to get the idea taken seriously. Though I've never taken it quite this far as to allow the "node-test" part of the step to be interpreted in a user-defined way.

Substitution groups can be great for handling this kind of content: where in schema-aware XPath, schema-element(event) selects graduation elements because they are part of the substitution group. I've seen little take-up of that, however.

Michael Kay
Saxonica



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS