我正在尝试在html页面上使用xml显示一个表。
基本上是:
xml将用作存储要放在桌面上的数据的文件
定义商家信息数据类型的dtd文件
以及一个xsl文件,用于告诉浏览器显示内容以及如何显示。
这是一项任务,我只是想学习并改进它。
在我的在线检查期间,我看到了不同的教程,但没有一个显示我想要的完整步骤。
如果有人能够按照我提到的步骤并在表格中显示如何解决这个问题,我将不胜感激。
答案 0 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1" cellpadding="3">
<tr>
<td colspan="5" align="center">
<!-- Filter for the project name and display it in a header. -->
<h2>
<font face="tahoma" size="5">
Status for: <xsl:value-of select="Project/Name" />
</font>
</h2>
</td>
</tr>
<!-- Define headers for task information. -->
<tr>
<td colspan="5" align="center">
Tasks:
</td>
</tr>
<tr>
<th>
<font color="black">ID</font>
</th>
<th>
<font color="black">Name</font>
</th>
<th>
<font color="black">Priority</font>
</th>
<th>
<font color="black">Start</font>
</th>
<th>
<font color="black">Finish</font>
</th>
</tr>
<!-- Filter for tasks -->
<xsl:for-each select="Project/Tasks/Task">
<!-- Exclude summary tasks -->
<xsl:if test="Summary[.=0]">
<xsl:choose>
<!-- Display information for critical tasks with a colored background. -->
<xsl:when test="Critical[.=1]">
<tr>
<td>
<xsl:value-of select="ID"/>
</td>
<td>
<b>
<xsl:value-of select="Name"/>
</b>
</td>
<td>
<b>
<xsl:value-of select="Priority"/>
</b>
</td>
<td>
<b>
<xsl:value-of select="Start"/>
</b>
</td>
<td>
<b>
<xsl:value-of select="Finish"/>
</b>
</td>
</tr>
</xsl:when>
<!-- Display information for noncritical tasks with a white background. -->
<xsl:otherwise>
<tr>
<td>
<xsl:value-of select="ID"/>
</td>
<td>
<xsl:value-of select="Name"/>
</td>
<td>
<xsl:value-of select="Priority"/>
</td>
<td>
<xsl:value-of select="Start"/>
</td>
<td>
<xsl:value-of select="Finish"/>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:for-each>
<!-- Define headers for overallocated resource information. -->
<tr>
<td colspan="5" align="center">
Overallocated Resources:
</td>
</tr>
<tr>
<th>
<font color="black">ID</font>
</th>
<th colspan="2">
<font color="black">Name</font>
</th>
<th colspan="2">
<font color="black">Overtime Rate</font>
</th>
</tr>
<!-- Filter for resources -->
<xsl:for-each select="Project/Resources/Resource">
<!-- Sort resources alphabetically by name -->
<xsl:sort select="Name" />
<!-- Display information for only resources that are overallocated. -->
<xsl:if test="OverAllocated[.=1]">
<tr>
<td>
<xsl:value-of select="ID"/>
</td>
<td colspan="2">
<xsl:value-of select="Name"/>
</td>
<td colspan="2" align="center">
$<xsl:value-of select="OvertimeRate"/>.00
</td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
&#13;
也许你可以尝试这样的东西..填写数据字段,并且可以包含..dtd进行xml验证
以下是有效的教程:http://www.xmlmaster.org/en/article/d01/c07/ 和 http://www.codeproject.com/Articles/469723/Rendering-XML-Data-as-HTML-using-XSL-Transformatio