[xquery-talk] getting an attrib value from another attrib value

Robert Walpole robert.walpole at devon.gov.uk
Mon Dec 4 13:24:32 PST 2006


This may be more XPath than XQuery so I hope you don't mind me posting

I want to write a query that given a string (let's say "Torbay") will
return the uid attribute of the element with the name attribute equal to
the string value.

I have only got so far as being able to get the whole node (i.e.
including children) with the matching name attribute as follows:

for $areaserved in doc("...")/*[@name = "Torquay"] return $areaserved

I should say that the matching name attribute could appear at any level
in the XML document and may or may not have child elements.

Example XML:

<?xml version="1.0" encoding="UTF-8"?>
<county name="Devon" uid="0">
    <district uid="8" name="Torbay">
        <town uid="210" name="Brixham" pct="Torbay"/>
        <town uid="211" name="Paignton" pct="Torbay"/>
        <town uid="212" name="Torquay" pct="Torbay">
            <settlement name="Babbacombe" uid="979"/>
            <settlement name="Barton" uid="803"/>
            <settlement name="Chelston" uid="804"/>

Many Thanks
Rob Walpole
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://x-query.com/pipermail/talk/attachments/20061204/dca87591/attachment.htm

More information about the talk mailing list