我需要将xml转换为html。我正在使用xsl和xsltproc,但注意到我需要知道xml结构才能为其生成正确的html。我想创建xsl,无论其结构如何,xsl对于所有xml文档都是通用的。 任何想法都将不胜感激。
例如,我想要的只是在转换器看到xml标记para的地方,用html标记p和par的值替换它,而无需记住xml的结构。我需要xml的副本,但需要html。
答案 0 :(得分:0)
给出示例XML ...
this.expressApp.get("/*", function (req, res, next) {
return res.sendFile(clientFolder + '/index.html');
})
例如,我想要的只是在转换器看到xml标记para的任何地方,用html标记p和par的值替换它,而无需记住xml的结构。
...您可以使用一个简单的模板将所有<?xml version="1.0"?>
<xml>
<para rollno="392">
<someValue>365 days</someValue>
</para>
</xml>
标签替换为para
标签。将此模板与身份模板结合使用,您就可以替换某些与XML结构无关的标签。
p
输出为:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!-- Create HTML prologue -->
<xsl:template match="/*">
<html>
<body>
<xsl:apply-templates select="node()|@*" />
</body>
</html>
</xsl:template>
<!-- identity template -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*" />
</xsl:copy>
</xsl:template>
<!-- Replace 'para' with 'p' -->
<xsl:template match="para">
<p>
<xsl:apply-templates select="node()|@*" />
</p>
</xsl:template>
</xsl:stylesheet>