[xquery-talk] calculated attribute/ namespace name
john.snelson at oracle.com
Wed Aug 15 17:51:09 PDT 2007
This expression works fine:
<ele xmlns:pre='ns' pre:attr='lala'/>/
@*[node-name(.) = fn:QName('ns', 'attr')]
If you needed to add the concat() function, that is a bug in the XQuery
processor you are using.
Uwe Küssner wrote:
> Hi John
> thank you. I changed your solution to
> $ele/@*[node-name(.) = fn:QName($namespace, concat("arbitrary:",
> $attribute)) ]
> than it seems to works as well.
> John Snelson schrieb:
>> Something like this will work:
>> /ele/@*[node-name(.) = fn:QName($namespace, $attribute)]
>> Uwe Küssner wrote:
>>> a short question, i hope somebody can help.
>>> Let's say we have a XML documents like this:
>>> <ele xmlns:a="aa" xmlns:b="bb" name="foo" a:name="bar"
>>> b:name="foobar" b:x="y" />
>>> The namespace names and attributes are not known before runtime,
>>> during runtime of a xquery script we have two variables of type
>>> string, for example:
>>> $namespace := "bb"
>>> $attribute :="name"
>>> here is the question: how can we extract the value of the attribute
>>> named $attribute with namespace name $namespace?
>>> In the example the value of "b:name", i.e. "foobar".
>>> thank you very much
>>> talk at x-query.com
>> talk at x-query.com
> talk at x-query.com
More information about the talk