第一行的 XSLT 特殊条件 [英] XSLT special condition for first row
问题描述
我正在尝试使用 xslt 解析 xml 文件.
我需要将值分组在一个 div 标签中.第一行 div 标签应该有一个特殊的类
.如何为第一行和所有其他带有 class="tabpanel" 的行分配 class="firstrow"?
源代码
<column1>ABC</<column1><column2>ABC</<column2></row><行><column1>123</<column1><column2>123</<column2></row><行><column1>234</<column1><column2>234</<column2></row>
我想要的输出
美国广播公司美国广播公司<div class="tabpanel">123123
<div class="tabpanel">234234
谢谢
就这么简单:
<xsl:output omit-xml-declaration="yes" indent="yes"/><xsl:template match="row[1]"><div class="firstrow"><xsl:value-of select="."/></div></xsl:模板><xsl:template match="row"><div class="tabpanel"><xsl:value-of select="."/></div></xsl:模板></xsl:stylesheet>
将此转换应用于此 XML 文档时(提供的文档,格式正确!):
<行><column1>ABC</column1><column2>ABC</column2></row><行><column1>123</column1><column2>123</column2></row><行><column1>234</column1><column2>234</column2></row></t>
产生了想要的、正确的结果:
美国广播公司美国广播公司<div class="tabpanel">123123
<div class="tabpanel">234234
I am trying to parse an xml file with xslt.
I need to have the values grouped in a div tag.
First row the div tag should have a special class <div class="firstrow">
All other rows should have <div class="tabpanel">
.
How can I assign the class="firstrow" for first row and all other rows with class="tabpanel"?
source xml
<row>
<column1>ABC</<column1>
<column2>ABC</<column2>
</row>
<row>
<column1>123</<column1>
<column2>123</<column2>
</row>
<row>
<column1>234</<column1>
<column2>234</<column2>
</row>
Output I want
<div class="firstrow">
ABC
ABC
</div>
<div class="tabpanel">
123
123
</div>
<div class="tabpanel">
234
234
</div>
Thanks
As simple as this:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="row[1]">
<div class="firstrow"><xsl:value-of select="."/></div>
</xsl:template>
<xsl:template match="row">
<div class="tabpanel"><xsl:value-of select="."/></div>
</xsl:template>
</xsl:stylesheet>
When this transformation is applied on this XML document (the provided one, made well-formed!):
<t>
<row>
<column1>ABC</column1>
<column2>ABC</column2>
</row>
<row>
<column1>123</column1>
<column2>123</column2>
</row>
<row>
<column1>234</column1>
<column2>234</column2>
</row>
</t>
the wanted, correct result is produced:
<div class="firstrow">
ABC
ABC
</div>
<div class="tabpanel">
123
123
</div>
<div class="tabpanel">
234
234
</div>
这篇关于第一行的 XSLT 特殊条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!