Xsl不会从xsl

时间:2015-12-26 10:21:57

标签: xml xslt

我有这个xml:

<TEI>    
<text>
    <body>
      <div>
        <pb facs="01.jpg"/>
        <panel facs="#p1" characters="#Matt_Feazell">
          <caption facs="#p1c1">My old pal <hi rend="italic">Matt Feazell</hi> called the other
            day.</caption>
          <balloon facs="#p1b1" who="#Matt_Feazell">So, Scott, what's your next project going to be now that you've
            finished <q>Zot</q>?</balloon>
        </panel>
      </div>
    </body>
  </text>
</TEI>

和这个xsl

  <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >



    <xsl:output encoding="UTF-8" method="xml" omit-xml-declaration="yes"/>


    <xsl:template match="/">
  <html>
  <body>
    <img alt="sorry" src="{/TEI/text/body/div/pb/@facs}"  ></img>

    <xsl:value-of select="/TEI/text/body/div/panel/balloon"/>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

我尝试了各种解决方案,例如和不同的源,文件位置,链接方法,但无法找到可靠的解决方案。拜托,任何帮助都会很棒,这个问题困在我的脑海里。非常感谢您的帮助和教训。

1 个答案:

答案 0 :(得分:0)

您正在创建HTML,因此使用<xsl:output encoding="UTF-8" method="xml" omit-xml-declaration="yes"/>可能不对,请使用method="html"。除此之外,您的样式表确实创建了img结果元素,src属性设置为01.jpg,因此,如果浏览器不渲染图像,那么它可能在不同的位置。无论如何,XSLT都不呈现任何内容,它将(XML)输入转换为XML或HTML或纯文本输出。