专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java代码生成工具的用处

Java代码生成工具的用处

更新时间:2021-10-19 11:19:37 来源:动力节点 浏览743次

Java代码生成器是Java开发工具中的一种,使用 Stylus Studio® X16 XML Enterprise Suite 中的新 Java 代码生成器让您的 XSLT 和 XQuery To-Go。

因此,您已经使用 Stylus Studio® 编写和调试 XSLT或XQuery,并且它在 Stylus Studio® 中运行得非常迷人。但是现在您的老板希望您将XQuery和XSLT 样式表带到您的生产环境中。好吧,如果您的平台是 Java(JRE 1.4 或更高版本),Stylus Studio® X16 XML Enterprise Suite可以使用Stylus Studio®自动生成将 XSLT 或 XQuery 部署为 Java 应用程序或 Java 应用程序中的类所需的 Java 代码Java 代码生成器。在本教程中,我们将向您展示如何操作。

要继续进行,请确保您的计算机上安装了JRE 1.4或更高版本以及 Stylus Studio® X16 XML Enterprise Suite。

Java 代码生成器为您做什么

Stylus Studio® 使编写和调试 XSLT 和 XQuery 程序变得容易;您可以使用 Stylus Studio® XML IDE编写、测试、调试和运行它们。对于许多用例,这就是您需要做的所有事情 — 当您需要运行 XSLT 时,您只需启动 Stylus Studio® 并运行文件即可。其他用例需要更自动化的东西。例如,假设 XSLT 或 XQuery 是客户端/服务器应用程序的一部分,或者需要作为定期批处理作业的一部分运行。在这种情况下,您需要使用新的 Stylus Studio® Java 代码生成器来构建运行 XSLT 或 XQuery 的 Java 应用程序。Stylus Studio® Java 代码生成器将创建一个.java您可以运行的文件:

作为 cmd.exe 窗口中的控制台应用程序(.java 文件包含一个main()方法)

作为更大的 Java 应用程序或小程序的一部分

为了协助从 XML 到 Java 的转换,Stylus Studio® 创建 .java 文件,在内置Java IDE(支持 Java 编辑、编译、调试等)中打开它们,最后帮助您设置为您选择的选项量身定制的类路径。

创建独立的 Java 应用程序来运行 XSLT

我们将在本文中的示例中使用 XSLT — 但您也可以利用 XQuery 文件来利用 Stylus Studio® 的所有 Java 代码生成功能。我们将首先打开随 Stylus Studio® 示例项目提供的示例之一:

从 Stylus Studio® 中选择项目 > 新建项目以创建新项目。

使用文件资源管理器打开sampleBooksToCatalog.xsl位于\examples\simpleMappingsStylus Studio® 安装目录中的文件。

要在 Stylus Studio® 中创建 XSLT 或 XQuery,您需要创建一个场景。场景允许您定义与 XSLT 或 XQuery 关联的设置和选项,例如您要转换或查询的源文件,是否要对结果执行任何后处理等。让我们检查 XSLT 的场景属性,以确保 sampleBooksToCatalog.xsl 配置为使用 Java XSLT 处理器(而不是 MSXML)。您可以通过单击场景名称旁边的浏览 [...] 按钮来访问 XSLT 场景属性。

Stylus Studio® XML Java 代码生成器可与多种流行的 Java XSLT 处理器配合使用,包括 Saxon XSLT 处理器。(对于 XQuery,您可以使用Saxon XQuery 处理器和 DataDirect XQuery 处理器。)选择您在应用程序中使用的处理器,然后单击确定以保存更改。现在,您已准备好生成一些 Java 代码。

从 Stylus Studio® 菜单中选择 XSLT > Generate Java Code... 以打开代码生成对话框。Stylus Studio® 的 Java 代码生成器提供了多种代码生成选项,让您可以自定义为您生成的代码。第一次生成 Java 代码时,您需要填写目标目录字段以指定输出 .java 文件的位置。您可以选择指定包名称字段。默认情况下,Stylus Studio® 使用生成的类名的文件名,但您可以根据需要更改类名字段的值。其他选项可让您指定是否要公开生成的类,是否要生成 .java 文件以包含main(String[ ] args)方法,以及是否要将生成的代码添加到当前活动的项目中。默认情况下,所有这些选项都处于启用状态,我们将保留它们的设置,如下所示:

一旦生成的.java文件(.ZIP,4KB)完成,手写笔工作室自动打开它在内置的Java编辑器。从那里您可以通过从菜单中选择 Java > Run 来轻松运行 Java 代码,或者您可以使用 Stylus Studio® Java 调试器逐步完成。我们将很快运行 Java 代码,但让我们首先通过从 Stylus Studio® 菜单中选择 Project > Set classpath 来查看新 Java 文件所需的类路径。

这么多罐子……这么少的时间

该java.lang.ClassNotFoundException例外是Java编程的克星,尤其是在Java的XML发展,因为每一个XSLT处理器都有自己的jar文件。如果您的应用程序使用验证(比如使用 Xerces)或 XSL-FO 后处理(比如使用 Apache FOP),问题会变得更糟——越来越多的 jar,每个都有自己的类路径问题。但是 Stylus Studio® 的 Java 代码生成器几乎可以在银盘上为您提供所需的类路径。或 Windows 对话框。一样。

