2016-11-21 4 views
0

Я застрял в этом довольно простом заявлении. Я пытаюсь использовать синтаксис xsl: select, чтобы получить значение источника, который является «1» для отображения в качестве позиции на рабочем месте, например «Партнер». Это результат я поиске:Noob запрос относительно xsl: выберите оператор

<PresTimekeeper1_TkprDate_Title>1</PresTimekeeper1_TkprDate_Title> 

выбрать заявление, я использую это:

<xsl:choose> 
    <xsl:when test="./Attributes/PresTimekeeper1_TkprDate_Title = '1'"> 
    <xsl:value-of select="Partner" /> 
    </xsl:when> 
</xsl:choose> 

Когда я бегу

<xsl:value-of select="./Attributes/PresTimekeeper1_TkprDate_Title" /> 

Выходной файл отображается номер 1. Так что я знаю, что я использую правильный источник.

Как определить значение 1, чтобы значение отображало слово «Партнер», а не число 1?

Я извиняюсь, если я не правильно объяснил себя.

+1

Пожалуйста, покажите нам полный XML. Также читайте https://stackoverflow.com/help/mcve – potame

+0

Есть ли у вашего 'xsl: choose' другие параметры рядом с единственным символом' xsl: when'? Если нет, вам лучше использовать 'xsl: if'. –

ответ

1

Самый идиоматических способ написания этого будет

<xsl:if test="./Attributes/PresTimekeeper1_TkprDate_Title = '1'" 
    >Partner</xsl:if> 

Некоторые люди предпочитают ставить символьной строки в пределах xsl:text элемента.

Я лично, как идиомы:

<xsl:value-of select="'Partner' 
    [current()/Attributes/PresTimekeeper1_TkprDate_Title = '1']"/> 

Но я не вижу много людей, использующих его.

1

Инструкция:

<xsl:value-of select="Partner" /> 

ищет дочерний узел с именем Partner. Если вы хотите, необработанный текст «Партнер», вы должны использовать:

<xsl:value-of select="'Partner'" /> 

или, предпочтительно:

<xsl:text>Partner</xsl:text> 

Вы также можете поместить текст непосредственно в xsl:when инструкции (без дополнительной пробелы):

<xsl:when test="./Attributes/PresTimekeeper1_TkprDate_Title = '1'">Partner</xsl:when> 
Смежные вопросы