- это те узлы, имеющие атрибут, имя которого начинается с val
Использовать :
//div[@*[starts-with(name(), 'val')]]
Выбираетлюбой элемент div
в документе, имеющий хотя бы один атрибут, имя которого начинается со строки "val"
.
проверка на основе XSLT :
Thisпреобразование:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select="//div[@*[starts-with(name(), 'val')]]"/>
</xsl:template>
</xsl:stylesheet>
при применении к этому документу XML (создается из предоставленного фрагмента XML):
<html>
<div val1="q">a</div>
<div val2="w">b</div>
<div val3="e">c</div>
<div some="r">d</div>
<div thing="t">f</div>
<div name="y">g</div>
</html>
выбирает и выводит нужные узлы:
<div val1="q">a</div>
<div val2="w">b</div>
<div val3="e">c</div>