我正在尝试创建一个HTML页面,它是一个建筑物的图像地图,其中包含人物的名称和从XML文件中获取的图片,并放置在特定坐标(由CSS定义)的地图上。这是XSL文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/dataset/custodians">
<html>
<head>
<title>
</title>
</head>
<body>
<xsl:for-each select='custodian'>
<p>
<xsl:attribute name="id"><xsl:value-of select="location"/></xsl:attribute>
<xsl:attribute name="class">custodian</xsl:attribute>
<br/>
<div>
<xsl:attribute name="class">hover_img</xsl:attribute>
<a>
<xsl:attribute name="href">#</xsl:attribute>
<span>
<img>
<xsl:attribute name="src"> <xsl:value-of select="pic"> </xsl:value-of> </xsl:attribute>
</img>
</span></a>
</div>
<br/>
<xsl:value-of select="name"></xsl:value-of>
<br/>
<xsl:value-of select="location_string"></xsl:value-of>
<br/>
<xsl:value-of select="phone"></xsl:value-of>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我针对此XML文件运行XSL文件:
<dataset>
<custodians>
<custodian>
<name> Person 1 </name>
<location>location1_004</location>
<location_string>1-004</location_string>
<pic>H:\path\to\image1.jpg</pic>
<phone>861-6969</phone>
</custodian>
<custodian>
<name> Person 2 </name>
<location>location1_027</location>
<location_string>1-027</location_string>
<pic>H:\path\to\image2.jpg</pic>
<phone>861-6868</phone>
</custodian>
</custodians>
</dataset>
我得到的输出显示屏幕侧面的名称,而不是在地图上的正确位置。在我开始尝试将图像添加到XSL文件之前,一切正常。
我在XSL文件中做错了什么?