我正在设计 XML 引用书目并考虑如何捕获发布日期。对于我处理的大部分作品(书籍),出版日期仅包括年份,但对于一些(期刊文章)它是年和月,而对于其他(报纸文章)它是年,月和日。
为简单起见,我想使用一个元素来包含所有这三种变体。研究规范(http://www.w3.org/TR/xmlschema-2/ 的附录 D.2),我发现如果我的元素是 date 数据类型,我不能只省略我不这样做的日期和/或月份需要它们(ISO 8601 允许您这样做的方式),因为这些表示用于不同的数据类型(分别为 gYearMonth 和 gYear)。
但是我可以为不需要的值使用零吗?像这样:
<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/
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que