• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

这个循环生成下列输出内容:
程序清单1 3 - 4 7
同样,模板中包含xsl: apply-templates使X S LT引擎处理所有的子结点。
第三个模板与< I T E M >元素相匹配。这个模板用xsl: element命令生成一个< S T E P >元素,用
xsl: attribute 生成N A M E属性。它用x s l - v a l u e - o f从X M L元素中取得数值,而x s l - v a l u e - o f将
< C O D E >数据内容添加到“c o d e:”内容中:
程序清单1 3 - 4 8
后面的< P R O M P T >元素是用xsl: value-of命令得到的数据内容建立的:
程序清单1 3 - 4 9
上述语句生成下面的输出结果:
程序清单1 3 - 5 0
可以先用X T将X M L文档转换成V O X M L来检验V O X M L例子,然后再用VOXML SDK中的
模拟器来解释V O X M L文档。
604使用XML 高级编程
下载
3. 一个带格式化对象的X S LT样式表示例
James Ta u b e r用X S L格式对象生成了可以将X M L转换到P D F的F O P。F O P软件包免费下载,
站点是h t t p : / / w w w. j t a u b e r.com/fop/ 。在h t t p : / / w w w. r e n d e r x . c o m上有一个很快要发布的X S L F商业
软件包。
P D F格式是基于一个页面模型的。可以用Adobe PDF浏览器或P D F插入组件打印一个页面或
在屏幕上显示页面。
X S L F文档的通常结构(可以用一个X S LT
转换引擎生成)以一个< r o o t >根元素开始,
< r o o t >有两个子元素,一个< f o : l a y o u t - m a s t e rs
e t >元素和一个或多个< f o : p a g e - s e q u e n c e >元素
(参见图13-21)。
f o : l a y o u t - m a s t e r- s e t命令包含一个或多个
<fo: simple-page-master>元素,这些元素的作用是页面布局的模板,而<fo: page-sequence>元素
则保存文档的内容。这些元素将一个页面分成5个独立区域(参见图1 3 - 2 2):
• 主体区(x s l - b o d y)。
• 前区,或头部(x s l - b e f o r e)。
• 后区,或脚部(x s l - a f t e r)。
• 开始区,或左滚动条( x s l - s t a r t)。
• 结束区,或右滚动条( x s l - e n d)。
图13-22
第13章样式XML使用605 下载
图13-21
前区
主体区
后区
开始区结束区
f o : s i m p l e - p a g e - m a s t e r有的属性(参见表1 3 - 6)。
表1 3 - 6
属性描述
i d 一个唯一的元素标识符
m a rg i n - t o p 同C S S的m a rg i n - t o p一样
m a rg i n - b o t t o m 同C S S的m a rg i n - b o t t o m一样
m a rg i n - l e f t 同C S S的m a rg i n - l e f t一样
m a rg i n - r i g h t 同C S S的m a rg i n - r i g h t一样
m a rg i n 对块区域或内嵌区域的m a rgin-top, margin-right, margin-bottom, margin-left 属
性进行设定的速记属性
p a g e - m a s t e r- n a m e 页面管理器的一个标识性名字。这个名字连续被fo: sequence-specifier- s i n g l e ,
fo: sequence-specifier-repeating, fo: sequence-specifier- a l t e r n a t i n g使用来生成一
个页面实例
p a g e - h e i g h t 决定页面的高度。例如,一个格式为81/2×11的页面可以设定为11英寸
p a g e - w i d t h 决定页面的宽度。例如,一个格式为81/2×11的页面可以设定为81/2英寸
r e f e r e n c e - o r i e n t a t i o n 内容的显示方向可以和页面一样,也可以旋转。例如,给定一个9 0 °的值,可
以使内容在包含区域里从方向r e f r e n c e - o r i e n t a t i o n开始,逆时针方向旋转9 0 °。
s i z e 这个属性指定了一个页面盒子的尺寸和方向。例如,如果值为“ l a n d s c a p e”,
则页面盒子和目标区域的大小一样,并且较长的边为水平方向
w r i t i n g - m o d e 表明书写的方向。例如,可以设定为远东书写模式,即从右到左
这是将目录转换成X S L格式对象的一个样式表的例子:
程序清单1 3 - 5 1
606使用XML 高级编程
下载
第13章样式XML使用607 下载
与根结点匹配的模板生成了一个页面控制,其主题区域包含一个单列。
r e f e r e n c e - o r i e n t a t i o n的方向与页面(p o r t r a i t)的一样,主体区域的周围边框都是1英寸:
程序清单1 3 - 5 2
生成了一个页面控制布局后,下一步是生成页面序列。元素< f o : p a g e - s e q u e n c e >包含一个
< f o : s e q u e n c e - s p e c i f i c a t i o n >元素,零个或多个< f o : s t a t i c - c o n t e n t >元素以及一个< f o : f l o w >元素(参
见图1 3 - 2 3)。
图13-23
基本上元素< f o : p a g e - s e q u e n c e >告诉X S L格式生成器页面将如何显示。可以想象这个元素将
缺省配置条件应用于后面所有被解释的页面。
< f o : e q u e n c e - s p e c i f i c a t i o n >元素包括一个或多个< f o : s e q u e n c e - s p e c i f i e r- s i n g l e >、
< f o : s e q u e n c e - s p e c i f i e r- r e p e a t i n g >和< f o : s e q u e n c e - s p e c i f i e r- a l t e r n a t i n g >元素。
在例子中我们用< f o : s e q u e n c e - s p e c i f i e r- s i n g l e >元素告诉X S L格式生成器我们准备用
“p a g e m a s t e r- 1”页面控制,这个页面控制是在元素<fo: simple-page-master>中定义的。这就为要
解释的页面提供了一个模板。在这里页面都将会有一个1英寸的边框,这同p a g e - m a s t e r格式对象
中提到的一样。缺省状态下,所有的页面都用同一种格式:
程序清单1 3 - 5 3
< f o : s e q u e n c e - s p e c i f i e r- a l t e r n a t i v e >元素允许我们对文件设定不同的页面布局,如图书的页面
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(33)