问题标签 [xsd-validation]
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.
xsd - XSD:如何从另一个 XSD 导入数据类型?
我有以下 XSD 的开头:
...然后是其他一些定义...
in_dat 存在于另一个组织编写的模式中。我本质上想要做的是创建一个模式,该模式将包含 in_dat 类型的元素,该元素在其他组织的 XSD 中定义。
我什至接近正确吗?我对 XML 很陌生。
我不断得到
来自http://www.w3.org/2001/03/webdata/xsv,它是一个模式验证器。
谢谢。
编辑:感谢你们两个回答。问题似乎是其他组织没有在其架构中定义 targetNamespace 属性。结果是我无法将命名空间导入到我的架构中,这意味着我无法使用提供的类型。
我不得不复制/粘贴代码,这是我想避免的……但我猜你不可能拥有你想要的一切。
xml - 在 Visual Studio IDE 中使用 XSD 进行 XML 验证
我知道我以前做过这个,但它今天不起作用,我也找不到任何解释如何做的地方。可能是我睡眠不足,但我怀疑是小精灵。
我有一个 XML 文档和一个包含定义它的 XSD 的目录。如何设置 Visual IDE 以通知我验证失败,然后在给定上下文中提供有效标签和属性的智能感知列表?
我试过的:
- 我已将 XSD 添加到带有 XML 文档的项目中。
- 我已将 XSD 添加到 XML Schema 列表中(在 XML / Schemas... 菜单项下。)
- 我什至在 XML 文档中包含了 schemaLocation 和 noNamespaceSchemaLocation 属性。
Visual Studio 仍然没有放弃任何有用的调试或编辑信息。我在 2010 年和 2008 年都尝试过(我想我在 2008 年之前做过)
更新:我让另一位开发人员尝试了这个,但他也失败了。他知道他已经使用其他 XML 文档完成了这项工作,并且成功了。然后我下载了 Oxygen XML 编辑器,它在相同的 XML 和 XSD 文件上运行良好,所以文件似乎很好(或者 Oxygen 更宽容/更灵活......)
xml - 哪一个是错误的?架构文件或 XML 文件
这是我的架构和 xml 文件内容。
当我想用我的模式文件验证我的 xml 文件时,我得到了错误:元素 X1 没有在这个范围内定义。错误行:25 错误列:12.
问题出在哪里?
xml - 混合类型 XSD 验证帮助
我的任务是构建一个 XSD 来验证给定的 xml,我的问题是一些 XML 元素的形式是
我需要构建验证元素“值”而不是属性的 XSD,因此我在构建 XSD 方面的经验极其有限(我已阅读 W3C 教程)我尝试了这个
你瞧……它不起作用,它说:
“Type 属性不能与 simpleType 或 complexType 一起出现”
我确定这是我做过的一些愚蠢的事情,但在其他地方找不到答案/被误解的答案!
提前致谢
java - 在 java 中使用 XSD 的一个元素进行验证
有没有办法使用 xsd 文件来验证字符串的输入?
我发现了一些 xsd 用于验证 xml 文件的示例,但我真正想要的是只使用 xsd 的一个元素来验证一些用户输入。
有没有一种简单的方法可以做到这一点,或者我应该将 xsd 文件视为 xml 文件,提取元素并将其与给定的字符串进行比较以查看它是否有效?
谢谢
python - 如何使用 Python 中的 Amara 库针对 XSD 架构验证 xml 文件?
以下 Q 的高额赏金:
您好,这是我在 Ubuntu 9.10 上使用 Python 2.6、Amara2 尝试的(顺便说一下,test.xsd 是使用 xml2xsd 工具创建的):
那么,为什么我会看到这个错误?不支持此功能吗?如何在灵活指向任何 XSD 文件的同时针对 XSD 验证 XML 文件?谢谢,如果您有任何问题,请告诉我。
xsd - XSD 问题:如何仅限制要在另一个模式下使用的元素/属性
我需要解决这个问题,看起来我需要帮助。
这是问题定义
我们有一个现有的模式 X [X 是行业标准模式],我们正在新模式 Y 中构建一些扩展(具有不同的目标命名空间)。
现在的问题是我们希望将模式 Y 的元素/属性的使用限制为仅作为 X 的已定义元素/类型的成员。[在无效使用的情况下模式验证应该失败]。
我们如何实现这一目标?做这个的最好方式是什么?
R M
xml - 如何使用自定义元素扩展基本架构,同时保持对新版本的更改开放?
给定一个 XSD,如下所示:
它定义了一些允许来自不同命名空间的任何子元素的元素。
我想用我自己的模式扩展这个模式,并在基本文档中插入特定元素的子元素和属性。例如,myElementX 或 myAttributeY 必须有父节点 std:SomeRootNode。然后,合并后的文档应该能够允许任何第三方以基本模式已经允许的任何方式继续扩展文档,但是对于我的命名空间中的元素和属性,我想验证所有元素和属性是否具有正确的父节点并且仅出现在基础文档中允许的位置。
如何做到这一点?
我希望有一个干净的解决方案,不会重新定义我正在扩展的基本模式。如果发布了新版本的基本架构,我希望能够轻松适应。我不想在每次发布基本文档的新版本时都用新的重新定义来改变我的定义(除非它对我的设计有重大更改)。
xml - “什么时候使用时,基类型必须是内容类型为简单的复杂类型……”甚至是什么意思?
这是我不断从 xerces 得到的整个错误....
我以为我明白这一点,但在得到它几次后我一定失去了它,任何人都可以很好地“旋转”它
我已经把它缩小到这个元素
我想我只是在这个项目上主演了很久......
xml - 使用 XSD 更清晰地扩展元素
我定义了 xml 模式,其中包含一个名为“字段”的元素和一个名为“复合字段”的扩展。它定义如下:
为了在我的 XML 中使用它,必须是:
我不希望我的 XML 用户使用模式语法,例如xsi:type=..." "
因此我的问题是:有没有办法使 XML 的语法成为:
所以元素的名称将暗示它的继承性并且不会强制用户添加类型属性?
我试过这个:
接着:
但它也没有通过 XSD 架构验证
2010 年 9 月 12 日:作为对建议答案的回应,我稍微细化了我的问题。
架构如下所示:
所需的 xml 如下所示:
使用这种组合,我得到了错误消息的响应:
cvc-complex-type.2.4.a:发现以元素“MyCompositeField”开头的无效内容。需要“{field}”之一。