标签: relaxng

RelaxNG vs XML Schema

我有一个项目,我正在使用RelaxNG(jing)来验证xml.我喜欢RelaxNG的语法,但是我使用XML模式的大多数工具(实际上,我认为除了jing之外我没有一个工具可以使用).当大多数支持似乎都围绕XML模式时,我是否通过使用RelaxNG来设计和未来支持错误?我应该坚持使用RelaxNG并让其他人学习它(必要时踢和尖叫,j/k)?我应该因工具支持而切换到xml架构吗?

谢谢.

xml xsd relaxng

22
推荐指数
4
解决办法
8251
查看次数

使用RelaxNG进行XML模式验证

您可以针对性能和准确性推荐哪些XML验证工具,每个工具都是我们系统的关键问题?我们有以下要求:

  • 不是 xmllint(见下文)
  • 支持RelaxNG
  • 可以轻松地与Perl集成(这是可选的,但它会很好)

为什么不用xmllint?(这是背景,你可以跳过它,如果你愿意)

我们有一个大型的Perl系统,它使用RelaxNG来验证我们的XML.我们使用紧凑的RelaxNG格式trang将其转换为标准的RelaxNG格式.然后我们通过xmllint进行实际验证.

这就是问题出现的时候.xmllint经常会错误地报告验证错误.它不会给出误报或否定,但如果文档无法验证,xmllint通常会报告给定错误的错误元素或属性.有时错误是正确的("不希望看到元素'bar'),但仅仅是因为没有报告先前的错误(因为'bar'应该遵循必需但缺少的元素'foo',但xmllint不会'请告诉我们这一点.请注意,这是xmllint长期存在的问题,即使是最新版本也存在同样的问题.我们经常会收到大量的XML文档,错误地报告错误会给客户和开发人员带来很大的麻烦.

xml validation perl schema relaxng

16
推荐指数
1
解决办法
2976
查看次数

如何使用RELAX NG模式和JAXP验证XML文档?

我想使用RELAX NG schemata验证XML文档,我想使用JAXP验证API.

从谷歌搜索,似乎我可以使用JingISO RELAX JARV到JAXP Bridge.不幸的是,在将两者都添加到我的类路径后,我无法让它工作.SchemaFactory它只是IllegalArgumentException在尝试实例化工厂时抛出一个- 我向内看SchemaFactory,显然SchemaFactoryFinder是返回null结果.

所以我很欣赏这两个问题的答案:

  • 我怎么能和Jing和这座桥一起工作呢?
  • 我应该尝试一套更好/不同的库吗?

我需要这个来使用Java 5和Java 6.

谢谢!

java xml validation jaxp relaxng

15
推荐指数
2
解决办法
7863
查看次数

是否有适用于.NET的Relaxer?Relaxer活着吗?RelaxNG可行吗?

我读到了关于Relaxer的事情,它将.RNG编译成Java类.BBut网站http://www.relaxer.org/已经死了.

Q1:
Relaxer活着吗?这是真的吗,有效吗?从.RNG生成Java类是否合理?

Q2:
是否有适用于.NET的Relaxer?是否有一个工具可以从RelaxNG模式生成C#类?

问题3: Javascript是否有松弛剂?

而且,最后

Q4:
RelaxNG活着吗?它可行吗?在REST/JSON世界中相关且有用吗?人们还在使用它还是会褪色,这个好主意已经被淘汰了?我知道这是主观的,但我想知道你的评估.我在stackoverflow上看到只有9或10个RelaxNG Q,所以我质疑这项技术的相关性.如果不是RelaxNG,那又怎样?WADL? 什么都没有


有关相关问题,请参阅维护JavaScript和C#对象模型之间的一致性.

javascript c# relaxng relaxer

9
推荐指数
2
解决办法
2644
查看次数

基于W3C XML Schema的emacs中的模式敏感编辑?(不是RNG)

我刚刚了解到,在这里,约nxml模式,其中,根据自述,是

GNU Emacs用于编辑XML文档的主要模式.它支持编辑格式良好的XML文档,还使用RELAX NG Compact语法提供对XML文档的模式敏感编辑.

有没有一种模式可以为W3C XML Schema做同样的事情?

如果我找不到这样的东西,那么无论如何nxml-mode对我有用,假设我严格处理W3C XML Schema而不是Relax-NG?

相关:VIM中的模式感知编辑

xml emacs xsd relaxng

8
推荐指数
2
解决办法
2245
查看次数

8
推荐指数
1
解决办法
2801
查看次数

如何通过Ruby中的RELAX NG验证XML?

REXML模块似乎支持RELAX NG验证,但文档没有关于使用框架验证部分的任何真实信息.

您将如何使用RELAX NG模式验证XML文档?代码段最有帮助.TIA!

ruby xml relaxng

7
推荐指数
2
解决办法
2146
查看次数

如何在.Net中使用其他/更现代的模式验证?

我正在尝试在跨平台应用程序中使用C#和XML(大多数开发都在Linux上的MonoDevelop中,但大多数用户最终将使用我在Visual Studio中创建的WinForms前端).Mono表现得像我期望的那样,但.Net不是,所以我正在寻找选择和替代方案.

模式具有各种可选元素,后跟"xs:any"元素.这在Mono中完全正常,但在微软的.Net中却没有,因为它抱怨可选元素的出现在它在模式中的实际定义和"xs:any"之间是模糊的.从一点阅读开始,它似乎是在W3C的Schema定义的更高版本中解决的问题.显然,Mono一直保持最新状态,但微软却落后了.

我能看到的选项是:

1)使用RelaxNG - 遗憾的是,从主站点到C#实现的链接被破坏了.它是Mono的一部分,但在MS'.Net上运行时没有多大帮助.我能看到的唯一方法是复制和重建Mono的版本作为我自己的DLL

