问题标签 [xmlschema]

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 投票
0 回答
16 浏览

xml - 嵌套在 XSD 中创建任意元素选择

我想使用 XSD 验证我的 XML。XML 应该包含复杂元素,其中包含给定集合的一些(没有全部)元素。我认为复杂元素的直接解决方案是

我想摆脱元素的设置顺序,再加上我想摆脱minOccurs="0"每一行中的

也是有效的。我的想法是写

这应该转换为“根据需要多次选择列表中的一个元素”。

但它不允许我maxOccurs=1对单个元素施加外观限制(如 )。有没有更好的方法来验证 XML 而不强制元素的给定顺序?

0 投票
0 回答
13 浏览

xml - 多个 xml 的通用 xsd 架构

我想构建一个通用的 xsd 模式文件来验证以下 3 种格式的 xmls 和 xsd 以仅验证前 2 个级别。请告知是否可能。

0 投票
1 回答
40 浏览

java - 针对 xsd 验证 xml 但得到 org.xml.sax.SAXParseException

我正在尝试针对 Java 中的 XSD 文件验证 XML。

这是我的代码:

但我收到一个错误:

代码参考:针对 XSD 验证 XML

我的学生 xml 文件是:

xsd文件是:

不知道我哪里错了,任何建议都会有所帮助。谢谢你。

0 投票
0 回答
17 浏览

json - 运行打字稿文件时出现“未定义”错误

我正在构建一个将 XML 模式转换为 JSON 文件的转换器。 这是我用于将 xml 转换为 json 的代码。我正在使用 xml4js 库 这是我用于测试此代码是否正常工作的 xsd 文件示例 这是与我上传的 xsd 文件相关的 xml 文件

但是当我运行这个文件时,我得到了一个“未定义”的错误。我不知道这段代码出了什么问题……谁能弄清楚我的问题,请告诉我!请:) 未定义的错误

0 投票
0 回答
7 浏览

python - 使用 python 库 xmlschema 获取错误行号

我正在使用库xmlschema在 Python 中使用 XML Schema 验证一些 XML 文档。

当文档无效时,我想报告一个错误,指出被指控的 XML 文档以及问题的原因和行号。

到目前为止,我写道:

我可以在库文档中读到由返回的迭代器元素is_valid包含大量有关错误的信息,但我未能从中提取一个简单的行号。有没有办法这样做?

谢谢!

0 投票
0 回答
17 浏览

datepicker - 使用模式验证:自定义日期类型和日期选择器控件

我在 Tomcat 8 上使用 Orbeon 2019.2 CE,使用普通的 XForms。

我有 xml 文档的 xml 架构,将由几个人完成,所以我需要知道文档在完成之前是否有效。对于日期字段,我了解创建“日期或空白”类型的三种主要方法:

  • 使用xsi:nil
  • 制作 xs:date 和空字符串的联合类型
  • 使用包含长度为 0 或 1 的 xs:date 的列表类型。

我尝试了第二种和第三种方法,这对 xml 验证按预期工作,但是在我在模型中指定模式的 XForms 中,datepicker 控件似乎不适用于自定义类型。我想使用模式验证让一个空的日期字段有效。(我知道xf:date允许没有价值与xs:date不允许)。使用模式验证时没有问题,但我真的希望能够使用它,因为它在某种程度上“外部化”了验证规则。我也在使用表单运行错误摘要组件。当使用验证(<model schema='uri_to_schema'>)和模式中的“日期或无”类型(如上所述)时,我看到了:

  • 如果日期字段绑定未指定xs:dateor xf:date,则该xf:input字段不会出现日期选择器。键入格式为“2000-01-01”的日期是有效的,空白字段是有效的,并且其他任何内容都被标记为无效(通过错误组件和外部验证)。我还注意到 Orbeon 知道这是一种自定义类型,因为该类xforms-type-custom-date-or-nothing 出现在 HTML 中(“date-or-nothing”是类型的名称)。
  • 如果我type='xs:date'为日期字段输入绑定,则不会出现日期选择器,并且输入被标记为无效(直到您输入日期值)
  • 如果我放入type='xf:date'绑定,则该字段最初显示时没有日期选择器。如果我输入了一个有效的日期(格式:yyyy-mm-dd),它不会被标记。如果我放了其他任何东西(比如'abc'),它会被错误组件标记,然后日期选择器会出现,但它会是的。但是,在 FormInspector 中,该字段仍然具有无效值,并且文档(通过外部验证)无效。如果我随后从日期选择器中选择了一个有效日期,标记的错误就会消失,但该字段再次为空白。
  • 如果我将模式更改为使用xs:date而不是自定义类型(“date-or-nothing”),那么使用模式验证一切正常,除了文档在具有日期值之前无效。
  • 我在 xform 中引用了架构实例。我确实尝试通过在 xform 中包含模式的命名空间,然后将type='mydoc:date-or-nothing'.
  • 如果我从模型中删除模式并xf:date在绑定中使用,一切都很好,但现在我没有模式验证。

