如何使用XML编码的HTML并创建XSLT?我有xml / html页面链接到XSLT文件,它显示文档中的文本,但不会显示链接或图片。 XML / HTML中的图像位于xml和xslt所在文件夹中名为images的文件夹中。
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="XLST.xslt"?>
<html>
<head>
<title>CATS! CATS! CATS!</title>
</head>
<body>
<h1>CATS</h1>
<p>
<a href=" www.google.com">Visit Google...</a>
</p>
Cats like milk!
<p>
<image> <img src="Cats.jpg" alt="Cats, so cute!"/></image>
</p>
</body>
</html>
和XSLT文件:
<?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">
<xsl:apply-templates select="body" />
</xsl:template>
<xsl:template match="body">
<img alt="">
<xsl:attribute name="src">
<xsl:value-of select="//Cats"/>
</xsl:attribute>
</img>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
将现有的xhtml文档转换为几乎完全相同的xhtml文档只需添加一些内容,这不是您通常会做的事情,但它相对容易。从仅包含身份模板的样式表开始:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
这将完全按原样输出xhtml,然后您可以添加模板以补充源xhtml。例如,添加:
<xsl:template match="body">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<img alt="" src="(insert url here)"/>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
将在body
元素的开头添加图像。它复制元素本身,然后复制它的属性,插入图像,然后复制子元素。