XSLT: se houver tag, aplique o modelo; caso contrário, escolha o valor estático
Eu sou novo no XSLT em geral, por favor, tenha paciência comigo ...
Com isso em mente, o que estou tentando fazer é verificar uma determinada marca no XML. Se estiver lá, quero aplicar um modelo. Caso contrário, quero adicioná-lo (como um valor em branco). Basicamente, sempre forçando-o a estar na saída final. Como eu faria isso
Eu tive algo assim ...
<xsl:choose>
<xsl:when test="@href">
<xsl:apply-templates select="country" />
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
A parte superior do código é o que acho que estou errado. Precisa de algo nootherwise
tag e meuwhen
parte está errada, eu acho.
<xsl:template match="country">
<xsl:if test=". != '' or count(./@*) != 0">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
Pode alguém ajudar? Agradeço antecipadamente
EDITAR
Sim, no final, eu preciso de pelo menos um<country />
para estar no XML. Mas é possível que não existaem absolut. Se não existir, eu tenho que colocá-lo. Um bom exemplo de entrada seria<country>US</country>