That won't even do what you want, I don't think.
Try this mysterious exercise:
xdmp:document-insert ("/a",
<a type="one">
matching text
</a>);
cts:search (//a, cts:element-query(xs:QName("a"),
cts:and-query((
cts:element-attribute-value-query(xs:QName("a"),
xs:QName("type"), "one"),
"matching text" )) )
=> get empty result set
I have had a request in for a while to allow cts:element-query to
include its own attributes, but at the moment at least, it doesn't.
You might find this good enough:
cts:and-query((
cts:element-attribute-value-query(xs:QName("a"),
xs:QName("type"), "one"),
"matching text" ))
although the semantics are not the same as:
//[EMAIL PROTECTED]"one"][contains(., "matching text")]
because the matching text could appear in some outer a node as in:
<a type="two"> matching text
<a type="one">
no match
</a></a>
You might want to fiddle around with fields: if you can burn in the
attribute value constraint by defining an index I think there is a way
to to this using a field.
-Mike
Shannon Scott Shiflett wrote:
hi hi,
is the only way to do a cts:element-query() on elements by name with
attribute by name with "text content equal to given phrase" by
wrapping a cts:element-query() and a
cts:element-attribute-value-query() in a cts:and-query()? wondering
if there is a way requiring fewer lines of xquery.
thank you,
shannon
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general