2)使用Schematron - 我发现它是关于制作向后和向前兼容XML的建议,但它看起来更像是格式验证器而不是"标准"模式语言.我不太确定实现的位置 - 我能找到的只是一个命令行验证器.

3)确保MS .Net实现使用Mono使用的更新架构标准 - 我甚至不知道这是否可行.

4)坚持使用丑陋的模式,并将"xs:any"放在可选的"扩展"元素中 - 除了官方的.Net框架之外没有任何其他理由它不会混淆,但它可以工作.

该代码针对.Net 2.0,但我的机器上安装了3.5.我也在使用Mono 2.4,MonoDevelop 2.2和Visual Studio Express 2005.

是1-3中的任何一种,还是我坚持4?

谢谢.

.net c# xml schema relaxng

7
推荐指数
1
解决办法
1168
查看次数

RELAX NG C++代码生成器?

有没有开源的RELAX NG C++代码生成器?

谢谢.

c++ relaxng

7
推荐指数
1
解决办法
851
查看次数

如何检查RelaxNG的属性是否唯一?

使用RelaxNG,我可以检查属性的值是否在封闭元素中是唯一的?

例如,这castle应验证:

<castle>
  <room>
    <door to="North" />
    <door to="South" />
  </room>
  <room>
    <door to="North" />
  </room>
</castle>
Run Code Online (Sandbox Code Playgroud)

但这不应该(重复相同的门room):

<castle>
  <room>
    <door to="Dungeon" />
    <door to="Dungeon" />
  </room>
</castle>
Run Code Online (Sandbox Code Playgroud)

我正在使用RelaxNG(紧凑型).我不知道属性值'提前',只是它们在a中应该是唯一的room.

谢谢!

xml validation xsd relaxng

7
推荐指数
1
解决办法
376
查看次数

标签 统计

relaxng ×10

xml ×8

validation ×3

xsd ×3

c# ×2

schema ×2

.net ×1

c++ ×1

emacs ×1

java ×1

javascript ×1

jaxp ×1

perl ×1

python ×1

relaxer ×1

ruby ×1