使用XSLT进行XML转换

时间:2012-11-29 23:37:46

标签: xml xslt

我有一个XML文档和XSLT样式表来更改它的显示方式。现在我只想要XSLT文档制作" Hello World!"在运行XML文档时显示,但我只是在网页上显示XML文档。

这是XML文档(试用版Doc.xml):     

<?xml-styelsheet type="text/xsl" href="trialDoc.xsl"?>

<people>
    <person gender="M">
    <firstName>Sam</firstName>
    <lastName>McAllister</lastName>
    <age>25</age>
    </person>
    <person gender="F">
    <firstName>Kris</firstName>
    <lastName>Paolini</lastName>
    <age>24</age>
    </person>
    <person gender="M">
    <firstName>Bob</firstName>
    <lastName>Turring</lastName>
    <age>19</age>
    </person>
</people>

这是我的XSL文档(trialDoc.xsl):     

<xsl:stylesheet version="1.0" 

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


<xsl:template match="/">
    Hello World!
</xsl:template>


</xsl:stylesheet>

我做错了什么?

1 个答案:

答案 0 :(得分:4)

首先,您的XML有拼写错误;你可能想要

<?xml-stylesheet type="text/xsl" href="trialDoc.xsl"?>

然后,您的XSL应该生成XML树 - 用一些XML结构封装您的输出,顶部有单个节点:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <h1>Hello World!</h1>
  </xsl:template>
</xsl:stylesheet>

或者,指示XSL处理器生成文本输出:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
  <xsl:template match="/">
    Hello World!
  </xsl:template>
</xsl:stylesheet>