第一行的 XSLT 特殊条件 [英] XSLT special condition for first row

查看:25
本文介绍了第一行的 XSLT 特殊条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 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屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