首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中查询RelaxNG模式(XML语法),最好使用Jing

在java中查询RelaxNG模式(XML语法),最好使用Jing
EN

Stack Overflow用户
提问于 2012-02-27 21:40:27
回答 1查看 247关注 0票数 2

我正在试图找到一种方法来查询RNG模式,同时避免重复发明轮子,以便回答一些基本问题,例如:哪些元素是XML实例元素的有效子元素,哪些元素可以/必须是它的属性等等。

here的一个帖子提高了我对Jing/Trang的希望,因为我已经在用Jing做RNG验证了,但是在搜索之后,我没有发现可以证实这一说法的源代码示例,而且浏览API文档也没有太多帮助(反过来,这些文档似乎也是Jing捆绑的唯一文档)。

我真的希望避免将模式解析到我自己的对象模型中来执行这些查询,而且这似乎也有些多余,因为我知道Jing一定也在某个地方做这件事。问题是如何从其中获得我需要的信息。

有没有其他库可以用来从java代码中查询RNG模式?请注意,我并不是试图通过使用模式来验证实例文件,而是试图查询模式本身。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-09 19:15:58

这个问题的答案是使用RNGOM。它是一个基于Jing的对象模型构建API。由于Jing没有公开其内部模型,因此似乎是避免在此用例中完全重新设计轮子的唯一方法。您仍然需要编写自己的代码,这些代码将通过浏览此模型进行实际查询(就像我现在正在尝试做的那样)。

学习如何利用RNGOM并非易事,正如here所见,但项目的代码库应该会让事情变得更容易(包含用法示例)。

不幸的是,我还没有找到其他能够让我查询RNG模式的库(或者至少可以减轻这样做的痛苦)。

编辑1个

我最终创建了自己的rng对象模型和一个解析器来生成它。它的目的是处理我的特定用例,并允许我提出类似于我在问题中发布的问题。由于没有提供其他答案,我将接受我自己的答案,直到(如果有的话)有更好的答案发布。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9465968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档