[xquery-talk] calculated attribute/ namespace name
John Snelson
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.
John
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.
>
> uwe
>
>
>
> John Snelson schrieb:
>> Something like this will work:
>>
>> /ele/@*[node-name(.) = fn:QName($namespace, $attribute)]
>>
>> John
>>
>> Uwe Küssner wrote:
>>> hello,
>>>
>>> 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
>>> http://x-query.com/mailman/listinfo/talk
>>
>> _______________________________________________
>> talk at x-query.com
>> http://x-query.com/mailman/listinfo/talk
>>
>>
>
> _______________________________________________
> talk at x-query.com
> http://x-query.com/mailman/listinfo/talk
More information about the talk
mailing list