gpt4 book ai didi

schema - XSD:如何重新定义 simpleType 的数据类型,例如。从 xs:string 到 xs:integer

转载 作者:行者123 更新时间:2023-12-04 15:28:03 25 4
gpt4 key购买 nike

我正在尝试扩展和定制外部 xsd 模式(fixml 标准的)。我需要改变一些元素的数据类型,不触及原始模式,而是通过重新定义它;但一直觉得它非常麻烦。

什么存在:

字段-base.xsd

<xs:simpleType name="LastUpdateTime_t">
<xs:restriction base="UTCTimestamp">
<xs:simpleType>

我想让它变成什么:
<xs:simpleType name="LastUpdateTime_t">
<xs:restriction base="xs:string">
<xs:simpleType>

我尝试过的(但失败了):
<xs:redefine schemaLocation="fields-base.xsd">
<xs:simpleType name="LastUpdateTime_t">
<xs:restriction base="xs:string" />
</xs:simpleType>
</xs:redefine>

书籍和网络似乎也没有太大帮助,所以我开始质疑这在理论上是否可行。

最佳答案

据我所知,这是不可能的。

我可以在 XMLSpy 中进行验证的唯一重新定义是:

<xs:redefine schemaLocation="fields-base.xsd"> 
<xs:simpleType name="LastUpdateTime_t">
<xs:restriction base="LastUpdateTime_t" />
</xs:simpleType>
</xs:redefine>

也就是说,新限制必须基于基本限制。

可能是 XMLSpy 在这方面是错误的。

这个有点神秘的引述来自 W3C XML Schema definition :

Within the [children], each simpleType must have a among its [children] and each complexType must have a restriction or extension among its grand-[children] the ·actual value· of whose base [attribute] must be the same as the ·actual value· of its own name attribute plus target namespace;



可能正在谈论这个(这是 XMLSpy 链接到此错误的规范的一部分)。

我能找到的重新定义简单类型的唯一很好的例子是 here .在此示例中,重新定义仅用于枚举。

关于schema - XSD:如何重新定义 simpleType 的数据类型,例如。从 xs:string 到 xs:integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2090855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com