【发布时间】:2020-11-18 08:20:39
【问题描述】:
我有一个 XML 文件,我想从中生成 XSD 架构,使用 xmlbeans,特别是 inst2xsd。我想打包脚本,以便它可以通过 Maven 运行。
在使用 Maven 安装 xmlbeans 时,我找不到任何文档如何运行 inst2xsd。
到目前为止,这是我的pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>de.wolkenarchitekt</groupId>
<artifactId>xml-to-xsd</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
</project>
通过mvn install 安装它可以工作。仅供参考 - 对答案并不重要 - 我通过 Docker 构建它,所以我使用的是 OpenJDK14:
FROM maven:3.6.3-openjdk-14-slim
RUN mkdir -p /opt/workspace
WORKDIR /opt/workspace
COPY pom.xml .
RUN mvn install
现在如何在通过 Maven 安装 xmlbeans 后运行 inst2xsd 的可执行文件?
【问题讨论】:
-
生成 xsd 通常是一次性活动,因此您不必在项目的开发平台中进行。即,您可以使用各种工具来执行此操作(在线和安装)。请记住,您将需要一个相当完整的示例 XML 文档来进行生成,以便在您的 xsd 中考虑所有可能的结构。此外,两个不同的 xsd 可能不同但等效。
-
@Bryn 感谢您的评论,以详细说明我的问题:我需要经常重新生成 XSD,因为 XML 是由外部程序以我无法预料的方式编写的。我想要/需要自动化这个过程,所以我不能依赖某些网站。此外,我不想依赖“已安装的工具”。到目前为止,此处答案中提出的方法非常适合我的用例。