Xslt XSL嵌入原始XML文件
我正在使用XSL将XML文件转换为HTML文件。是否可以在HTML输出中嵌入原始XML文件?如果是,怎么可能 更新1:为了更好地理解我的需求:在我的HTML文件中,我需要一个可以下载原始XML文件的表单。因此,我必须将原始XML文件嵌入HTML文件(例如,作为隐藏的输入字段)Xslt XSL嵌入原始XML文件,xslt,xslt-1.0,Xslt,Xslt 1.0,我正在使用XSL将XML文件转换为HTML文件。是否可以在HTML输出中嵌入原始XML文件?如果是,怎么可能 更新1:为了更好地理解我的需求:在我的HTML文件中,我需要一个可以下载原始XML文件的表单。因此,我必须将原始XML文件嵌入HTML文件(例如,作为隐藏的输入字段) 谢谢如果您想通过复制节点,您只需在希望插入节点的位置执行,但是,将任意XML节点放入HTML通常没有意义。如果要将XML文档序列化为纯文本以呈现它,则可以使用以下解决方案,例如: <xsl:transform xml
谢谢如果您想通过复制节点,您只需在希望插入节点的位置执行
,但是,将任意XML节点放入HTML通常没有意义。如果要将XML文档序列化为纯文本以呈现它,则可以使用以下解决方案,例如:
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="http://lenzconsulting.com/xml-to-string/xml-to-string.xsl"/>
<xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<html>
<head>
<title>Test</title>
</head>
<body>
<section>
<h1>Test</h1>
<xsl:apply-templates/>
<section>
<h2>Source</h2>
<pre>
<xsl:apply-templates mode="xml-to-string"/>
</pre>
</section>
</section>
</body>
</html>
</xsl:template>
<xsl:template match="data">
<ul>
<xsl:apply-templates/>
</ul>
</xsl:template>
<xsl:template match="item">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
</xsl:transform>
试验
试验
来源
将XML输入转换为
<!DOCTYPE html
PUBLIC "XSLT-compat">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
</head>
<body>
<section>
<h1>Test</h1>
<ul>
<li>
bar
</li>
</ul>
<section>
<h2>Source</h2><pre><data>
<item att="value">
<!-- comment -->
<foo>bar</foo>
</item>
</data></pre></section>
</section>
</body>
</html>
酒吧
进入HTML
试验
试验
-
酒吧
源数据
项目att=“值”
!-- 评论--
foobar/foo
/项目
/资料
不清楚“将原始XML文件嵌入HTML输出”是什么意思。请发布一个XML输入和预期HTML输出的(小)示例。我刚刚编辑了我的问题:我希望在HTML文件中有一个表单,在那里我可以下载原始的XML文件。因此,我必须将XML文件嵌入HTML文件中(例如,作为隐藏的输入字段)。如果有人想下载该文件,通常的方法是提供指向该文件的链接。如果你想把一些东西放到表单中,那么听起来好像你想上传表单中的数据。您还没有真正解释是要在浏览器内部还是外部执行XSLT 1.0转换,XML文件本身或生成的HTML是由浏览器加载的,是从文件系统还是从HTTP(S)服务器加载的。我无法向该文件添加下载链接,因为该文件是安全系统的一部分。因此,我必须将其嵌入HTML文件中。
<!DOCTYPE html
PUBLIC "XSLT-compat">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
</head>
<body>
<section>
<h1>Test</h1>
<ul>
<li>
bar
</li>
</ul>
<section>
<h2>Source</h2><pre><data>
<item att="value">
<!-- comment -->
<foo>bar</foo>
</item>
</data></pre></section>
</section>
</body>
</html>