有没有人可以选择使用自定义类型显示日期选择器?我没有看到太多关于在 xforms 中使用 XML 模式的文档,所以我猜这可能是一个不受支持的“边缘情况”。有没有办法“强制”Orbeon 渲染日期选择器?(我查看是否可以在那里指定“form-runner”组件,但文档只提到了其他日期控制类型)。在搜索中,我想我看到 xforms 规范允许在“xf:input”上使用“appearance='date'”属性,但这可能是错误的,因为我找不到其他提及这一点。

如果我不得不放弃对任何具有日期字段的文档的基于模式的验证,那将是非常令人失望的。在某些情况下,我可以“逃避”让文档的第一个贡献者必须填写日期字段,但有这个选项会好得多。感谢您的任何建议!

0 投票
1 回答
23 浏览

xml - Nagios check_http - 来自 API XMLSchema

我想设置 Nagios 检查“Check_http”以验证 XMLTAG 中的值是否为“许可证有效”

API 的链接是 http://IPADDRESS/webapi/webapi.asmx/HealthCheck

或者是否有其他 Nagios Check 更简单的方法?

谢谢

0 投票
1 回答
27 浏览

c# - 如何使用 C# 更改 XML 文档中的模式

我有一个如下所示的 XML 文件:

我需要更改第二行:

变成这样:

有谁知道如何做到这一点?

这是我的 XML 类:

此类由 XML 文件生成器生成。如您所见,我一直在尝试添加 XML 属性来手动更改命名空间。

这是逻辑类:

0 投票
0 回答
9 浏览

xml - XML 和 XSD 模式/根元素/命名空间的解释

我试图了解 xml 和 xsd 文件根元素是如何工作的。我已经通过谷歌阅读了一些文章,一些关于 stackoverflow 的文章,但仍然不明白以下内容是如何工作的。这里有一些我已经读过的文章。

targetNamespace 和 xmlns
XML 中的“xmlns”是什么意思?
https://softwareengineering.stackexchange.com/questions/122002/why-do-we-need-uris-for-xml-namespaces

对于我的问题,我使用 w3school 中的示例。(他们也无法以我能理解它是如何工作的方式来解释它。)https://www.w3schools.com/xml/schema_intro.asp

XML 文件

文件名:note.xml
URL:???

XSD 文件

文件名:note.xsd
网址:https : //www.w3schools.com note.xsd ??????

据我了解,我们有

一种“语法”,它解释了 xml 必须如何组成并且写在 xsd 中。例如,我们有一个复杂的类型或具有属性的元素。该语法由 w3 在该 URL 上指定:http: //www.w3.org/2001/XMLSchema,我们使用来自 w3 的语法。

b) 除了该语法之外,我们还定义了一些元素的名称,例如 to-element 或 from-element。只有具有这些名称的元素才能在由该 note.xsd 验证/定义的 xml 中使用。

我的问题

XML1-3 和 XSD1-3 行中的每个代码是什么意思以及如何使用这些部分。我会写下我认为到目前为止我所理解的。请用简单的话解释我(不像 w3schools 或其他网站那样复杂)绿色和蓝色部分各自的作用,如何使用它以及它指向的位置。对于这个例子,我必须假设 note.xml 和 note.xsd 的 URL 是什么?

[URL note.xml]
[URL note.xsd]

[XML 1]xmlns="https://www.w3schools.com"
[XML 2]xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
[XML 3]xsi:schemaLocation= “https://www.w3schools.com note.xsd”

[XSD 1]xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
[XSD 2]targetNamespace="https://www.w3schools.com"

[XSD 3]xmlns=" https://www.w3schools.com"


[URL note.xml 和 note.xsd] 两个文件的 URL 都是https://www.w3schools.com ??

[XML1-3]我很困惑,这是什么意思?

[XSD 1]xmlns 表示 xml 命名空间并指向我使用语法的 URL。我们还声明只有所有标有 xs 的“语法”/元素使用写在http://www.w3.org/2001/XMLSchema

[XSD 2]targetNamespace 的“语法”,我使用它的目的和位置它指向???
[XSD 3]没有 xs 的 xmlns 和 XSD1 一样吗?只是它会声明没有 xs 的元素从哪里获取“语法”?这令人困惑,因为它不会又是http://www.w3.org/2001/XMLSchema吗?