XSL / ДЛЯ пропуска значения в инструкции Choose

#xml #xslt #xslt-1.0 #apache-fop

#xml #xslt #xslt-1.0 #apache-fop

Вопрос:

Я пытаюсь найти способ пропустить значение в моем шаблоне XSL. Значение находится в теге select=»ID», который называется «Редактор». Я пытаюсь пропустить определенное значение в инструкции Choose when, и я не уверен, что это возможно.

         <xsl:param name="caption">
            <xsl:choose>
                <xsl:when test="Description"><xsl:value-of select="Description" /></xsl:when>
                <xsl:otherwise><xsl:value-of select="ID" /></xsl:otherwise>
            </xsl:choose>
        </xsl:param>
  

Как я мог бы получить оператор xsl в приведенной выше логике, чтобы пропустить значение в идентификаторе, вызываемом редактором?

Ответ №1:

 <xsl:param name="caption">
    <xsl:choose>
        <xsl:when test="Description"><xsl:value-of select="Description" /></xsl:when>
        <xsl:otherwise><xsl:value-of select="ID[not(. = 'Editor')]" /></xsl:otherwise>
    </xsl:choose>
</xsl:param>
  

«Значение любого <ID> , которое не равно 'Editor' » .

Поэтому, если есть только один <ID> , выбирается 1 или 0 узлов.

Комментарии:

1. вот как вы это делаете… Большое вам спасибо