我是XML和XSLT的新手。我有一个xml文件(book.xml)
我想用xsl转换创建HTMLtable并在该表中显示书籍的详细信息。这是我的xslt代码
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="seite">
<xsl:apply-templates select="document('book.xml')"/>
</xsl:template>
<xsl:template match="catalog">
<html>
<head>
<title>
<xsl:text>book</xsl:text>
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<xsl:text>Lieferungen</xsl:text>
</h1>
<hr/>
<table border="1">
<tr>
<th>Nummer</th>
<th>author</th>
<th>titel</th>
<th>genre</th>
</tr>
<xsl:apply-templates/>
</table>
<hr/>
<p>
<xsl:text>Mit Webfehler: Wie vermeidet man die falsch sortieren Spalten?</xsl:text>
</p>
</body>
</html>
</xsl:template>
<xsl:template match="artikel">
<tr>
<td>
<xsl:value-of select="@id"/>
</td>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="author|titel|genre">
<td>
<xsl:apply-templates/>
</td>
</xsl:template>
</xsl:stylesheet>
但我无法在浏览器中看到该表。我只看到XML文件。请问我该如何正确地做到这一点? 感谢'为你的帮助
答案 0 :(得分:1)
您可能需要将xsl引用添加到.xml
<?xml-stylesheet type="text/xsl" href="myTransform.xsl"?>
其余的.xml跟随
否则你应该使用一个xslt处理器,它将根据你的.xml和.xsl创建你的html。
编辑:
对于visual studio,请访问:http://msdn.microsoft.com/en-us/library/aa302298.aspx
答案 1 :(得分:0)
在第一行之后将以下行添加到XML:
<?xml-stylesheet type="text/xsl" href="book.xsl"?>
并保存为book.xml
编辑您的XSL文件并将其作为book.xsl
保存在与XML文件相同的文件夹中
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- You need a root xsl:template tag that matches the whole document -->
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="catalog">
<html>
<head>
<title>
<xsl:text>book</xsl:text>
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<xsl:text>Lieferungen</xsl:text>
</h1>
<hr/>
<table border="1">
<!-- I added thead and tbody just to make it prettier -->
<thead>
<tr>
<th>Nummer</th>
<th>author</th>
<th>titel</th>
<th>genre</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</table>
<hr/>
<p>
<xsl:text>Mit Webfehler: Wie vermeidet man die falsch sortieren Spalten?</xsl:text>
</p>
</body>
</html>
</xsl:template>
<xsl:template match="book">
<tr>
<td>
<xsl:value-of select="@id"/>
</td>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="author|title|genre">
<td>
<xsl:apply-templates/>
</td>
</xsl:template>
<!-- If you do not need to output anything from these tags
add an xsl:template that matches them and outputs nothing -->
<xsl:template match="price|publish_date|description"></xsl:template>
</xsl:stylesheet>
在Firefox中打开book.xsl
(它可能也适用于IE)