目标:在我的项目中,数据准备是由不同的团队在不同的级别完成的。我们用于数据准备的格式是XML。为了支持上述需求,我们准备了具有不同层(不同目标命名空间)的XSD,每个XSD层将继承先前的XSD层并对其进行扩展(感谢XSD重新定义)。
问题:
基础架构类型.xsd:
<xs:schema xmlns:rail="http://www.railml.org/schemas/2016" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.railml.org/schemas/2016" elementFormDefault="qualified" version="2.3">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
<xs:include schemaLocation="railwayUnits.xsd"/>
<xs:include schemaLocation="railwayBaseTypes.xsd"/>
<xs:complexType name="tBasePlacedElement">
<xs:complexContent>
<xs:extension base="rail:tElementWithIDAndName">
<xs:sequence>
<xs:element name="geoCoord" type="rail:tGeoCoord" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attributeGroup ref="rail:aRelPosition"/>
<xs:attributeGroup ref="rail:aAbsPosition"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
-----------------
----------------
---------------
infrastructure-GenericADM.xsd:
<xs:schema xmlns="http://www.railml.org/schemas/2016" xmlns:GenericADM="http://www.transport.alstom.com/GenericADM/1" xmlns:rail="http://www.railml.org/schemas/2016" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.railml.org/schemas/2016" elementFormDefault="qualified" version="0.1" vc:minVersion="1.1">
<xs:import namespace="http://www.transport.alstom.com/GenericADM/1" schemaLocation="GenericADM.xsd"/>
<xs:redefine schemaLocation="railML.xsd">
<xs:complexType name="tBasePlacedElement">
<xs:complexContent>
<xs:extension base="rail:tBasePlacedElement">
<xs:attribute name="kPCorrectedTrolleyValue" type="rail:tLengthM" use="optional"/>
<xs:attribute name="alternativeKP" type="rail:tLengthM" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
当我使用 Altova XMLSpy 验证 XSD 基础结构时,它给出了以下错误:
rail:tBasePlacedElement已经声明。错误位置:xs:schema/xs:redefine/xs:complex type。src-expressed f:
然而,使用Oxygen XML Editor和Liquid Studio等标准工具成功验证了相同的xsd。
有人可以帮助了解问题所在。
提前谢谢你。
我担心,问题是xs的规范:重定义在边缘有些模糊。XSD 1.1的作者认为修复互操作性问题是一项不可能的任务,这就是XSD 1.1说
注意:本节其余部分中描述的重定义特征为 ·已弃用·并可能从本规范的未来版本中删除。鼓励架构作者在需要与本规范的更高版本的互操作性或兼容性的情况下避免使用它。
特别是,当模块A通过两条不同的路径引用模块B时,规范中确实没有很好地定义应该发生什么,其中一条路径有xs:redefine
步骤。
我无法使用下面的XSD验证XML, XSD数据 我在用XML验证这个XSD时遇到以下错误, cvc复合型。2.4.答:发现以元素“standardHeader”开头的内容无效。应为“{standardHeader}”之一。 如何提供此标签:
我正在尝试为小型XML创建XSD,它的默认名称空间为
我有一个非常简单的XML 组织。xml。萨克斯。SAXParseException:s4s elt架构ns:元素'Config'的命名空间必须来自架构命名空间'http://www.w3.org/2001/XMLSchema'. XML到这里: XSD去这里:
下面是我的XSD。我犯了错误。你能验证一下吗? 请帮帮我。
问题内容: 我正在生成一些XML模式,并希望确保我们的生成器正在创建有效的XML模式文档(不是XML)。我试图提出验证XML Schema文档的代码,但失败了。我不认为会这么复杂。 这段代码与我需要做的非常接近,但是出现以下错误。 我在调用setSchema(uri)时使用URL,以确保XMLSchema.dtd和datatypes.dtd是相对的,希望它们可用,但是我不确定如何进行检查。 我猜想
我有一个XML文件,其结构如下: XSD模式: 和可视化的XSL文件(学生tylesheet.xsl): 我目前正在学习一门关于XML的短期课程,任务是在XML文件中构建给定的XSD模式和一些示例记录,然后最终使用XSLT将内容可视化为超文本标记语言。其中一项任务指出,我需要使用“urn:学生”作为结构的默认命名空间。然而,当我这样做的时候,我不会在最终的可视化中收到数据。当我从XML文件中删除“