在运行时,我可以有两种格式的XML文件:
<root>
<diagram>
<graph color= "#ff00ff">
<xaxis>1 2 3 12 312 3123 1231 23 </xaxis>
<yaxis>1 2 3 12 312 3123 1231 23 </yaxis>
</graph>
</diagram>
</root>
<root>
<diagram>
<graph>
<xaxis>1 2 3 12 312 3123 1231 23 </xaxis>
<yaxis>1 2 3 12 312 3123 1231 23 </yaxis>
</graph>
</diagram>
</root>
取决于颜色属性的存在 我必须处理xaxis和yaxis的值。
我需要使用XSL来做到这一点。 任何人都可以帮我暗示我可以检查这些条件的片段。
我尝试使用
<xsl: when test="graph[1]/@color">
//some processing here using graph[1]/@color values
</xsl:when>
我收到了错误...
答案 0 :(得分:32)
答案 1 :(得分:17)
<xsl:template match="diagram/graph">
<xsl:choose>
<xsl:when test="@color">
Do the Task
</xsl:when>
<xsl:otherwise>
Do the Task
</xsl:otherwise>
</xsl:choose>
</xsl:template>**
答案 2 :(得分:4)
<xsl:when test="graph[1]/@color">
//some processing here using graph[1]/@color values
</xsl:when>
我将在这里猜测,因为您的问题缺少很多重要信息,例如<xsl:when...
出现的上下文。如果您的评论正确,您要执行的是处理graph[1]/xaxis
和.../yaxis
,而不是graph[1]/@color
值。
答案 3 :(得分:1)
我不明白 - 除了使用apply-templates进行一些轻微的语法调整之外:
<xsl:template match="graph[1][@color]">
<!-- your processing here -->
</xsl:template>
在不知道你真正想做什么的情况下,我们无法告诉你。