[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [Fwd: Re: [office-metadata] Reuse of metadata proposal for non ODF applications]
Hi Guys, Attached is an in-process draft of an example that is intended to show OO XForms interoperating with OO Metadata. Forgive the incompleteness of the example, I'll have it all done by next Tuesday (I better, that's when I'm supposed to present it at my meeting).
Some comments: (1) Enable macros on open in response to warning. I have no idea if this is necessary, but that's what I do. (2) The RDF representation of the form data is in the XForms instance named "RDF-Data". You can see what it looks like most easily by pressing the "Submit RDF to file" button, which will save the RDF to the root directory of your hard disk. Ignore warnings about invalid fields in the form. (3) The other XForms instances (besides RDF-Data) are basically "scratchpad" instances used in various form calculations, or places to store label strings to make the form appearance customizable, etc. They're of no central importance for our purposes. (4) One of the most interesting things I learned from this exercise is how to approach the impedance mismatch between the XForms data binding mechanism (which is pure XPath) and the desired output (which is RDF). The fundamental problem is that XPath is designed to select nodesets from *trees*, but RDF is fundamentally *generalized directed graphs*. This means that a given RDF graph can be serialized into RDF-XML in many different ways, all equally valid. But XPath bindings address the serialization tree, not the underlying RDF graph, so if I create one set of XPath bindings, then decide I want to make an inconsequential change in the way I serialize my RDF, it can break all the XPath. There are several ways to get around this. At the most extreme, you could extend XForms by allowing bindings to some language other than XPath--a language like SPARQL, for example, which is designed to query the underlying graph rather than any paritcular serialization of it. At the other extreme, you can just commit to a fixed serialization, and just change out the node names, etc. This is what I did here. It's brutish and not a general solution, but it works for documents like this where the semantics are very regular to begin with. For marking up free text, where you can't predict the kind of graph you're going to get a priori, we'll need to talk to the XForms/ODF group about pushing on the W3C XForms group for some support for other ways of expressing bindings than in XPath. (5) In XForms, the concept of "submission" is very important. When you're done filling out the form, you've got to "submit" it. In the context of the ODF Metadata model, we would probably want to "submit" the form to our ODF document's own package, and also update the manifest.rdf file as a component of that submission process. XForms "submit" actions assume the target of the submission is a URL (http:, mailto:, file: ... whatever) and the method used is an http GET, PUT or POST. We will need to figure out how to create such a "submit" action. It might be easy to construct one from existing XForms/XML Actions, or it might require some scripting. Lars, ideas? John
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]