问题标签 [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.
xml - 嵌套和在 XSD 中创建任意元素选择
我想使用 XSD 验证我的 XML。XML 应该包含复杂元素,其中包含给定集合的一些(没有全部)元素。我认为复杂元素的直接解决方案是
我想摆脱元素的设置顺序,再加上我想摆脱minOccurs="0"
每一行中的
也是有效的。我的想法是写
这应该转换为“根据需要多次选择列表中的一个元素”。
但它不允许我maxOccurs=1
对单个元素施加外观限制(如 )。有没有更好的方法来验证 XML 而不强制元素的给定顺序?
xml - 多个 xml 的通用 xsd 架构
我想构建一个通用的 xsd 模式文件来验证以下 3 种格式的 xmls 和 xsd 以仅验证前 2 个级别。请告知是否可能。
java - 针对 xsd 验证 xml 但得到 org.xml.sax.SAXParseException
我正在尝试针对 Java 中的 XSD 文件验证 XML。
这是我的代码:
但我收到一个错误:
代码参考:针对 XSD 验证 XML
我的学生 xml 文件是:
xsd文件是:
不知道我哪里错了,任何建议都会有所帮助。谢谢你。
json - 运行打字稿文件时出现“未定义”错误
我正在构建一个将 XML 模式转换为 JSON 文件的转换器。 这是我用于将 xml 转换为 json 的代码。我正在使用 xml4js 库 这是我用于测试此代码是否正常工作的 xsd 文件示例 这是与我上传的 xsd 文件相关的 xml 文件
但是当我运行这个文件时,我得到了一个“未定义”的错误。我不知道这段代码出了什么问题……谁能弄清楚我的问题,请告诉我!请:) 未定义的错误
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:date
orxf: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'”属性,但这可能是错误的,因为我找不到其他提及这一点。
如果我不得不放弃对任何具有日期字段的文档的基于模式的验证,那将是非常令人失望的。在某些情况下,我可以“逃避”让文档的第一个贡献者必须填写日期字段,但有这个选项会好得多。感谢您的任何建议!
xml - Nagios check_http - 来自 API XMLSchema
我想设置 Nagios 检查“Check_http”以验证 XMLTAG 中的值是否为“许可证有效”
API 的链接是 http://IPADDRESS/webapi/webapi.asmx/HealthCheck
或者是否有其他 Nagios Check 更简单的方法?
谢谢
c# - 如何使用 C# 更改 XML 文档中的模式
我有一个如下所示的 XML 文件:
我需要更改第二行:
变成这样:
有谁知道如何做到这一点?
这是我的 XML 类:
此类由 XML 文件生成器生成。如您所见,我一直在尝试添加 XML 属性来手动更改命名空间。
这是逻辑类:
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吗?