Используйте
substring-before(substring-after(@style, "'"),
"'"
)
Проверка на основе XSLT :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/*">
"<xsl:value-of select=
"substring-before(substring-after(@style, "'"),
"'"
)
"/>"
</xsl:template>
</xsl:stylesheet>
когда это преобразование применяется к предоставленному документу XML :
<a href="http://www.test.com" style=
"background-image: url('http://www.test.com/hello.jpg');">test</a>
желаемый, правильный результат получается :
"http://www.test.com/hello.jpg"