我试图根据模式验证“http://xml.ra.se/e-arkiv/METS/CSPackageMETS.xsd”的XML文件,我得到了以下验证错误:架构验证错误CVC-elt.4.2(尽管正确的类型定义?)
CVC-ELT .4.2:无法解析“PREMIS:文件”的类型定义为元素“PREMIS:对象
在XML文件中我有这样的:
<premis:object xmlns:premis="info:lc/xmlns/premis-v2" version="2.2" xsi:schemaLocation="info:lc/xmlns/premis-v2 http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd" xsi:type="premis:file">
的问题是,只要我能看到,“premis:file”是根据premis定义的类型定义。但是,也许我没有正确地解释这一点,我是模式新手,实际上是一般的XML。
我搜索了一些可以帮助我理解xml文件中发生了什么的信息,以及它如何与模式相关以便了解什么是错误,但是我一直无法找到这个问题的答案。我非常感谢在这方面的帮助。
的xml文件:
<?xml version="1.0" encoding="ASCII" standalone="no"?>
<mets:mets xmlns:mets="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" OBJID="bc198c15-cd31-41e6-98aa-5e85caf97d6c" PROFILE="http://xml.ra.se/e-arkiv/METS/CommonSpecificationSwedenPackageProfile.xml" TYPE="Economics" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.loc.gov/standards/mets/version18/mets.xsd http://xml.ra.se/e-arkiv/METS/CSPackageMETS.xsd">
<mets:metsHdr CREATEDATE="2016-04-22T08:39:09"><mets:agent ROLE="ARCHIVIST" TYPE="ORGANIZATION"><mets:name>arkivbildare</mets:name></mets:agent><mets:agent ROLE="ARCHIVIST" TYPE="ORGANIZATION"><mets:name>nummer</mets:name></mets:agent><mets:agent OTHERTYPE="SOFTWARE" ROLE="ARCHIVIST" TYPE="OTHER"><mets:name>system</mets:name></mets:agent><mets:agent ROLE="CREATOR" TYPE="ORGANIZATION"><mets:name>levorg</mets:name></mets:agent><mets:altRecordID TYPE="SUBMISSIONAGREEMENT">bet;2016-05-31</mets:altRecordID></mets:metsHdr>
<mets:amdSec ID="amdSec_1">
<mets:techMD ID="techMD_1">
<mets:mdWrap MDTYPE="PREMIS:OBJECT">
<mets:xmlData>
<premis:object xmlns:premis="info:lc/xmlns/premis-v2" version="2.2" xsi:schemaLocation="info:lc/xmlns/premis-v2 http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd" xsi:type="premis:file"> some elements </premis:object>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
some elements
</mets:amdSec>
some elements
</mets:mets>
您是否想使用'schemaLocation'属性中给出的模式'http:// www.loc.gov/standards/premis/v2/premis-v2-2.xsd'? –
整个文件应验证为模式http://xml.ra.se/e-arkiv/METS/CSPackageMETS.xsd,但我认为它是与我的问题相关的schemaLocation属性中的模式? – ostid
即使更新之后,您仍然没有发布*** [mcve] ***。您的XML应该验证除了您的问题的主题单个错误。 (它甚至不是很接近你的根元素上的'schemaLocation'具有奇数个条目,'premis:对象是不完整的等等)**清理你的XML例子,以便清楚地说明你的实际问题,然后更新你的问题。**谢谢。 – kjhughes