使用XSLT和XQuery进行处理
XML文档可以用XSLT或XQuery文档进行处理,生成输出文档。XMLSpy具有内置的XSLT 1.0、XSLT 2.0、XSLT 3.0、XQuery 1.0和XQuery 3.0处理器。您可以通过用户界面使用以下与处理相关的功能:
分配XSLT样式表
您可以通过XSL/XQuery | 分配XSL命令(在弹出的对话框(参见下方截图)中浏览文件)为XML文档分配XSLT样式表。该分配作为处理指令(PI)输入到XML文档中,具有由W3C定义的标准XSLT目标:xml-stylesheet。调用XSLT转换时(XSL/XQuery | XSL转换)会使用此分配。
此外,可以使用XSL/XQuery | 分配XSL:FO命令(在弹出的对话框(参见下方截图)中浏览文件)分配XSLT-for-FO样式表。该分配作为具有Altova定义的目标的处理指令(PI)输入到XML文档中:altova_xslfo。 调用XSLT-for-FO转换时(XSL/XQuery | XS:FO转换)会使用此分配。
您还可以选择一个全局资源来定义XSLT文件。全局资源是文件或文件夹的别名。可以通过用户界面更改全局资源的活动配置(使用菜单命令工具 | 活动配置)来更改目标文件或文件夹。使用全局资源,您可以在多个XSLT文件之间切换,这对于测试目的非常有用。有关使用全局资源的说明,请参见Altova全局资源部分。
如果存在使用这些PI目标之一的先前分配,则系统会询问您是否要覆盖现有分配。
转至XSLT
使用XSL/XQuery | 转至XSL命令将打开已分配给XML文档的XSLT文件。
XSLT参数和XQuery变量
XSLT参数和XQuery变量可以在使用命令XSL/XQuery | XSLT参数/XQuery变量时出现的对话框中定义、编辑和删除。此处定义的参数/变量值用于XMLSpy中的所有XSLT转换和XQuery执行。但是,这些值不会传递给MSXML等外部引擎。有关如何使用此功能的详细信息,请参见“菜单命令”部分。
XSLT转换
有两种类型的XSLT转换可用:
•XSLT标准转换(XSL/XQuery | XSL转换):转换的输出显示在新窗口中,或者,如果在样式表中指定,则会保存到一个文件位置。用于转换的的引擎在“选项”对话框(工具 | 选项)的“XSL”选项卡中指定。
•XSL-for-FO转换(XSL/XQuery | XSL-FO转换):分两步将XML文档转换为PDF。第一步,使用“选项”对话框(工具 | 选项)的“XSL”选项卡中指定的XSLT处理器将XML文档转换为FO文档;请注意,您还可以(在选项卡底部)选择某些FO处理器(例如FOP)附带的XSLT引擎。第二步,使用“选项”对话框(工具 | 选项)的“XSL”选项卡中指定的FO处理器处理FO文档以生成PDF输出文档。
提示: | 可以使用XSL:FO转换命令将FO文档(一种特定类型的XML文档)转换为PDF。如果源文档是FO文档,则直接执行此两步过程的第二个命令步骤。 |
XQuery执行
通过单击命令XSL/XQuery | XQuery执行可在活动XML文档上执行XQuery文档。系统会提示您输入XQuery文件,结果文档将显示在用户界面的新窗口中。
使用RaptorXML自动化XML任务
Altova RaptorXML 是一个提供XML验证、XSLT转换和XQuery执行的应用程序。它可以从命令行、通过COM接口、在Jave程序和.NET应用程序中使用。因此,XSLT转换等任务可以通过使用RaptorXML来实现自动化。例如,您可以创建一个调用RaptorXML来转换一组文档的批处理文件。有关详细信息,请参见RaptorXML文档。