代码之家  ›  专栏  ›  技术社区  ›  Andrew G. Johnson

有没有一种方法可以用XSLT来回送为它提供动力的XML?

  •  5
  • Andrew G. Johnson  · 技术社区  · 14 年前

    我正在使用XSLT转换XML。有没有一种方法让XSLT吐出提供它的XML?类似:

    <xsl:echo-xml />
    
    3 回复  |  直到 11 年前
        1
  •  6
  •   Lucero    14 年前

    以下内容将完整的XML复制到结果树:

    <xsl:copy-of select="." />
    

    如果要将其发送到“消息输出”,可以这样包装:

    <xsl:message>
        <xsl:copy-of select="."/>
    </xsl:message>
    
        2
  •  8
  •   Dimitre Novatchev    14 年前

    基本上我使用一些XSLT来 转换XML,是否有一种方法 输出XML的XSLT 喂它吗?类似:

    最简单最短的方法 :

    <xsl:copy-of select="/"/>
    

    这将输出当前的XML文档。

    <xsl:copy-of select="."/>
    

    这将输出当前节点的根子树。

    然而,XSLT程序员主要使用以下(标识规则):

     <xsl:template match="node()|@*">
      <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
      </xsl:copy>
     </xsl:template>
    

    当这是样式表中唯一的模板时,结果将输出应用转换的完整XML文档。

    使用标识规则是最基本的XSLT设计模式之一。 . 它使复制执行特定处理的所有节点(如重命名、删除、修改内容等)等任务变得非常容易。/

        3
  •  0
  •   Paul Sweatte    11 年前

    将模板与 name() 用于输出节点名称的xpath函数和尖括号实体:

    <?xml version="1.0" encoding="utf-8"?>
    <?xml-stylesheet type="text/xsl" href="serialize.xml"?>
    <xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"
                >
    <xsl:output method="xml" encoding="utf-8" version="" indent="yes" standalone="no" media-type="text/html" omit-xml-declaration="no" doctype-system="about:legacy-compat" />
    
    <xsl:template match="xsl:stylesheet">
      <xsl:apply-templates/>
    </xsl:template>
    
    <xsl:template match="/">
      <html>
        <head>
          <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        </head>
        <body>
          <xsl:apply-templates select="*" mode="serialize"/>
        </body>
      </html>
    </xsl:template>
    
        <xsl:template match="*" mode="serialize">
          &lt;<xsl:value-of select="name()" />&gt;
        <xsl:apply-templates select="*" mode="serialize"/>
    </xsl:template>
    </xsl:stylesheet>
    

    有关更多信息,Jeni Tennison解释了 copying XML nodes to HTML 以及 serializing external XML documents 在XSL列表上