OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   XForms Annotations (was Annotations in XPath-NG?)

[ Lists Home | Date Index | Thread Index ]

I've been meaning to post something like this to xml-dev for awhile, now.

XForms is probably a good data point to look at for XPath annotations, if
I'm not misunderstanding the discussion.

XForms is fully an XPath spec; brethren to XSLT and XPointer. As for
annotations, XForms defines "model item properties" [1], such as "required",
"relevant", "readonly", etc., which attach to the XPath 1.0 data model on a
per-node basis. Form controls, which also attach to a particular node, alter
their behavior based on the model item properties (which so far can all be
represented as strings) at that node.

From an implementation standpoint, it would be nice to have a way to attach
these extra properties to nodes.

From a standardization standpoint, it would be nice if XPath 2.0 included a
way to access these properties. (We avoided defining accessor functions in
XForms 1.0 because there are some non-trivial complications that can crop
up, related to self-referential calculations, but that's firmly an XForms
problem to solve)

We were mainly looking a function-based access, though I suspect that's just
because extension functions are easier to plug into an existing
implementation (compared to, say, a new axis)



[1] http://www.w3.org/TR/xforms/index-all.html#model

-----Original Message-----
From: Uche Ogbuji [mailto:uche.ogbuji@fourthought.com]
Sent: Sunday, October 06, 2002 9:33 AM
To: Jeni Tennison
Cc: Eric van der Vlist; xml-dev@lists.xml.org
Subject: [xml-dev] Annotations in XPath-NG? (Re: [xml-dev] XPath/XSLT
2.0 concerns)

> > In an ideal world, XPath 1.0 could be one of these modules!
> Yes, or at least something that looks so darned close to XPath 1.0
> that no one would know the difference. I do think that the underlying
> data model from XPath 1.0 needs to change a little, to support a "type
> annotation" feature, make it closer to the Infoset and all that, but
> what I'd like is for it to be much more agnostic about where that
> typing information comes from and what the types are (the types are
> just labels).

I think one could imagine a lot of what would be added/tweaked in XPath 1.0 
for a killer 2.0.  I agree that an annotation system would be great for
2.0, and, in fact, Eric and I had been discussing how to add such a thing to

4Suite so we could implement some of the modular data typing straw men we've

been discussing.

My foirst comment is that it should be generic annotation, not just type 
annotation.  My thoughts would be:

Add an "annotation" property to each node.  This is a simple key/value pair 
where the key is URI (or is that anathema  ;-) ) and the value is any XPath 
1.0 object (which would even allow annotations to be cross-node links).

You can access any particular annotation for any particular XPath object
a function lookup(annoitation-key).  Of course, some facilities, such as 
optimizers, might use annotations behind the scenes, directly.

Does this sound like a good general approach?

Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Apache 2.0 API -
Python&XML column: Tour of Python/XML -
Python/Web Services column: xmlrpclib -

The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>


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

Copyright 2001 XML.org. This site is hosted by OASIS