[英]Basic XML/XSLT : applying template to several elements
我正在嘗試自學XSLT。 這可能是一個非常基本的問題,但是在這里進行了大量搜索之后,以及在網絡上的其他站點上,我仍然無法解決此問題。
我一直在嘗試重新創建此問題中描述的方案: 如何處理XSLT中的嵌入式XML標簽?
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.html.xsl"?>
<favoriteMovies>
<favoriteMovie>the <i>Star Wars</i> saga</favoriteMovie>
</favoriteMovies>
這是XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<html>
<head />
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="/*">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="favoriteMovie">
<li><xsl:copy-of select="node()"/></li>
</xsl:template>
</xsl:stylesheet>
對於此特定示例,此方法工作正常。 但是當我添加另一部“喜歡的電影”時...
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="test.html.xsl"?>
<favoriteMovies>
<favoriteMovie>the <i>Star Wars</i> saga</favoriteMovie>
</favoriteMovies>
<favoriteMovies>
<favoriteMovie>the <i>Godfather</i> trilogy</favoriteMovie>
</favoriteMovies>
我得到的只是一個錯誤...
XML解析錯誤:文檔元素后出現垃圾信息位置:localhost:8888 / test.xml行號6,列1:^
為了使這項工作有效,我需要更改什么?
任何XML文檔都需要具有包含所有其他元素的單個頂級根元素,因此您需要例如
<root>
<favoriteMovies>
<favoriteMovie>the <i>Star Wars</i> saga</favoriteMovie>
</favoriteMovies>
<favoriteMovies>
<favoriteMovie>the <i>Godfather</i> trilogy</favoriteMovie>
</favoriteMovies>
</root>
要么
<favoriteMovies>
<favoriteMovie>the <i>Star Wars</i> saga</favoriteMovie>
<favoriteMovie>the <i>Godfather</i> trilogy</favoriteMovie>
<favoriteMovies>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.