XSLT: ¿Cómo encontrar el recuento de hijos únicos de un nodo?
Mi XML se ve así:
<foo>
<bar name="a">
<baz name="xyz">
<time>2</time>
<date>3</date>
</baz>
</bar>
<bar name="b">
<baz name="xyz">
<time>2</time>
<date>3</date>
</baz>
</bar>
<bar name="c">
<baz name="xyz">
<time>2</time>
<date>3</date>
</baz>
</bar>
</foo>
Estoy escribiendo un XSL que necesita funcionar así: si todo elbaz
los niños son iguales entoncesdoSomething
másdoSomethingElse
. Mi nodo actual esfoo
.
Soy nuevo en XSLT y conozco los condicionales en XSL. Se ve algo así a partir de ahora:
<xsl:template match="foo">
<xsl:choose>
<xsl:when test="[My condition]">
doSomething()
</xsl:when>
<xsl:otherwise>
doSomethingElse()
</xsl:otherwise>
</xsl:choose>
</xsl:template>
En el ejemplo actual, deberíadoSomething()
como todos losbaz
Los elementos son iguales.
Si descubro el número de únicosbaz
elementos, puedo probar si es igual a uno. Si es así, entonces lo harédoSomething()
másdoSomethingElse()
¿Cómo debo implementar esto? Que deberíaMyCondition
¿ser?
PD: mi versión XSL es 1.0