[prev in list] [next in list] [prev in thread] [next in thread]
List: xindice-dev
Subject: Re: XPath Query attribute/text/comment/etc results
From: Vadim Gritsenko <vadim () reverycodes ! com>
Date: 2004-02-25 11:39:30
Message-ID: 403C8972.1030107 () reverycodes ! com
[Download RAW message or body]
Ryan Hoegg wrote:
> I like (a) as well. However, I think this is a wart in the XMLDB
> spec. I think these return types don't really belong in a DOM. I
> briefly looked at xmldb.org, and the spec and use cases didn't seem to
> address the case where an xpath query returns something that doesn't
> lend itself to DOM representation. If I am simply trying to retrieve
> a set of attribute values, it seems to me I should end up with a
> Collection of Strings...
But String does not make good XMLResource...
> how will this look using a <query:result/> element? For example:
>
> I have a collection at /db/teams that contains 29 documents. Each
> document's root element is named "team". That element contains some
> number of "player" elements, each with an attribute named
> "jersey-number". Each player also contains a "name" element which in
> turn contains an element named "last" that contains only text
> content. If I query for
> /db/teams/team/player[@jersey-number=4]/name/last/text() what will I
> end up with?
Each result will be:
<ns:result xmlns:ns="http://xml.apache.org/xindice/Query"
ns:col="/db/teams" ns:key="12">Ryan</ns:result>
Vadim
> --
> Ryan Hoegg
> ISIS Networks
> http://www.isisnetworks.net/
>
> Vadim Gritsenko wrote:
>
>> Hi all,
>>
>> Is there any opinion on how results of the XPath query returning
>> attribute(s), text node(s), comment node(s), etc should look like? Up
>> to the couple of days ago, it would just add those to the resulting
>> document, and pass those DOM nodes as is. This causes issues:
>>
>> * With XML-RPC (can't build resulting document - can't have 2
>> attributes; merges text nodes; etc)
>> * With source meta data attributes (can't attach meta data
>> attributes to attributes / text / etc)
>>
>>
>> Solution to this problem is to create result element in query
>> namespace (<query:result>) to hold these result nodes. This solves
>> both issues above. The only question left which I have is what should
>> XMLResource on the client side return on getContent() and
>> getContentAsDOM(). There are two options:
>>
>> (a) Return <query:result> element containing result node (attribute
>> / text / etc), as well as source meta attributes.
>> (b) Return result node alone. User would have to use
>> getContentAsDOM().getOwnerDocument() to get hold of source meta
>> attributes, and via getContent() those meta attributes would not be
>> available at all. It also looses name of the result attribute (passes
>> only value).
>>
>> Any opinions? I'm think first option is better.
>>
>> Vadim
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic