Используйте это выражение XPath :
substring-before(
substring-after(/*/*, '"'),
'"'
)
Вот краткое, полное XSLT-преобразование, которое оценивает это выражение XPath и выводит результат его оценки :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:value-of select=
'substring-before(
substring-after(/*/*, '"'),
'"'
)'/>
</xsl:template>
</xsl:stylesheet>
Когда это преобразование применяется к предоставленному документу XML :
<freeForm>
<text>mnr.getValue().put("xyz","pqr");</text>
</freeForm>
желаемый, правильный результат получается :
xyz