Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
初学者-使用XSLT实现XML到XML的转换_Xml_Xslt - Fatal编程技术网

初学者-使用XSLT实现XML到XML的转换

初学者-使用XSLT实现XML到XML的转换,xml,xslt,Xml,Xslt,我是XSLT新手,尝试了一些示例应用程序,我找到了XML到HTML和XML到XML转换的示例,但我在使用XSLT进行XML到XML转换时遇到了问题 这是我的源XML: <?xml-stylesheet type="text/xsl" ref="articale.xsl"?> <article> <title>the title</title> <para>a para para para para para</para&g

我是XSLT新手,尝试了一些示例应用程序,我找到了XML到HTML和XML到XML转换的示例,但我在使用XSLT进行XML到XML转换时遇到了问题

这是我的源XML:

<?xml-stylesheet type="text/xsl" ref="articale.xsl"?>
<article>
  <title>the title</title>
  <para>a para para para para para</para>
</article>
有人能帮忙吗

我采取了以下步骤:

创建了XSL文件。 在源XML中包含XSLT文件,这里是第一个。 在浏览器中访问此项。
如果我错误地执行了此XML,请纠正我。

浏览器中的XSLT转换引擎假定您要生成HTML,然后它们呈现HTML。如果输出是XML,并且包含对浏览器没有任何意义的标记,则浏览器中的渲染引擎通常会忽略这些标记


如果您试图熟悉XSLT并使用它的功能,那么浏览器就不是一个很好的平台。它呈现输出,而不是按原样显示输出,而且大多数浏览器在您出错时都不善于给出清晰的错误消息。给自己买一个像oxygen这样的IDE,或者如果你想买一些便宜而愉快的东西,试试KernowForSaxon。如果您对命令行感到满意,也可以直接使用它。

您使用什么工具/平台来运行转换?您如何看待结果?标题a para是您浏览器中的输出?使用浏览器的“查看源代码”功能查看原始XML和帖子,我仅依赖于mozilla。标题a para para这是浏览器中的输出。view source feture显示的就像标题a para para para你可以尝试在线编辑或银行获取答案。我将尝试KernowForSaxon获取生成的xml。
<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org 1999/XSL/Transform">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

  <xsl:template match="article">
    <foo><xsl:apply-templates/></foo>
  </xsl:template>

  <xsl:template match="title">
    <foo.title><xsl:apply-templates/></foo.title>
  </xsl:template>

  <xsl:template match="para">
    <foo.para><xsl:apply-templates/></foo.para>
  </xsl:template>
</xsl:stylesheet> 
the title a para para para para para