从XSL文档创建XSLT工作表?不行吗完成XLT文档和XLS样式表

时间:2018-11-08 02:58:18

标签: html xml xslt

您好,我正在尝试使用XSLT样式表方法将XML文档元素放入表格格式。

XML文档

<?xml version="1.0"?>
<?xml-stylesheet href="Assignment2.xsl" type="text/xsl"?>
<cars orderid="199564"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="Assignment1.xsd">
	<make>Chevy</make>
	<model>Colorado</model>
	<year>2017</year>
	<color>Silver</color>
	<engine>
		<number_of_cylinders>6</number_of_cylinders>
		<fuel_system>fuel injected</fuel_system>
	</engine>
	<number_of_doors>4</number_of_doors>
	<transmission_type>automatic</transmission_type>
	<accessories>
		<number_of_cylinders>8</number_of_cylinders>
		<fuel_system>fuel injected</fuel_system>
	</accessories>
</cars>

XLS样式表(包含表格格式)

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

<xsl:template match="/">
<html>
<body>
<h2> Car Information </h2>

<table border="1">
<tr>
<th> Make</th>
<th> Model> </th>
<th> Year </th>
<th> Color </th>
<th> No. of Cylinders </th>
<th> Fuel_System </th>
<th> Number of Doors </th>
<th> Transmission Type </th>
</tr>

<xsl:for-each select="cars">
<tr>
<td><xsl:value-of select="make"/></td>
<td><xsl:value-of select="model"/></td>
<td><xsl:value-of select="year"/></td>
<td><xsl:value-of select="color"/></td>
<td><xsl:value-of select="engine/number_of_cylinders"/></td>
<td><xsl:value-of select="engine/fuel system"/></td>
<td><xsl:value-of select="number_of_doors"/></td>
<td><xsl:value-of select="transmission_type"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>


</xsl:template>
</xsl:stylesheet>

我观看了这段YouTube视频https://www.youtube.com/watch?v=BujLy71JY1k,介绍了如何在5分钟内创建XSLT。我看到那个家伙在XML文件本身中将XLS样式表文件链接到XML的位置。起初我以为我错过了这一部分,所以我回去尝试了一下,但并没有解决问题。我对此可能是错的,但我相信我的XML文档和XLS文件的格式都正确且正确。我在这里错过了哪些步骤?

P.S。我认为这没有什么太大的区别,但是我的桌面上的同一目录中同时包含XLS样式表文件和XML文档文件。

当我尝试加载XML文件时,我不断收到此错误消息XML Error loading stylesheet: X Path parse failure: operator expected message

文件路径的位置=(C:\ Users \ Drake \ Desktop \ Exercise 7.4)

Location of the XML and XLS Stylesheet file

谢谢您的反馈Drake!

1 个答案:

答案 0 :(得分:0)

替换

<td><xsl:value-of select="engine/fuel system"/></td>

使用

<td><xsl:value-of select="engine/fuel_system"/></td>