2015-10-22 2 views
1

я следующий XMLXSL конкатенации с вложенным, если условия

<string1>Y</string1> 
<string2>aaabbbcccddd</string2> 
<string3>I have to concatentate this</string3> 

Я должен объединить эти три элемента следующим образом. Если флаг Y существует для string1, тогда жесткий код «Flag Y exists» + string2 (если существует) + string3. Пожалуйста, помогите мне с Xsl фразой Спасибо заранее

ответ

0

Я не вижу необходимости здесь гнездится:

<xsl:if test="string1='Y'"> 
    <xsl:value-of select="concat('Flag Y exists', string2, string3)"/> 
</xsl:if> 

Те три работают, но теперь в XML я есть дополнительные <string4>string4</string4>. , который также должен быть добавлен в конкатенацию , но, только если он не пуст. Если это условие соответствует то жесткий код «String4 не пуст» должен быть добавлен

Здесь вложенности нужен я полагаю ...

Да, но это довольно тривиально:

<xsl:if test="string1='Y'"> 
    <xsl:value-of select="concat('Flag Y exists', string2, string3)"/> 
    <xsl:if test="string(string4)">string4 is not empty</xsl:if> 
</xsl:if> 
+0

OK, спасибо, но как насчет string2. Он должен быть конкатенирован только в том случае, если существует –

+0

@ MarcinSokołowski Если его не существует, то на его месте не будет объединено ничто (пустая строка). Попробуй. –

+0

Эти три работают, но теперь в xml у меня есть дополнительные string4. который также должен быть добавлен к конкатенации, но только если он не пуст. Если это условие согласовано, тогда должен быть добавлен «string4» с жестким кодом «нет». –