这是命令 openjade-1.4devel 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
openjade - 将 DSSSL 样式表应用于 SGML 或 XML 文档
概要
开玉 [-vCegG2s[-b 编码[-f 错误文件[-c 目录_sysid[-D DIR]
[-a 链接类型[-A 拱[-E 最大错误数[-i 实体[-w 警告类型]
[-d dssl_spec[-V 变量[=值]][-t 输出类型[-o 输出文件]
[系统ID...]
商品描述
开玉 是 ISO/IEC 10179:1996 标准 DSSSL 语言的实现。 这
DSSSL 引擎接收 SGML 或 XML 文档作为输入并将其转换为格式
喜欢:
* 流对象树的 XML 表示。
* 可以使用 Microsoft 的免费 Word Viewer 97 渲染和打印的 RTF 格式
* TeX 格式
* 可以使用 Framemaker 渲染和打印的 MIF 格式
* SGML 或 XML 格式。 这与非标准流对象类结合使用以
生成 SGML,从而允许 开玉 用于 SGML/XML 转换。
要处理的文档的系统标识符被指定为参数
开玉. 如果省略,将读取标准输入。
开玉 确定 DSSSL 规范的系统标识符如下:
1. 如果指定了 -d 选项,它将使用参数作为系统标识符。
2. 否则,它将在文档的序言中查找处理指令。 二
识别处理指令的种类:
处理指令的系统数据像SGML 开始标签一样被解析。 这将是
无论实际的具体语法如何,都使用参考具体语法进行解析
文档。 开始处理指令的名称可以是样式表,
xml-stylesheet 或 xml:stylesheet。 处理指令将被忽略,除非
type 属性的值是 text/dsssl、text/x-dsssl、application/dsssl 或
应用程序/x-dsssl。 href 属性的值为 DSSSL 的系统标识符
规格。
系统标识符是处理指令的系统数据部分
跟随初始名称和任何空格。
虽然处理指令只在 prolog 中被识别,但它不需要出现在
文档实体。 例如,它可能出现在 DTD 中。 系统标识符将是
相对于处理指令发生的位置进行解释。
3. 否则,它将使用更改任何扩展名的文档的系统标识符
到.dsl。
一个 DSSSL 规范文档可以包含多个样式规范。 如果
DSSSL 规范的系统标识符后跟#id,然后 开玉 将使用
唯一标识符为 id 的样式规范。 这是允许的 -d
选项和处理说明。
DSSSL 规范必须是符合 DSSSL 体系结构的 SGML 文档。 为了
一个例子,见 dssl/demo.dsl.
开玉 除了普通的 OpenSP 之外,还支持以下选项(请参阅 符号(1))
选项(注意所有选项都区分大小写,即 -g 和 -G 是不同的选择):
-d dssl_spec
这指定 dsssl_spec 是 DSSSL 规范的系统标识符
要使用的。
-G 调试模式。 当表达式的求值发生错误时, 开玉 将
显示堆栈跟踪。 请注意,这会禁用尾调用优化。
-c 文件名
文件名参数指定目录文件而不是文档实体。 这
文档实体由目录文件中的第一个 DOCUMENT 条目指定。
-s 严格合规模式。 目前唯一的效果是玉不使用任何
预定义的字符名称、数据实体映射或名称字符。 这是
用于检查您的样式表是否可移植到其他 DSSSL 实现
并且它严格符合 DSSSL 规范。
-t 输出类型
输出类型 指定输出类型如下:
FOT 流对象树的 XML 表示
RTF RTF-95 RTF(用于 SGML/XML 到 RTF 的转换)微软的富文本
格式。 rtf-95 生成针对 Word 95 而不是 Word 97 优化的输出。
TEX TeX(用于 SGML/XML 到 TeX 的转换)
符号表 sgml-原始 SGML(用于 SGML/XML 到 SGML 的转换)。 sgml-raw 没有
在标签中发出换行符。
XML xml-原始 XML(用于 SGML/XML 到 XML 的转换)。 xml-raw 不发出
标签中的换行符。
HTML HTML(用于 SGML/XML 到 HTML 的转换)
MIF MIF(用于 SGML/XML 到 MIF 的转换)
-o 输出文件
将输出写入 输出文件 而不是默认值。 默认文件名是
最后一个输入文件的名称,其扩展名由类型的名称替换
输出。 如果没有输入文件名,则将扩展名添加到 jade-out。
-V 变量
这等效于执行 (define variable #t) 不同之处在于此定义将
优先于样式表中的任何变量定义。
-V 变量=值
这相当于做(定义 变量 "折扣值") 除了这个定义
将优先于样式表中的任何变量定义。
-V (定义 变量 折扣值)
这相当于做(定义变量值),只是这个定义
将优先于样式表中的任何变量定义。 请注意,您
可能不得不使用一些空间转义机制来获得整个
方案表达式解析为一个 cmdline 参数。
-w类型 控制警告和错误。 多种的 -w 允许选项。 以下值
类型启用警告:
XML 警告 XML 不允许的构造。
杂 警告不允许在任何地方使用 #pcdata 的混合内容模型。
sgmldecl 警告 SGML 声明中的各种可疑结构。
应该 警告 ISO 8879 中提出的各种建议
不遵守。 (建议用“应该”表示,区别于
通常用“shall”表示的要求。)
默认 警告有关默认引用。
复制 警告重复的实体声明。
未定义 警告未定义元素:在 DTD 中使用但未定义的元素。
未关闭 警告未关闭的开始和结束标签。
空的 警告空的开始和结束标签。
净 警告网络启用开始标签和空结束标签。
最小标签 警告最小化的开始和结束标签。 相当于组合
未关闭,空和净警告。
未使用的地图 警告未使用的短引用映射:使用
短引用映射声明但从未在短引用使用中使用
DTD 中的声明。
未使用的参数 警告已定义但未在 DTD 中使用的参数实体。
文本为 INCLUDE 或 IGNORE 的未使用的内部参数实体将不会获得
警告。
符号系统ID 警告没有系统标识符的符号
产生。
所有 警告通常应该避免的情况(根据
作者)。 等价于:mixed、should、default、undefined、sgmldecl、unused-map、
未使用的参数,空的和未关闭的。
可以通过使用以 no- 为前缀的名称来禁用警告。 因此 -壁
-wno-重复 将启用除关于重复实体的警告之外的所有警告
声明。
以下值用于 警告类型 禁用错误:
无idref 对于没有元素作为它的 ID 参考值,不要给出错误
ID。 效果就像声明为 ID 引用值的每个属性都具有
被声明为名称。
不重要 不重要的字符时不要报错
参考具体语法中的字符出现在 SGML 中的文字中
宣言。 这可能与某些有问题的测试套件结合使用。
无效 不要求文档类型有效。 这具有以下效果
更改 SGML 声明以指定 VALIDITY NOASSERT 和 IMPLYDEF ATTLIST YES
元素是的。 一个选项 -w 有效 具有更改 SGML 声明的效果
指定 VALIDITY TYPE 和 IMPLYDEF ATTLIST NO ELEMENT NO。 如果两者都没有 -w 有效 也不
-wno-有效 指定,然后在 SGML 中指定的 VALIDITY 和 IMPLYDEF
将使用声明。
环境
OpenJade 忽略 SP_CHARSET_FIXED 和 SP_SYSTEM_CHARSET 环境变量和
始终使用 Unicode 作为其内部字符集,就好像 SP_CHARSET_FIXED 是 1 并且
SP_SYSTEM_CHARSET 未设置。 因此只有 SP_ENCODING 环境变量与
OpenJade 对字符集的处理。
翡翠 EXTENSIONS
可以使用以下外部程序。 这些外部程序定义为
以与标准相同的方式制作原型。 使用这些外部之一
程序,您必须使用标准的外部程序程序,使用公共
“UNREGISTERED::James Clark//Procedure::name”的标识符,其中 name 是给定的名称
在这里,通常通过在 DSSSL 规范中包含以下内容:
(定义名称(外部程序“UNREGISTERED::James Clark//Procedure::name”))
请注意,如果外部过程不知道指定的公共
标识符。 您可以使用它来使您的 DSSSL 规范能够正常使用
不支持这些扩展的其他实现。
对于 OpenJade 团队添加的外部过程,使用表单的公共标识符
“未注册::OpenJade//程序::名称”。
访问所有外部过程的一种简单方法是使用样式规范
dsssl/extensions.dsl#procedures。 文件 dsssl/extensions.dsl 也包含样式
使非标准流对象类和继承的规范
以方便的方式提供后端支持的特性。
调试
(调试对象)
生成包含 obj 值的消息,然后返回 obj。
简单页面序列 页眉页脚 控制
(如果第一页 sosofo1 sosofo2)
这只能用于指定页眉/页脚之一的值
简单页面序列的特征。 它返回一个显示为 sosofo1 的 sosofo
如果页面是简单页面序列的第一页,否则为 sosofo2。
(if-首页 sosofo1 sosofo2)
这只能用于指定页眉/页脚之一的值
简单页面序列的特征。 它返回一个显示为 sosofo1 的 sosofo
如果页面是正面(即正面,奇数页),并且作为 sosofo2,如果它是背面(即
反之,偶数)页。
编号
(所有元素编号)
(所有元素编号 osnl)
这与 element-number 相同,只是它计算具有任何通用标识符的元素。
如果 osnl 不是元素返回 #f,否则返回 1 加上元素的数量
在 osnl 之前开始。 这提供了一种创建唯一标识符的有效方法
文档中的任何元素。
外置 实体 ACCESS
(读取实体字符串)
这将返回一个字符串,其中包含具有系统的外部实体的内容
标识符字符串。 这应该仅用于文本实体(CDATA 和 SDATA),并且
不适用于二进制实体 (NDATA)。
POSIX 当地 ACCESS
(语言郎国)
这个过程返回一个语言类型的对象,如果系统支持指定的
语。 lang 是一个字符串或符号,给出两个字母的语言代码。 国家是一个
字符串或符号给出两个字母的国家代码。
此过程使用 POSIX 语言环境。 它是 OpenJade 的补充。 并非所有人都支持
操作系统。
扩展 程序
(sgml-parse sysid #!key active: 父级: 架构:)
这允许您指定文档应该使用的 SGML 架构
被解析。 它是 OpenJade 的补充。
(expt qk)
这允许您将数量提高到整数幂。 它是 OpenJade 的补充。
限制
本节介绍前端的局限性(通用 DSSSL
引擎); 每个后端也有其自身的局限性。
开玉 不允许在主体和 (test =>
收件人)条件条款的变体。
开玉 仅支持单个固定的 Grove 计划,其中包含以下模块:
* 基础
* prlgabs0
* prlgabs1
* 插入
* baseds0
*instsds0
* 子驾驶室
它没有实现 SDQL 的以下部分:HyTime 支持、辅助解析、节点
常用表达。
查询规则、sosofo同步、间接sosofos、参考值、装饰区
和字体属性不受支持。
请注意,仅适用于某些支持的流对象的继承特性
可以指定。
字符/字形 处理
它仅支持单个预定义的字符集。 表格的字符名称
U-XXXX 其中 XXXX 是四个大写的十六进制数字,被认为是指
带有该代码的 Unicode 字符。 对于许多字符,也可以使用
小写的 ISO/IEC 10646 名称,单词用连字符分隔。
ISO 实体集中的一些常见 SDATA 实体名称被识别并映射到
人物。 此外还有一个 U-XXXX 形式的 SDATA 实体名称,其中 XXXX 是四个
大写十六进制数字,映射到具有该代码的 Unicode 字符。
OpenJade 现在支持标准字符、映射数据实体、添加名称字符、
add-separator-chars 和 char-repertoire 声明元素形式,允许样式表
定义附加字符名称、sdata 实体映射、名称字符(即
标识符中允许的字符)和分隔符。 目前唯一公认的
字符曲目是内置曲目。 它有公共标识符
“未注册::OpenJade//角色曲目::OpenJade”。
验证
一些需要检查的事情没有被检查:
* 当继承特性的允许值是一个符号时,OpenJade 只检查
该值是允许作为某些特征值的符号; #t 和 #f
在这种情况下被视为一种特殊的符号。
* OpenJade 不检查流对象是否出现在它所在的上下文中
不允许的。
* OpenJade 不会阻止流对象附加到流的主端口
当流对象不应该有一个主要端口时,对象。
* 大多数类型检查是在运行时完成的,而不是编译时。
* OpenJade 不检查需要被继承的特征
指定的。
* 它不检查已使用的可选功能是否在
特征形式。
其他 限制
以下原语只是存根:
字符脚本案例 始终返回最后一个参数。
地址访问? 总是返回#f。
示例
给定一个 SGML 文件 文件.sgml, 使用样式表 文件.dsl 并作为 rtf 文件发布。
openjade -t rtf 文件.sgml
使用不同的样式表:
openjade -t rtf -d docbook.dsl 文件.sgml
使用 打印 样式表中包含的样式规范
openjade -t rtf -d docbook.dsl#打印文件.sgml
并使用样式表中的 html 规范转换为 html
openjade -t sgml -i html -d docbook.dsl#html 文件.sgml
使用 onworks.net 服务在线使用 openjade-1.4devel