Получение определенной подстроки с использованием xslt1.0 - PullRequest
1 голос
/ 01 апреля 2012

У меня есть строка, как показано ниже.

<freeForm>
   <text>mnr.getValue().put("xyz","pqr");</text>
</freeForm>

Из приведенной выше части xml мне нужно получить строку xyz .

Пожалуйста, укажите указатели для достижениято же самое, используя xslt1.0.

1 Ответ

0 голосов
/ 02 апреля 2012

Используйте это выражение XPath :

substring-before(
     substring-after(/*/*, &apos;"&apos;),
     &apos;"&apos;
                 )

Вот краткое, полное 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(/*/*, &apos;"&apos;),
         &apos;"&apos;
                     )'/>
 </xsl:template>
</xsl:stylesheet>

Когда это преобразование применяется к предоставленному документу XML :

<freeForm>
   <text>mnr.getValue().put("xyz","pqr");</text>
</freeForm>

желаемый, правильный результат получается :

xyz
...