为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 <xsl:template match=""> 来匹配作者

如何使用 <xsl:template match=""> 来匹配作者

大话西游666 2023-10-10 14:49:41
我正在尝试使用 XML 和 XSL (XSLT) 生成 HTML 文件。我想展示某个作者(EX“Mario Vargas Llosa”)写的所有书籍。如何使用 xsl:template 中的 match 属性来做到这一点?XML代码:<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href="template.xsl" type="text/xsl" ?><library>  <book>    <title language="es">La vida está en otra parte</title>    <author>Milan Kundera</author>    <publishDate year="1973"/>  </book>  <book>    <title language="es">Pantaleón y las visitadoras</title>    <author>Mario Vargas Llosa</author>    <publishDate year="1973"/>  </book>  <book>    <title language="es">Conversación en la catedral</title>    <author>Mario Vargas Llosa</author>    <publishDate year="1969"/>  </book>  <book>    <title language="en">Poems</title>    <author>Edgar Allan Poe</author>    <publishDate year="1890"/>  </book>    <book>    <title language="fr">Les Miserables</title>    <author>Victor Hugo</author>    <publishDate year="1862"/>  </book>    <book>    <title language="es">Plenilunio</title>    <author>Antonio Muñoz Molina</author>    <publishDate year="1997"/>  </book>  </library>XSLT 代码:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">    <html>    <head>        <link rel="stylesheet" href="style.css"/>    </head>        <body>            <xsl:for-each select="library/book">                <h1>Title:                     <xsl:value-of select="title"/>                </h1>                <p>                    <strong>Author: </strong>                    <xsl:value-of select="author"/>                </p>                <p>                    <strong>Publishing date: </strong>                    <xsl:value-of select="publishDate/@year"/>                </p>            </xsl:for-each>        </body>    </html></xsl:template>提前致谢。
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

将您的 XSLT 文件更改为


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

    <xsl:template match="/">

        <html>

        <head>

            <link rel="stylesheet" href="style.css"/>

        </head>

            <body>

                <xsl:for-each select="library/book[author='Mario Vargas Llosa']">

                    <h1>Title: 

                        <xsl:value-of select="title"/>

                    </h1>

                    <p>

                        <strong>Author: </strong>

                        <xsl:value-of select="author"/>

                    </p>

                    <p>

                        <strong>Publishing date: </strong>

                        <xsl:value-of select="publishDate/@year"/>

                    </p>

                </xsl:for-each>

            </body>

        </html>

    </xsl:template>

</xsl:stylesheet>

你的xsl:for-each意志会迭代<book>“马里奥·巴尔加斯·略萨”的所有内容。所以输出(在你的浏览器中)将是

https://img1.sycdn.imooc.com//6524f43f0001f46206290272.jpg

查看完整回答
反对 回复 2023-10-10
?
Qyouu

TA贡献1786条经验 获得超11个赞

XSLT 中的一行修改。您需要添加一个谓词。

<xsl:for-each select="library/book[author='Mario Vargas Llosa']">


查看完整回答
反对 回复 2023-10-10
  • 2 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信