2016-07-27 56 views
1

我转换XML数据转换成PDF文件与XSL-FO模板语言的帮助,希望有一个圆角的头表和数据表的布局如下图所示一样 enter image description here需要XSL-FO表的圆角?

现在我只得到锐利角落也使用fox:border-radius属性也不起作用。

我的XSL-FO:

<?xml version="1.0" encoding="iso-8859-1"?> 
    <xsl:stylesheet version="1.1" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:fo="http://www.w3.org/1999/XSL/Format" 
    exclude-result-prefixes="fo"> 
    <xsl:template match="root"> 
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="my-page"> 
     <fo:region-body margin="1in"/> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 

    <fo:page-sequence master-reference="my-page"> 
     <fo:flow flow-name="xsl-region-body"> 
     <fo:block>Hello, <xsl:value-of select="name" />!</fo:block> 
     <fo:block> 
      <fo:table width="100%" fox:border-radius="4em" border=".125em solid #000000"> 
       <fo:table-body> 
        <fo:table-row> 
        <fo:table-cell border="solid 1px black" 
      text-align="center" font-weight="bold"> 
         <fo:block> 
          No. 
          </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" 
      text-align="center" font-weight="bold"> 
         <fo:block> 
          Name 
          </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" 
      text-align="center" font-weight="bold"> 
         <fo:block> 
          Phone Number 
          </fo:block> 
        </fo:table-cell> 
        </fo:table-row> 
       </fo:table-body> 
       </fo:table> 
       <fo:table width="100%" fox:border-radius="4em" border=".125em solid #000000"> 
       <fo:table-body>  
        <xsl:for-each select="./friend"> 
        <xsl:for-each select="./closefriends"> 
        <fo:table-row> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
          <xsl:value-of select="position()" /> 
          </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
          <xsl:value-of select="../name" /> 
          <xsl:value-of select="names" /> 
          </fo:block> 
        </fo:table-cell> 
        <fo:table-cell border="solid 1px black" text-align="center"> 
         <fo:block> 
          <xsl:value-of select="phNo" /> 
          </fo:block> 
        </fo:table-cell> 
        </fo:table-row> 
        </xsl:for-each> 
        </xsl:for-each> 
       </fo:table-body> 
      </fo:table> 
     </fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    </fo:root> 
    </xsl:template> 
    </xsl:stylesheet> 

我不知道,我是缺少在这里实现了圆角边框表。

+1

你的样式表中缺少的一件事是声明'fox'命名空间前缀,绑定到'http:// xmlgraphics.apache.org/fop/extensions'。 – mzjn

+0

我也尝试过这个选项,但它不工作... – Maniram

+2

“表格上的圆角不直接支持。要在表级别设置圆角,表格必须将属性border-collapse属性设置为分开”(http ://xmlgraphics.apache.org/fop/trunk/extensions.html#rounded-corners) – mzjn

回答