- From: Dave Beckett <dave.beckett@bristol.ac.uk>
- Date: Wed, 15 Dec 2004 12:05:41 +0000
- To: Simon Raboczi <raboczi@tucanatech.com>
- Cc: public-rdf-dawg@w3.org
On Wed, 15 Dec 2004 00:23:10 +1000, Simon Raboczi <raboczi@tucanatech.com> wrote:
<snip/>
> > ISSUE: Normativeness of the XML schemas. Pick one?
>
> I don't think the <variables> element defined in section 2.2 of the
> current document shouldn't use empty XML elements to represent the
> variables. The reason this isn't a good idea is that the variable
> elements no longer have a consistent type throughout the document. For
> example, I can't assume that <x/> is always the variable ?x and that I
> should always expect it to have attributes or element content that
> represent the RDF node that ?x is bound to. I have to check the parent
> element, either <variables/> or <result/> to figure out in which
> context I should be interpreting <x/>.
>
> I'm not familiar with RELAXNG, but I'm of the impression that XML
> Schema supports space-delimited lists of qnames or tokens as a simple
> type. I'd suggest that something like
>
> <results variables="x y z">
> <result>
> <x>foo</x>
> <y>bar</y>
> </result>
> <result>
> <x>baz</x>
> <z>quux</z>
> </result>
> </results>
>
> would give every element a consistent type.
The problem with that is that the attribute value "x y z" cannot be
easily handled by XSLT1 (by far the most common) as it does not have
built-in handling for attribute values that are lists of XML names.
So this has to be done as character-by-character parsing or extension
functions which is just too troublesome. So, that goes back to the
format I have now:
<variables>
<x/>
<y/>
<z/>
</variables>
or an alternative, which would address your concern about the
declaration (if that's the word) of variable name elements being in
the same format/XML type as the use of the elements.
<variables>
<variable name="x"/>
<variable name="y"/>
<variable name="z"/>
</variables>
Which is somewhat similar verbosity to what we have now.
I *suppose* you could have
<variables x="" y="" z="">
and use the attribute names which are easy to access from XML.
However, what would the attribute values be? Ignored?
And it just seems a little crazy and too close to RDF/XML :)
> ... Do we need the outermost <dawg-result> element?
Not if you could squeeze everything into attributes of the document
element, but I doubt that's possible given the caveats above.
It might be that we could record other optional information in a
header such as whether distinct was operating, or if known, the
results size.
Dave
Received on Wednesday, 15 December 2004 12:13:38 UTC