On 19.02.2021 21:17, Roger L Costello costello(_at_)mitre(_dot_)org wrote:
Hi Folks,
Consider this element:
<style>
blah, blah
<![CDATA[
<!--
a,b,c
-->
]]>
foo, foo
<![CDATA[
<!--
d,e,f
-->
]]>
</style>
The content of the <style> element is this string:
blah, blah
<!--
a,b,c
-->
foo, foo
<!--
d,e,f
-->
Notice that it appears there are two comments, but they are not, they are "fake
comments".
I want to get just the content inside the fake comments:
a,b,c
d,e,f
The following XPath expression seems to give the desired results:
for $i in tokenize(., '<!--') return if (contains($i, '-->')) then
substring-before($i, '-->') else ()
Is there a better XPath expression -- simpler, more precise, more complete?
XPath 3.1
style/parse-xml-fragment(.)/comment()/data()
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--