Учитывая этот XML, есть ли xpath, который даст мне значения 'test' и 'name'? - PullRequest
0 голосов
/ 19 сентября 2008

Мне нужно получить значение атрибута test в теге xsl: when и атрибута name в теге xsl: call-template Этот xpath очень близко подходит ко мне:

..../xsl:template/xsl:choose/xsl:when

Но это просто возвращает элементы 'когда', а не точные значения атрибутов, которые мне нужны.

Вот фрагмент моего XML:

<xsl:template match="field">
    <xsl:choose>
    <xsl:when test="@name='First Name'">
        <xsl:call-template name="handleColumn_1" /> 
    </xsl:when>
</xsl:choose>

Ответы [ 2 ]

2 голосов
/ 19 сентября 2008

хочешь .../xsl:template/xsl:choose/xsl:when/@test

Если вы действительно хотите получить значение «Имя» из атрибута test, вам не повезло - содержимое внутри атрибута представляет собой просто строку, а не фрагмент XML, поэтому вы можете это. Если вам нужно это получить, вы должны использовать манипуляции со строками (например, подстрока), чтобы получить правильный контент

1 голос
/ 19 сентября 2008

Стив Купер ответил на первую часть. Для второй части вы можете использовать:

.../xsl:template/xsl:choose/xsl:when[@test="@name='First Name'"]/xsl:call-template/@name

Что будет точно соответствовать xsl: в приведенном выше фрагменте. Если вы хотите, чтобы оно совпадало в целом, вы можете использовать:

.../xsl:template/xsl:choose/xsl:when/xsl:call-template/@name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...