问题标签 [relaxng]

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 回答
528 浏览

c# - 保持 JavaScript 和 C# 对象模型之间的一致性

我正在开发一个 ASP.NET Web 应用程序,该应用程序在客户端使用大量 JavaScript 以允许用户执行诸如拖放重新排序列表、查找要添加到列表中的项目(如Google 搜索栏),从列表中删除项目等。

我有一个 JavaScript“类”,用于在客户端存储每个列表项以及有关用户对项执行的操作(添加、编辑、删除、移动)的信息。页面发布到服务器的唯一时间是用户完成后,在提交页面之前,我将有关更改的所有信息序列化为 JSON 并将其存储在页面上的隐藏字段中。

我正在寻找的是一些关于如何在 C# 中构建我的类的一般建议。我认为在 C# 中拥有一个与 JavaScript 匹配的类可能会很好,这样我就可以将 JSON 取消实现为此类的实例。虽然服务器端的类都直接复制 JavaScript 类,而且只为支持 JavaScript UI 实现而存在,但这似乎有点奇怪。

这是一个抽象的问题。我只是在寻找其他在维护匹配的客户端和服务器端对象模型方面做过类似事情的人的指导。

0 投票
2 回答
2908 浏览

c# - .NET 有松弛器吗?放松者还活着吗?RelaxNG 可行吗?

我阅读了有关将 .RNG 编译为 Java 类的东西的 Relaxer。B但是网站http://www.relaxer.org/已经死了。

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

Q2:
.NET 有松弛器吗?是否有从 RelaxNG 模式生成 C# 类的工具?

Q3: 是否有 JavaScript 的松弛器?

并且,最后

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


有关相关问题,请参阅保持 JavaScript 和 C# 对象模型之间的一致性。

0 投票
2 回答
1296 浏览

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

我正在尝试在跨平台应用程序中使用 C# 和 XML 进行一些工作(大多数开发是在 Linux 上的 MonoDevelop 中进行的,但大多数用户最终将使用我在 Visual Studio 中制作的 WinForms 前端)。Mono 的行为符合我的预期,但 .Net 并非如此,因此我正在寻找选项和替代方案。

这些模式具有各种可选元素,后跟“xs:any”元素。这在 Mono 中工作得非常好,但在 Microsoft 的 .Net 中却不行,因为它抱怨可选元素的出现在模式中的实际定义和“xs:any”之间是模棱两可的。从一点点阅读来看,这似乎是一个在 W3C 架构定义的后续版本中得到解决的问题。显然 Mono 一直保持最新状态,但微软落后了。

我可以看到的选项是:

1) 使用 RelaxNG - 不幸的是,从主站点到 C# 实现的链接已损坏。它是 Mono 的一部分,但在 MS 的 .Net 上运行时并没有多大帮助。我能看到的唯一方法是将Mono 的版本复制并重建为我自己的 DLL

2) 使用 Schematron - 我发现它是关于制作向后和向前兼容的 XML 的建议,但它似乎更像是一种格式验证器,而不是一种“标准”模式语言。我不太确定实现在哪里——我能找到的只是一个命令行验证器。

3) 确保 MS .Net 实现使用 Mono 也使用的更新模式标准——我什至不知道这是否可能。

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

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

1-3个中的任何一个都可能,还是我坚持4个?

谢谢。

0 投票
1 回答
3620 浏览

xml - XSD 序列显示为不明确

我有一个 XSD,它是从 RELAX NG 模式转换而来的,有一些我正在尝试修复的错误。我遇到的最大问题是

如您所见,xs:choice 块允许您在两个 xs:sequence 块之间进行选择。似乎是有道理的,除了 Visual Studio 对第二个<xs:element minOccurs="0" ref="title/>元素发出以下警告,这会引发一切:

元素“标题”的多重定义导致内容模型变得模棱两可。必须形成一个内容模型,使得在元素信息项序列的验证过程中,直接、间接或隐含地包含在其中的粒子,用于依次验证序列中的每个项目,可以唯一确定,而无需检查其内容或属性。该项目,并且没有关于序列其余部分中的项目的任何信息。

因为你只能选择一个我不明白这是多么模棱两可。任何帮助将不胜感激!

回答:

正如下面的答案所指出的,我没有考虑到所有的可能性。所以这就是我必须做的:

这解决了我所有的问题。谢谢!

0 投票
1 回答
919 浏览

c++ - 放松 NG C++ 代码生成器?

是否有任何开源RELAX NG C++ 代码生成器?

谢谢。

0 投票
3 回答
242 浏览

xml - 是否有可以帮助某人基于 Relax NG 模式创建 XML 文档的应用程序?

我花了一些时间创建一个 Relax NG 模式,供我们团队使用,以验证我们用于交换信息的 XML 文档。模式并不复杂,但相当大。

我想知道是否存在可以读取这样的 Relax NG 模式并帮助用户创建相应的实例文档的工具,使用该模式作为模板。也许是一个带有 GUI 的应用程序,它为文档的每个部分创建字段和下拉选择?

例如,该工具可能会创建一个大纲 XML 文档并提示用户选择多个特定元素,填写每个字段,可能使用直接从模式中读取的允许值。它还可以在文档“完成”时通过视觉反馈向用户显示,或者在出现验证问题时突出显示。

我可以预期编写一个自定义 GUI 工具来创建这样的 XML 文档,但我真的希望 GUI 自动反映模式的更改 - 我真的想知道这是否还没有完成。

我知道一些编辑器可以在编写 XML 文档时根据模式自动验证它,但我真的想让我的用户远离 XML,这样他们就不必担心 XML 语法的细节。

0 投票
1 回答
234 浏览

xml - RelaxNG 模式的语法标签中的 ns 属性有什么作用?

我似乎找不到任何对我有意义的文档。我注意到它似乎与正在验证的模式的 xmlns 属性有关。

看起来如果模式语法标记的 ns 和要验证的模式的根节点的 xmlns 不匹配,我会收到验证错误。

ns 属性是什么,它与 xmlns 有何不同?

0 投票
3 回答
246 浏览

xml - html / xhtml 的内置模式数据类型

xhtml 数据是否有内置的模式数据类型?假设我想指定一个包含两个“woozles”的“boozle”元素,每个“woozle”都是任意的 xhtml。我想写这样的东西,使用放松 NG 紧凑语法:

不幸的是,xmllint 然后发出这个错误信号:

./lab.rng:43:元素引用:Relax-NG 解析器错误:引用 xhtml 没有匹配的定义 ./lab.rng:43:元素引用:Relax-NG 解析器错误:内部找不到引用 xhtml 的定义

所以我的问题是:有什么明智的东西我应该代替上面的“xhtml”吗?

0 投票
1 回答
3700 浏览

java - 我可以将 RELAX NG 转换为 XSD 吗?

请参阅主题:如果可以,我的第二个问题是,如何?我尝试使用trang Java 库,但什么也没发生 :(

0 投票
1 回答
1342 浏览

c# - .Net 和 RelaxNG 模式

几周前我开始使用xsd.exe

为基于 xsd 模式的序列化/反序列化 xml 文件创建类。目前我正在寻找像 xsd.exe 这样的工具来从 RelaxNG Schemas 创建类。你能帮我找到吗?