It seems that XPath /@attribute queries don't work in Xindice! Please tell me I 
am wrong.

When I execute the following xpath query:

xindice xpath -c /db/websystem -q "/Classes/Class[last()]"

I get the following results:

<?xml version="1.0"?>
<Class name="Page" id="1" superclass="1" template="1"
xmlns:src="http://xml.apache.org/xindice/Query"; src:col="/db/websystem"
src:key="class">
        <Elements>
                <Element name="Title" class="Single Line Text" required="true" 
/>
                <Element name="Author" class="Single Line Text" 
required="false" />
                <Element name="Keywords" class="Single Line Text" 
required="false" />
                <Element name="Description" class="Single Line Text" 
required="false"
/>
        </Elements>
</Class>

This is all ok, but when I then attempt to get the attribute 'id' only, using 
the following query:
        
xindice xpath -c /db/websystem -q "/Classes/Class[last()]/@id"

This is valid XPath according to the spec, yet I get NOTHING! This happens both 
from the command line, _and_ from
within code. The same happens if I used 'attribute::' instead of the 
abbreviation '@'.

Does anyone know why? Has it just not been implemented?
I'm using Xindice 1.0.

Cut-n-pasted from the XPath Spec at http://www.w3.org/TR/xpath :

"attribute::name selects the name attribute of the context node"

"There is also an abbreviation for attributes: attribute:: can be abbreviated 
to @"

"../@lang selects the lang attribute of the parent of the context node"


Thanks,
Dominic Gamble
Stratlink

Reply via email to