2017-01-30 13 views
0

Я пытаюсь добавить или условие в xslt?как добавить или условие в xslt?

вот мой код

http://xsltransform.net/ncntCSP

Я хочу, чтобы проверить узел («а» в моем примере) .Если она присутствует, то получить это значение еще получить значение от другого узла («Ъ» в мой пример)

первый случай:

XML

<c> 
<a>sss</a> 
<b>hhhh</b> 
</c> 

ожидается из положить

<h1>sss</h1> 

второй случай

<c> 

<b>hhhh</b> 
</c> 

ожидаемый результат

<h1>hhhh</h1> 

ответ

0

ли что-то вроде:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output encoding="UTF-8" indent="yes" method="xml"/> 
    <xsl:strip-space elements="*"/> 
    <xsl:template match="/"> 
    <h1> 
     <xsl:value-of select="c[a]/a | c[not(a)]/b"/> 
     </h1> 
    </xsl:template> 
</xsl:stylesheet> 

ли объединение двух выражений, выбор a внутри c если существует, то выбор b внутри c если a не существует.

+0

Проверка 'c [a]/a' избыточна,' c/a' будет достаточно. – Madeyedexter

+0

yu использует xslt 2 ..? – user5711656

+0

нет, просто XSLT-1.0 – Madeyedexter