2012-06-08 23 views

Respuesta

6

¿Se permite la instrucción IF O condición?

No, pero XPath tiene un operador or - tenga en cuenta que XPath distingue entre mayúsculas y minúsculas.

La expresión XPath en el código proporcionado:

node = '1' or node='2' 

es sintácticamente correcto.

or es una standard XPath operator y se puede utilizar para combinar dos subexpresiones.

[33] OperatorName :: = 'and' | 'o' | 'mod' | 'Div'

Aquí es un ejemplo completo de transformación XSLT:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy> 
    <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="num[ . = 3 or . = 5]"/> 
</xsl:stylesheet> 

Cuando se aplica esta transformación en el siguiente documento XML:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>03</num> 
    <num>04</num> 
    <num>05</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 

el, resultado correcto deseado se produce (todos los elementos copiados con la excepción de <num>03</num> y <num>05</num>:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>04</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 
1

Puede usar o simplemente como lo hizo en su ejemplo. Here son los operadores admitidos en XSLT.

+0

Oleksi: Los operadores del lenguaje XPath están en las respectivas especificaciones W3C: este es el único documento * normativo * para XPath. ** Publicar una referencia a w3schools es incorrecto y en realidad es un mal consejo para el OP **. Lea más acerca de la confiabilidad de w3schools en: http://w3fools.com/ –

+0

El enlace hace 404 ahora. – dummy

Cuestiones relacionadas