XSL嵌入了原始XML文件

时间:2017-07-01 14:17:46

标签: xslt xslt-1.0

我正在使用XSL将XML文件转换为HTML文件。是否可以将原始XML文件嵌入HTML输出中?是的,这怎么可能?

更新1:为了让我的需求更容易理解:在我的HTML文件中,我想要一个可以下载原始XML文件的表单。因此,我必须将原始XML文件嵌入到我的HTML文件中(例如作为隐藏的输入字段)

由于

1 个答案:

答案 0 :(得分:1)

如果要复制节点,可以只在<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节点放入HTML通常没有意义。如果要将XML文档序列化为纯文本以进行呈现,则可以使用http://lenzconsulting.com/xml-to-string/之类的解决方案,例如:

<data>
    <item att="value">
        <!-- comment -->
        <foo>bar</foo>
    </item>
</data>

转换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>&lt;data&gt;
    &lt;item att="value"&gt;
        &lt;!-- comment --&gt;
        &lt;foo&gt;bar&lt;/foo&gt;
    &lt;/item&gt;
&lt;/data&gt;</pre></section>
      </section>
   </body>
</html>

进入HTML

==