[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