选择显示字体大小

xsl对象格式使用指南(四)

    
  
  下面是我们将在文档中增加列表的内容:
  1.if a syllable has an accent mark, that syllable always gets the stress: acción (action), teléfono.
  
  2.if the word ends with a vowel, n, or s, the next-to-last syllable gets the stress: amigo, hablan (they talk), animales.
  
  3.all other words are accented on the last syllable: hotel, similar, espa?ol.
  
  一个列表由四个元素构成。<fo:list-block>属性包含单独的<fo:list-items>属性。列表不同的部件被<fo:list-item-label>属性和<fo:list-item-body>属性固定。你可以通过下面的图表所示属性来设定列表的间隔:
  
  a.provisional-distance-between-starts
  b.provisional-label-separation
  c.start-indent for list-item-label
  d.start-indent for list-item-body
  e.end-indent for list-item-label
  f.end-indent for list-item-body
  现在我们来创建一个xslt 模板来处理一个规划好的列表。开始先设定列表的各项部件的标签,再通过fop输出。使用相关的em 间隔,列表将拥有合理的间隔和字体大小:
  <xsl:template match="ol">
  
  <fo:list-block space-before="0.25em" space-after="0.25em">
  <xsl:apply-templates/>
  </fo:list-block>
  
  </xsl:template>
  
  <xsl:template match="ol/li">
  
  <fo:list-item space-after="0.5ex">
  <fo:list-item-label start-indent="1em">
  <fo:block>
  <xsl:number/>
  </fo:block>
  </fo:list-item-label>
  <fo:list-item-body>
  <fo:block>
  <xsl:apply-templates/>
  </fo:block>
  </fo:list-item-body>
  </fo:list-item>
  
  </xsl:template>
  
  
  
  制作无序列表跟以上类似。在一个无序列表中各部件的相关定义为:
  <xsl:template match="ul/li">
  
  <fo:list-item>
  <fo:list-item-label start-indent="1em">
  <fo:block>
  &#x2022;
  </fo:block>
  <!-- etc. -->
  
  
  
  定位列表
  使用列表样式创建一个有限的表格并定位它们的条款和解说并不能依靠xslt。我们将在分开的行内放入条款和解说,象普通的html所演示的。
  <xsl:template match="dl">
  
  <fo:block space-before="0.25em" space-after="0.25em">
  <xsl:apply-templates/>
  </fo:block>
  
  </xsl:template>
  
  <xsl:template match="dt">
  
  <fo:block>
  <xsl:apply-templates/>
  </fo:block>
  
  </xsl:template>
  
  <xsl:template match="dd">
  
  <fo:block start-indent="2em">
  <xsl:apply-templates/>
  </fo:block>
  
  </xsl:template>
  
  
  
  这儿是小册子的一部分,展示了怎么规划列表和定位列表。注意下面的文本流程不需要我们做任何改动。
  
  
  表格
  下面显示了一个典型的表格。
  singular plural
  yo canto nosotros cantamos
  tú cantas vosotros cantáis
  él canta
  ella canta ellos cantan
  ellas cantan
  
  
  通过 xsl格式化过的表格有以下元素:
  <fo:table-and-caption>
  
  <fo:table-caption>
  <fo:table>
  <fo:table-column>
  <fo:table-header>
  <fo:table-row>
  <fo:table-cell>
  <fo:table-body>
  <fo:table-row>
  <fo:table-cell>
  <fo:table-footer>
  <fo:table-row>
  <fo:table-cell>
  
  
  
  <fo:table> 属性相当于html 的<table>标签; <fo:table-body>属性相当于html 的<tbody>属性。注意只需要定义 <fo:table-column> 属性,它允许你指定表格队列的宽度。你也可以用标签定义单元格具有相同的队列和范围。<table-and-caption> 元素在当前的fop执行中不能实现。你必须在<fo:table-column>元素定义column-width 属性来调整表格队列的宽度。fop不能自动调节并显示你的表格的宽度。
  xslt 可以制作简单的表格,假定已经定位了第一行表格的宽度,还得确定是72象素/英寸宽度单位。但还没有处理行和列的跨距。请看代码示例。
  第三人称需要一个<br />标签,可以用fo转换成:
  <xsl:template match="br">
  
  <fo:block><xsl:text>&#xa;</xsl:text></fo:block>
  
  </xsl:template>
  
  
  
  表格处理结果显示为:
  
  
  概要
  正如你见到的,xslt 和 fo相结合允许你将xhtml文档 或其他 xml文档转换成印刷格式。用xsl 的对象格式化功能只能做初步的版面设计。
  
  
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons