gpt4 book ai didi

xml - "00"是 XML 模式日期数据类型的合法月份和/或日期值吗?

转载 作者:数据小太阳 更新时间:2023-10-29 02:02:55 26 4
gpt4 key购买 nike

我正在设计 XML 引用书目并考虑如何捕获发布日期。对于我处理的大部分作品(书籍),出版日期仅包括年份,但对于一些(期刊文章)它是年和月,而对于其他(报纸文章)它是年,月和日。

为简单起见,我想使用一个元素来包含所有这三种变体。研究规范(http://www.w3.org/TR/xmlschema-2/ 的附录 D.2),我发现如果我的元素是 date 数据类型,我不能只省略我不这样做的日期和/或月份需要它们(ISO 8601 允许您这样做的方式),因为这些表示用于不同的数据类型(分别为 gYearMonthgYear)。

但是我可以为不需要的值使用零吗?像这样:

<pubdate>2009-04-00</pubdate>
<pubdate>2007-00-00</pubdate>

规范明确禁止将“0000”作为年份值(附录 D.3),但对于月份和日期的零值没有任何说明。

我怀疑我的问题的答案是否定的,因为 date 值应该正好对应一天的时间间隔(规范第 3.2.9 节)。但我仍然想问,既是为了确保我不会不必要地放弃有效方法,也是因为我还没有在其他地方看到这个确切的问题。

我发现的最接近的是:http://www.biglist.com/lists/xsl-list/archives/200408/msg00297.html .那里提出的一种解决方案是为日期的每个部分创建一个属性,如果我不能像上面建议的那样使用零,我可能最终会这样做。当然,我们欢迎更好的想法。

最佳答案

不,00 不是每个 xsd:date 的月份或日期的合法值;你列出的例子

<pubdate>2009-04-00</pubdate>
<pubdate>2007-00-00</pubdate>

无效。

观察#1:

您提到使用属性代替。我假设你的意思不是将整个日期字符串放在一个属性而不是一个元素中,因为两者的输入问题是相同的。无论哪种方式,您都可以定义一个允许省略月份和日期的新类型(这比允许 00 更好)。

观察#2:

日期可能非常困惑,尤其是当数据源是不受控制的遗留数据时。您可能希望尽可能规范化为具有月份和日期的可选组件的严格格式,但也支持对日期的不受约束的文本捕获,如最初显示的那样,以应对由于数据不完整或不明确而无法规范化的情况。来自不受约束的用户输入或 OCR'ing 的日期对于硬塞进标准格式可能特别具有挑战性。

关于xml - "00"是 XML 模式日期数据类型的合法月份和/或日期值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527406/

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