问题标签 [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 数据类型取决于父元素的属性
我有一些看起来像这样的报告:
我需要一个描述上述 XML 的 xml 模式定义。到目前为止没有问题。我无法解决的问题是如何做如下:data
元素的类型需要依赖于元素的datatype
属性data set
。
数据类型可以是:字符串、浮点数或整数。例如,datatype
属性设置为“integer”,所有子“data”元素都应限制为“xs:integer”类型。
这是我的 XSD,除了类型限制:
我很感激每一个有用的想法!
notepad++ - 如何更改已为 XML 模式验证设置的路径
根据开发人员设置的 XSD 格式,我有一堆 XML 失败,我正在使用 Notepad++ 验证我们组织提供的模式,
我已经下载了xml工具插件,将它与notepad ++集成,现在当我验证文档时它应该要求一个路径,我最近设置不正确,现在我想更改路径,但每次我现在点击验证,它弹出没有检测到错误。
我只想将路径再次更改为之前提供的路径,以便它可以相应地工作..
请帮助解决此问题。
c# - 如何从 XML 持久性格式文件导入/导出?
我有一些看起来像这样的 XML 文件:
我需要将类从 C# 代码导出到这个 XML 模式。我试图找到一些信息,并找到了 ADO DB 和 MSSQL 的示例。我没有 MSSQL 服务器。我试图导出 DataSet,但我得到了另一个模式。我需要来自示例的相同架构。有任何想法吗?
java - 我可以使用 XML Schema 来验证没有 xmlns 属性的文档吗?
我有一种情况,我想开始使用 XML 模式来验证直到现在还没有模式定义的文档。因此,我要验证的现有文件中没有任何xmlns
声明。
我成功验证包含声明的文档没有问题,xmlns
但我也希望能够在没有此类声明的情况下验证这些文档。我希望有这样的事情:
没有这样的方法DocumentBuilder.setDefaultNamespace
,因此在加载这种类型的文档时不会执行模式验证。
如果未设置,有什么方法可以强制文档的命名空间?或者这是否需要在不考虑架构的情况下解析 XML,检查现有命名空间,调整它,然后使用架构重新验证文档?
我目前期望解析器在解析期间执行验证,但是我先解析然后再验证没有问题。
更新 2021-01-13
这是我正在尝试做的一个具体示例,作为 JUnit 测试用例。
所有的测试都通过了,除了testConformingDocumentWithoutSchema
. 我认为这是意料之中的,因为文档没有声明命名空间。
我在问如何更改测试(但不是文档本身!),以便我可以根据文档实际未声明的模式验证文档。
prolog - prolog中的持续时间比较
我用一些 xsd:duration 数据类型制作了一个 OWL 本体。然后我使用 Thea 将其转换为 prolog 事实。
我有以下 xsd:duration 结构PnYnMnDTnHnMnS。如何编写序言规则来比较两个持续时间,以确定哪一个更大?
当我从我的 prolog 事实中检索数据时,它具有以下形式:
literal(type('http://www.w3.org/2001/XMLSchema#duration', Value))
我设法使用以下方法提取价值:
这导致(例如):
仍然不知道如何比较它们。
xml - XSD - 包含所有固定值的列表
什么是正确的 XML Schema 声明:
这两个属性的每个值都应该在 XSD 枚举中。
到目前为止,我尝试过:(它不起作用)
使用此网站进行测试: https ://www.freeformatter.com/xml-validator-xsd.html
java - 如何使用 Java 和 XmlSchema Core 解析 XSD 并读取所有复杂元素及其子元素
我正在使用该Apache XmlSchema Core
库来解析XSD
文件并获取所有元素及其子类型(数据类型、maxOccurs 等)。我正在关注文档Apache XML SCHEMA CORE并尝试这样做。但是在导航到某个点后,我有点困惑。有人可以指导我如何遍历我的XSD
文件并获取所有元素及其子元素以及相关信息吗?
我能够在我的schema
元素中获取所有 XSD 信息我只想知道如何从我的根访问子元素RootFood
并获取其相关信息。任何帮助将非常感激。
我试图进一步继续,这就是我到目前为止所拥有的:元素RootFood
属于 class 的实例XmlSchemaGroupParticle
。我尝试调试代码以查找与我关联的元素rootParticles
,它具有调用的字段items
,其中我有我的food
元素items->[0]->namedDelegate->qName->localPart
,但是当我尝试添加GET
方法rootParticles
以获取items
然后没有这样的方法。
XmlSchemaParticle
扩展了以下类:,XmlSchemaAnnotated
,XmlSchemaObject
并实现了接口XmlSchemaObjectBase
,但它们都没有名为 的字段Items
。
以下是我到目前为止的Java代码,我尝试了几件事:
以下是XSD
我拥有的文件:
java - Apache XMLSchema 核心 XSD/XML 解析器将根元素显示为所有子元素的父元素,而不是其直接父元素
我正在尝试解析XSD
using Apache XMLSchema Core
. 我能够解析文件并将Parent
其及其Child Element
信息存储在HashMap
.
每个Child
元素都存储在类型中,该类型XmlSchemaElement
也包含Parent
该子元素的信息。当我尝试查看与子元素相关的信息时,它会显示Root
所有元素而不是其直接父元素。
例如:在 myXSD
中,RestaurantMenu
是Root
元素,它的直接子元素是Food
。此外,Food
还有 childrens name
,price
等calories
。当我看到 parent 元素时,name
我希望它是Food
直接的 Parent 但在Debug
显示RestaurantMenu
为它的父元素时,这有点令人困惑。
我想知道如何获取与每个元素的直接父级相关的信息。
以下是我的XSD
文件:
以下是我使用以下代码编写的代码Apache XmlSchema Core XML Parser
:我正在尝试这样Debug
做:
上面的代码将返回Children
食物的所有元素:name
, price
, calories
, description
, ingredients
。然后我试图查看其中一个元素的父级,即name
. 以下是我正在采用的调试路径:
在这qName
我期待那food
是我的直接父母,但我得到了RestaurantMenu
这是我的Root
xsd 元素。
请在下面找到完整的代码:
xml - 子元素类型取决于父属性值的 XML 模式
是否可以为所有节点名称具有相同名称且只能由属性值标识的 XML 编写 XSD 模式?
示例 XML 数据:
不幸的是,我无法更改 XML 结构并将标记名称设置为与“名称”属性相同的值,因为它可能包含空格字符甚至一些特殊字符,例如感叹号等。
重要的是,每个嵌套节点也可以是复合类型,其子节点将具有类似的结构,元素名称为“param”和标识它们的“name”属性。
当然,节点子节点的结构应该取决于它的“name”属性,因此,例如,当我们将“电话号码”标签移动到“家庭地址”节点时,我们的模式应该将此类 XML 标记为无效。
XSD Schema 验证失败的无效 XML 示例:
xml - XML Schema - 针对 xml 验证 xsd - 内容无效
这是我的 XML 代码- 这部分格式正确,在进行验证时不包含任何错误。
这是我的 XSD 代码:问题就在这里。我将其视为错误“元素”:内容无效。预期为(注释?,((simpleType | complexType)?,(唯一| key | keyref)*))。
我是使用 xml 和 xsd 的初学者。问题如下:
使用以下架构命名空间:
- http://www.w3.org/2001/XMLSchema-instance
- 最小和最大员工人数:
- 最低:1
- 最大值:无界
- 薪水在 10,000 到 90,000 之间(含)。
- 将以下元素的类型声明为全局类型:
- 将此 complexType 的名称写为 name
- 将此 simpleType 的名称写为薪水