XSL-FO 表格

XSL-FO 使用 <fo:table-and-caption> 元素来定义表格。

XSL-FO 表格

XSL-FO 表格模型与 HTML 表格模型是非常不同的。

有九种 XSL-FO 对象可用来创建表格:

  • fo:table-and-caption
  • fo:table
  • fo:table-caption
  • fo:table-column
  • fo:table-header
  • fo:table-footer
  • fo:table-body
  • fo:table-row
  • fo:table-cell

XSL-FO 使用 <fo:table-and-caption> 元素来定义表格。它包含一个 <fo:table> 以及一个可选的 <fo:caption> 元素。

<fo:table> 元素包含:

  • 可选的 <fo:table-column> 元素
  • 可选的 <fo:table-header> 元素
  • <fo:table-body> 元素
  • 可选的 <fo:table-footer> 元素

这些元素中的每一个都可能拥有一个或多个 <fo:table-row> 元素,而 <fo:table-row> 同时会带有一个或多个 <fo:table-cell> 元素:

  1. <fo:table-and-caption>
  2. <fo:table>
  3. <fo:table-column column-width="25mm"/>
  4. <fo:table-column column-width="25mm"/>
  5.  
  6. <fo:table-header>
  7. <fo:table-row>
  8. <fo:table-cell>
  9. <fo:block font-weight="bold">Car</fo:block>
  10. </fo:table-cell>
  11. <fo:table-cell>
  12. <fo:block font-weight="bold">Price</fo:block>
  13. </fo:table-cell>
  14. </fo:table-row>
  15. </fo:table-header>
  16.  
  17. <fo:table-body>
  18. <fo:table-row>
  19. <fo:table-cell>
  20. <fo:block>Volvo</fo:block>
  21. </fo:table-cell>
  22. <fo:table-cell>
  23. <fo:block>$50000</fo:block>
  24. </fo:table-cell>
  25. </fo:table-row>
  26. <fo:table-row>
  27. <fo:table-cell>
  28. <fo:block>SAAB</fo:block>
  29. </fo:table-cell>
  30. <fo:table-cell>
  31. <fo:block>$48000</fo:block>
  32. </fo:table-cell>
  33. </fo:table-row>
  34. </fo:table-body>
  35.  
  36. </fo:table>
  37. </fo:table-and-caption>

以上代码的输出:

XSL-FO 表格 - 图1