创建 XSLT 或 XQuery 并为其生成Java代码后,您可以使用“项目类路径”对话框(再次从 Stylus Studio® 菜单中选择“项目”>“设置类路径”)查看 Stylus Studio® 放入的 jar 文件类路径。当您将 .java 文件作为独立应用程序运行时,只需在类路径中复制/粘贴相同的 jar 文件,应用程序就会完美运行。

场景属性对话框

Scenario Properties 对话框允许您指定用于运行 XSLT 或 XQuery 的选项,包括以下内容,所有这些都反映在生成的 Java 代码中。您可以使用场景属性来指定:

当您的 Java 程序运行时要使用哪个 XSLT 或 XQuery 处理器。早些时候,您看到 XSLT 有三个选择:Saxon 9.1.0.5、Saxon 6.5.3。(对于 XQuery,您可以使用 Saxon 9.1.0.5 或 DDXQ。)无论您选择什么,Java 代码生成器都会为您在项目类路径中放置正确的 jar 文件。

输入和输出 URL。XSLT 只需要输入 URL。您可以输入Java类的URL,其中包括所支持的任何URL file:///..., http:///...等等。

全局 XSLT 或 XQuery 参数

输出验证。处理器运行后,您的 Java 程序可以调用XercesJ 2.5.1 验证引擎来根据目标 XML 模式验证 XSLT 或 XQuery 的输出。要使用此功能,只需选中验证样式表结果复选框。如果要针对外部模式进行验证,还应选中使用内置验证器复选框并在关联列表框中输入必要的模式。

XSL-FO后处理。在 Post-process 选项卡中,选择 Post process with Apache FOP选项。Stylus Studio® 将处理其余的工作。当您从生成的代码运行 Java 程序时,您的应用程序将在您在 Java 代码生成对话框中指定的目标目录中创建一个 PDF 文件。

Java 代码生成器的主要亮点之一是其独特的能力,可以生成无缝访问各种不同数据源所需的代码。如果您在场景属性对话框处理器选项卡上选中了使用 Stylus URI 解析器(默认选中),您可以生成直接访问任何 Stylus Studio® 文件系统所需的 Java 代码,包括:

ws:///...(网络服务)
adapter:///...(转换为 XML适配器或任何自定义XML 适配器)
tig:///...(Raing Data 的TigerLogic XDMS)
您编写的任何其他自定义文件系统

Stylus Studio® URI 解析器

XSLT 或 XQuery 处理器在需要打开外部文件时需要知道如何解析 URL,包括:

默认输入和输出文件(或 Stylus Studio® 数据源)

.xsl 或 .xquery 文件本身

使用该doc(...)函数在 XSLT 或 XQuery 内部引用的任何文件

使用或在应用程序读取的任何文件中调用的文件

由应用程序读取的任何文件引用的任何架构文件

处理器知道如何解析标准 URL,如file:///...、 或http:///...。但是,由于 Stylus Studio® URI 解析器,Stylus Studio® 提供了一组丰富的 URL 协议,用于无缝访问其他数据源,如关系、 EDI或其他传统数据格式作为 XML。把它想象成一个适配器层 将遗留数据动态转换为 XML 格式的代码,使您能够在 XSLT 或 XQuery 应用程序中使用几乎任何数据源。您可以在“场景属性”对话框的“处理器”选项卡上指定 Java 程序是否应支持 Stylus Studio® URL 协议。如果您选中 Use Stylus URI Resolver 复选框(默认情况下处于启用状态),Stylus Studio® 会将必要的代码添加到您的 Java 程序中。这包括将必要的 jar 文件添加到类路径,并插入对StylusFileFactory.unlockAPI方法的调用。

支持同一 Java 应用程序中的多个场景

Stylus Studio® Scenario Properties 对话框允许您为同一个 XSLT 或 XQuery 程序创建多个场景。此功能与 Java 代码生成器完全集成,使您可以轻松地同时为您选择的任何场景创建 Java 代码。如果您定义了多个 XSLT 多个场景(例如,每个场景都使用不同的处理器或 XML 模式进行验证),则每个场景都列在 Java 代码生成对话框中;只需选中您希望包含在 Java 程序中的场景的复选框即可。

Stylus Studio® 生成的 Java 代码包括setScenario您选择的每个场景的方法。在 Stylus Studio® 中运行 Java 代码时,您可以单独取消对场景的注释,或者,在部署应用程序时,您可以简单地编写代码来setScenario根据需要为各个场景设置方法。

将您的程序嵌入到更大的应用程序中

如前所述,您可以选择让 Stylus Studio®main(String[ ] args)在为 XSLT 或 XQuery 生成的 Java 代码中包含该方法。当然,如果您计划独立运行该程序,您将需要这个。它还为您提供了一个很好的示例,说明如何在更大的应用程序中使用该类——您的应用程序所需要做的就是实例化对象,然后按照方法调用它们的相同顺序调用所有main()方法。

简而言之,Stylus Studio® Java 代码生成器

Stylus Studio® X16 XML Enterprise Suite 提供强大的 XML 工具,通过生成在 Java 应用程序中执行 XSLT 和 XQuery 所需的代码来开发、测试、调试和部署 XML 应用程序!立即下载Stylus Studio® Java 代码生成器,节省数小时不必要的打字和调试时间!

如果您想了解更多相关知识,不妨来关注一下动力节点的Java在线学习,里面有更多相关知识在等着大家,很适合零基础小白哦,相信对大家的学习会有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>