XML文档中的嵌入式CSS和XSLT

时间:2013-10-10 05:35:56

标签: xml xslt

我正在尝试生成单个 XML文件,该文件同时提供HTML DOM结构(通过嵌入式XSLT)和CSS格式(通过嵌入式CSS)。虽然我还没有设法让它工作,但我正在使用诸如http://www.w3.org/Style/styling-XML.en.html之类的页面作为参考和故障排除/测试。

独立使用时,XSLT和CSS都能正常工作。当用作嵌入式资源时,我什么都没有(有用)。

示例文件:

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="#customCSS" ?>
<?xml-stylesheet type="text/xml" href="#stylesheet"?>
<!DOCTYPE doc [
  <!ATTLIST xsl:stylesheet
  id    ID  #REQUIRED>
  <!ATTLIST style
  id    ID  #REQUIRED>
]>
<doc>
  <xsl:stylesheet id="stylesheet"
                  version="1.0"
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" />
    <xsl:template match="style" />
    <xsl:template match="xsl:stylesheet" />

    <xsl:template match="data">
      <html>
        <body>
          <div id="Title">Data File Title</div>
          <div id="Descr">
            <xsl:value-of select="@Description" />
          </div>
        </body>
      </html>
    </xsl:template>

  </xsl:stylesheet>

  <style id="customCSS">
    #Title {
      font-size: large;
      color: #5B9BD5;
    }
    #customCSS { display: none }
    </style>
  <data Description="Sample Data Description Here">
    <moredata location="here" />
  </data>
</doc>

当我查看文件时,我看到的只有:

Data File Title

后跟<style id="customCSS">的所有内容。

CSS:我没有得到任何我期望的默认格式,例如标准<div>行为,也没有获得任何自定义CSS。

XSLT:value-of @Description不会出现

帮助?

提前致谢:)


编辑:

  • 添加了对W3C的引用,以获取有关使用嵌入式样式表的一些参考。

  • 更多的阅读建议我可能需要研究XSL-FO(http://www.w3schools.com/xslfo/xslfo_intro.asp),虽然我不确定它会给我我正在寻找的选项,HTML可以提供。

0 个答案:

没有答案