以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  在线等——xml文档通过xslt转换为fo文档小问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=46752)


--  作者:dreamagean
--  发布时间:5/11/2007 9:21:00 PM

--  在线等——xml文档通过xslt转换为fo文档小问题
我要把此xml文档转换为fo文档,用全是英文的xml文件进行实验都可以,唯独用如下的中文的xml文档进行转换出不来,页面上什么都没有
xml文档如下:
<公文体 xmlns="http://www.egs.org.cn/eGovDoc/body"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<眉首>
  <份数序号>00001</份数序号>
  <秘密等级>机密</秘密等级>
  <保密期限>1年</保密期限>
  <紧急程度>特急</紧急程度>
  <发文机关标识>
   <发文机关名称>中共XXX市委办公厅</发文机关名称>
   <发文机关名称>中共XXX市委办公厅</发文机关名称>
   <标识后缀>文件</标识后缀>
  </发文机关标识>
  <发文字号>
   <发文机关代字>X发</发文机关代字>
   <发文年号>2004</发文年号>
   <发文序号>X号</发文序号>
  </发文字号>
 </眉首>
</公文体>


而编写的xsl文档(只测试显示一个节点 )如下:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <xsl:template match="/">
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
   <fo:layout-master-set>
    <fo:simple-page-master master-name="A4">
     <fo:region-body></fo:region-body>
    </fo:simple-page-master>
   </fo:layout-master-set>
   <fo:page-sequence master-reference="A4">
    <fo:flow flow-name="xsl-region-body">
     <fo:block>
      <xsl:apply-templates select="公文体/眉首/份数序号">
      </xsl:apply-templates>
     </fo:block>
    </fo:flow>
   </fo:page-sequence>
  </fo:root>
 </xsl:template>
</xsl:stylesheet>

可为什么显示不出结果
请各位大侠相助!!!!!!!!!!


--  作者:gu_xiaorou
--  发布时间:5/14/2007 9:58:00 AM

--  
xmlns="http://www.egs.org.cn/eGovDoc/body"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
这两个网址之间应该有空各,还有,我试了一下你的xsl-fo,能转出空白页,你想要什么效果?
--  作者:dreamagean
--  发布时间:5/16/2007 8:43:00 AM

--  
我肯定想把内容通过fo文件表示出来
可是老出现空白页
并且有时候还有一些乱码
这是我特不能理解的事情
按说<xsl:apply-templates select="公文体/眉首/份数序号">
就应该显示份数序号 0001但是为什么是空白页
--  作者:gu_xiaorou
--  发布时间:5/16/2007 11:08:00 AM

--  
问题发现了:xml里的xmlns="http://www.egs.org.cn/eGovDoc/body"如果删掉就好了,xmlns后面要加东西的吧,如:xmlns:xsi,不能单独自己写出来吧。。你确认一下吧
--  作者:dreamagean
--  发布时间:5/16/2007 10:35:00 PM

--  
to: gu_xiaorou
你说的是对的
但是我还有一个问题
就是比如说我要在刚才的显示的0001前面加上份数序号:几个汉字
即在   <fo:block>
         份数序号:<xsl:apply-templates select="公文体/眉首/份数序号">
      </xsl:apply-templates>
     </fo:block>

其他的节点显示出来都是乱码?
这个应该怎么解决
我试过了所有的编码,为什么不行??????


--  作者:gu_xiaorou
--  发布时间:5/17/2007 9:37:00 AM

--  
能把你的数据给我看一下吗?我用你的命令就不会出现乱码,都会显示出来,不知道你自动组版用的是什么软件,我用的是XSLFormatterV4.0

如果你有msn的话,可以直接和我联系:yinghaoyanxiu@hotmail.com


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
67.871ms