`
wuce7758
  • 浏览: 181582 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • YTT1121: 有网络拓扑发现的源代码么?能不能发我一份学习一下,现在我正要做 ...
    java拓扑图
  • YTT1121: 大神,有网络拓扑发现的源代码么?或者您会编写么?我需要做科研改 ...
    java拓扑图
  • YTT1121: 大神,有网络拓扑发现的源代码么?或者您会编写么?我需要做科研改 ...
    java拓扑图
  • poettang: 求代码分享学习,谢谢!膜拜大神!258026921@qq.co ...
    java拓扑图
  • oiqio: 87836238@qq.com,感谢楼主,来一份~
    java拓扑图

XSL学习笔记3 XSLT的模板规则<xsl:value-of>和<xsl:for-each>

阅读更多

 

XSL学习笔记3 XSLT的模板规则<xsl:value-of>和<xsl:for-each>
 
1、<xsl:value-of>元素
  
<xsl:value-of>元素是选择当前节点的值,用于在结果树中创建一个文本节点。例如<xsl:value-of select="Name" />就是选择Name节点的值。

select属性是必须的,用于指定要计算的表达式,表达式计算的结果将被转换为一个字符串值。如果字符串为空,那么文本节点将不会被创建。
 
注意,每个xsl文件都需要导入xsl的命名空间,[url]http://www.w3.org/TR/WD-xsl[/url],例如在xml头声明之后加入:<p xmlns:xsl="[url]http://www.w3.org/TR/WD-xsl[/url]">
 
2、<xsl:for-each>元素
 
  <xsl:for-each>元素逐个(select)选择某条件,应用条件。select属性是必须的,用于指定一个表达式,该表达式计算结果必须是一个节点集。<xsl:for-each>元素的内容是一个模板,对于每一个被选择的节点,实例化该模板。
 
for-each还支持排序,order-by语句,它的语法是以分号(;)分隔、作为排序标准的列表。在列表元素前添加加号(+)表示按此标记的内容以升序排序,添加减号(-)表示逆序排序。作为一种简化的表示就是,排序标准列表就是由select规定的标记的子标记的序列,每个标记之间以(;)分隔。
 
employee.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="src/employees44.xsl"?>
<employees>

    <employee sn="E-200402100001">
        <name>zhangsan</name>
        <age>25</age>
        <monthly_pay mode="cash">
            1200.00
        </monthly_pay>
    </employee>

    <employee sn="E-200402100006">
        <name>lisi</name>
        <age>28</age>
        <monthly_pay mode="cash">
            1600.00
        </monthly_pay>
    </employee>

    <employee sn="E-200503220001">
        <name>wangwu</name>
        <age>30</age>
        <monthly_pay mode="credit_card">
            3500.00
        </monthly_pay>
    </employee>

</employees>
 
employee.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
        <html>
            <head></head>
            <xsl:apply-templates/>
        </html>
    </xsl:template>
    
    <xsl:template match="employees">
        <body>
            <table border="1">
                <xsl:for-each select="employee">
                    <tr>
                        <td><xsl:value-of select="name"/></td>
                        <td><xsl:value-of select="age"/></td>
                        <td><xsl:value-of select="monthly_pay"/></td>
                    </tr>
                </xsl:for-each>
            </table>
        </body>
    </xsl:template>
    
</xsl:stylesheet>
 
通过xslt处理器转换为html结果为:
<html>
<head>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
<table border="1">
    <tr>
        <td>zhangsan</td>
        <td>25</td>
        <td>1200.00</td>
    </tr>
    <tr>
        <td>lisi</td>
        <td>28</td>
        <td>1600.00</td>
    </tr>
    <tr>
        <td>wangwu</td>
        <td>30</td>
        <td>3500.00</td>
    </tr>
</table>
</body>
</html>
分享到:
评论

相关推荐

    XSL学习 XSL学习.pdf

    这里的 `&lt;xsl:for-each&gt;` 选取了所有 `会员` 节点,并对每个节点执行一次模板中的代码。 #### 七、XPath 表达式 XPath 是一种用于在 XML 文档中进行导航的语言,它可以非常灵活地选择 XML 文档中的节点。例如,在...

    xslt元素使用说明

    XSLT还包含了更多其他元素和功能,例如 `&lt;xsl:decimal-format&gt;`、`&lt;xsl:element&gt;`、`&lt;xsl:key&gt;` 等等。每个元素都有其独特的用途,了解它们可以帮助开发人员更高效地进行XML数据的转换和处理。接下来将继续介绍更多...

    xslt介绍

    5. `&lt;xsl:for-each&gt;` 元素:这个元素用于遍历一个节点集,并对每个节点应用嵌套的模板。它使用`select`属性来指定要遍历的节点集。 ```xml &lt;xsl:for-each select="Expression"&gt; &lt;!-- 对每个节点应用模板 --&gt; &lt;/...

    XSLT.rar_xslt

    在这个文件中,我们将编写XSLT指令,比如`&lt;xsl:template&gt;`定义模板,`&lt;xsl:for-each&gt;`遍历元素,以及`&lt;xsl:value-of&gt;`选取元素的值。例如,如果“原料库.XML”中的数据组织为`&lt;material&gt;&lt;name&gt;原料A&lt;/name&gt;&lt;origin&gt;...

    eclipse-testng 离线包下载

    &lt;xsl:output name="xml" method="xml" indent="yes"/&gt; &lt;xsl:output name="html" method="html" indent="yes" omit-xml- declaration="yes"/&gt; &lt;xsl:output name="xhtml" method="xhtml" indent="yes" omit-xml-...

    XSLT参考手册(根据w3schools的XSLT教程翻译改编而成)

    以上介绍的 `&lt;xsl:apply-imports&gt;` 和 `&lt;xsl:apply-templates&gt;` 是 XSLT 中非常核心的部分,前者主要用于处理外部导入的样式表中的模板规则,而后者则是在当前样式表内部处理节点集的选择与模板的应用。正确理解这两...

    Xslt语法参考手册.pdf

    &lt;p&gt;Author: &lt;xsl:value-of select="author"/&gt;&lt;/p&gt; &lt;/xsl:template&gt; ``` 6. **`&lt;xsl:choose&gt;` 元素** - **定义与用法**:用于基于条件来选择不同的分支执行。这是实现条件逻辑的关键元素。 - **语法**:`&lt;xsl:...

    XSLT 元素使用说明

    这意味着当遇到`&lt;xsl:apply-imports&gt;`时,XSLT处理器会查找并应用任何通过`&lt;xsl:import&gt;`指令引入的模板。 - 这个元素常用于继承机制,使得子样式表能够继承父样式表的功能,同时还能覆盖或扩展父样式表的行为。 - ...

    [xslt]xml文件

    XSLT提供了丰富的功能,包括条件判断(`&lt;xsl:if&gt;`)、循环(`&lt;xsl:for-each&gt;`)、模板匹配(`&lt;xsl:template&gt;`)以及函数调用等,使得XML数据可以根据需要被灵活地呈现和转换。 在实际应用中,XSLT通常与XML解析器...

    XSL中进行字符串替换

    &lt;xsl:value-of select="$ToString"/&gt; &lt;!-- 递归调用自身处理剩余部分 --&gt; &lt;xsl:call-template name="StringReplace"&gt; &lt;xsl:with-param name="SrcString" select="substring-after($SrcString, $FromString)"/&gt; ...

    完美的xslt数值函数与字符串函数.pdf

    &lt;xsl:value-of select="number('100')"/&gt; &lt;!-- 输出:100 --&gt; &lt;xsl:value-of select="number('-3.14')"/&gt; &lt;!-- 输出:-3.14 --&gt; ``` 2. `fn:abs(num)`:返回数值的绝对值。 示例: ```xml &lt;xsl:value-of ...

    Xsl参考(pdf)

    `&lt;xsl:apply-templates&gt;` 是XSLT中最常用和最核心的元素之一,它负责应用匹配选择的模板。此元素允许你指定一组模板应该应用于哪些节点,从而控制XSLT转换的流程。 **语法:** ```xml &lt;xsl:apply-templates select=...

    xml 循环输出

    在循环体内,我们使用`&lt;xsl:value-of&gt;`选择器来获取并输出`book`元素的属性(如`@id`)和子元素(如`title`和`author`)的值。 运行这个XSLT转换后,我们将得到如下输出: ``` 1 - Book1 by Author1 2 - Book2 by ...

    XSLT元素使用说明

    `&lt;xsl:apply-imports&gt;`元素在XSLT中被用来执行由`&lt;xsl:import&gt;`语句导入的样式表中的模板。当XSLT处理器遇到`&lt;xsl:apply-imports&gt;`元素时,它将查找是否有任何适用的模板来自已导入的样式表,并执行它们。这在需要...

    xml技术文档

    `&lt;xsl:key&gt;`定义索引,`&lt;xsl:template match=pattern name=qname priority=number mode=tokens&gt;`定义模板匹配规则,`&lt;xsl:choose&gt;`, `&lt;xsl:when&gt;` 和 `&lt;xsl:otherwise&gt;` 用于条件判断,而`&lt;xsl:for-each&gt;`则用于循环...

    XML应用开发(软件品牌)-1期 第5单元 单元测试卷-使用XSLT显示XML文档.doc

    2. XSLT的流程控制包括`&lt;xsl:if&gt;`进行条件判断,`&lt;xsl:for-each&gt;`进行循环,以及`&lt;xsl:choose&gt;`, `&lt;xsl:when&gt;`, `&lt;xsl:otherwise&gt;`进行多分支选择。例如: ```xml &lt;xsl:for-each select="cd"&gt; &lt;xsl:if test="price ...

    xml和xsl生成html页面

    此外,XSL还提供了更高级的功能,如条件语句(`&lt;xsl:if&gt;`)、循环(`&lt;xsl:for-each&gt;`)、模板调用(`&lt;xsl:call-template&gt;`)以及变量和函数,可以实现复杂的转换逻辑。通过熟练掌握XML和XSL,开发者能够创建出结构...

    xsl.rar_XSL形式

    `&lt;xsl:value-of&gt;`标签用于提取并显示XML中相应元素的值,如ID、姓名、照片链接(假设照片以URL形式存储)和提示文字。 如果压缩包中还包括一个XML文件,如"students.xml",它可能包含以下结构: ```xml &lt;students&gt;...

Global site tag (gtag.js) - Google Analytics