问题标签 [xsom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4266 浏览

java - XSD 循环导入

我需要解析一个 XSD,XSOM但这个 XSD 包含循环导入。

a.xsd

B.xsd

XSOM无法解析架构,因为它检测到由于循环导入而已定义的元素。所以我试图通过外部化由 A 定义并在 B 中使用的元素来打破循环导入。

C.xsd 包含 B 使用的来自 A 的元素。请注意,这些元素在 A 中没有使用。不要问我为什么在 A 中定义了这些元素。

A.xsd 变成

B.xsd(导入 C.xsd 而不是 A.xsd)变为

XSOM可以解析XSD。但现在我无法使用以下代码创建架构:

我使用与 JDK 1.7 捆绑在一起的标准实现。我得到了例外:

问题是为 B 命名空间调用了资源解析器,而不是为有意义的 A 命名空间调用了资源解析器。由于命名空间 A 由 A.xsd 和 C.xsd 共享,因此资源解析器无法找到 C.xsd 中定义的元素。

循环进口是否有效?是否可以打破循环导入,以便它可以被解析XSOM然后被加载SchemaFactory

0 投票
1 回答
4860 浏览

java - 将 XSD 解析为树结构

这是来自 W3C School (shiporder.xsd) 的示例 xml 模式

参考:http ://www.w3schools.com/schema/schema_example.asp

我使用 xsom 来完成这项工作。

在我的解析工作之后,我得到了结果here

我想使用这个结果通过 JTree 构造一棵树,以便它可以帮助我理解 xml 架构。

我知道有一些库和工具可以这样做。

但我想手动制作(按每个元素添加树节点),以便我可以轻松获取每个元素信息并提供树视图。

这是 coma 3.0 (shiporder.xsd) 的树视图示例

在此处输入图像描述

我知道如何在 Jtree 中添加节点

我已经尝试过 JAXB(DOM) 来完成这项工作,但我认为 JAXB 主要是处理对象类。

我的目的是计算 xsd 相似度,第一件事是获得结构相似度。

我认为如果我能得到树模式并知道每个元素的位置和它的关系,那么计算结构相似性会很容易。

如何使用解析结果构建树?

方法?想法?

任何帮助将不胜感激。

0 投票
2 回答
755 浏览

java - XSD Walker - 使用一系列 XML 标记打开和关闭作为输入遍历 XSD

基本上我想要的是创建一个 XSD 的状态转换图表示。这不是一个简单的状态图;它应该反映合成器(All、Choice、Sequence)、最小和最大出现次数以及派生(限制、扩展)。XSD 遍历器必须能够在每次向其提供 XML 标记时更新其在 XSD 的状态图表示中的位置。它应该在关闭标签时回滚其位置。它应该能够确定向其提供 XML 标记是否会使 XML 无效,即遍历器无法找到给定 XML 标记的路径。

我一直在使用 XSOM,它是函子访问者架构,但我无法使用 XSOM 实现合成器、发生和派生。

你们中的任何人都知道任何已经这样做的图书馆吗?

或者关于如何构建这种状态转换图的任何想法?

或者更好的是,你们提供了 XML 验证器代码的链接?这基本上是 XML 验证器在针对 XSD 验证 XML 时所做的事情,对吧?

0 投票
1 回答
913 浏览

java - 在 Java 中使用 XSOM 解析 XSD Schema。如何访问另一个命名空间中的属性

大部分情况下,我都可以使用 XSOM 解析 XSD,除非我有一个具有不同命名空间的属性。对于此示例,我想获取枚举值“9901001”的属性“t:deprecated”。这是一个示例 XSD:

0 投票
1 回答
158 浏览

java - 如何比较两个 XSComplexType 是否相等?

我正在自动生成 XML-Schemata,并且生成的 xsd 文件是根据百叶窗设计模式创建的。现在我有很多复杂的类型,想减少它们的数量。是否有一种简单的方法可以确定两种复杂类型是否描述了相同的限制?

这是一个向您展示我的意思的示例:

显然“someType”和“someOtherType”是等价的。现在假设我想找出两个模式中的哪些类型是等价的。我正在使用 XSOM 解析模式。

有没有一种优雅的方法来检查两个“complexType”节点之间的这种相等性?

0 投票
0 回答
48 浏览

parsing - 尝试在 Mule ESB 中导入 WSDL,错误如图中所述

当尝试在 Mule ESB 的 CXF 块中导入 WSDL 时,我面临以下解析错误。请有人帮忙。

在此处输入图像描述

0 投票
0 回答
58 浏览

java - 使用 XSOM 解析器解析 WDSL 类型

我有一个具有以下结构的wsdl:

我们如何在这个 wsdl 上使用 XSOM 解析器提取 XSResultSet?

0 投票
1 回答
153 浏览

java - 找不到 XSOM 的权威源位置

我正在寻找 XSOM 的官方源代码。随着各种 openJDK 从 HG 服务器转移到 github,从 OpenJDK 的其余部分中分离出 J2EE 内容,以及 github 上的大量分支,我根本无法通过搜索找到它。我可以找到很多非官方的叉子等。

我希望修复一个错误,或者至少更好地理解 XSOM 在 elementFormDefault 和元素表单信息方面做错了什么。此处的修复或更好地理解 XSOM 中实际发生的情况对于将 XML Schema 信息映射到 Ontmalizer 工具中的 w3c 语义 Web 至关重要。