在1个XML文件中组合2个模式

时间:2017-10-19 14:12:54

标签: xml schema

我需要从ONE XML文档中的PBCore模式的mods模式和技术信息中获取描述性信息。但无论我把什么顺序放进去,我的XML编辑器都会出现格式错误。 我在XML doc的顶部有这个序幕:

<?xml version='1.0' encoding='UTF-8'?>
<mods:modsCollection xmlns:mods="http://www.loc.gov/mods/v3"
    xmlns:xlink="http://www.w3.org/1999/xlink" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/mods/v3 
http://www.loc.gov/standards/mods/v3/mods-3-6.xsd">

在我的XML文档中稍晚一点:

<pbcoreCollection xmlns="http://www.pbcore.org/PBCore/PBCoreNamespace.html"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.pbcore.org/PBCore/PBCoreNamespace.html 
http://pbcore.org/xsd/pbcore-2.0.xsd">

我错过了什么?

1 个答案:

答案 0 :(得分:0)

以下是一个显示此操作的示例文档:

<?xml version="1.0" encoding="UTF-8"?>
<mods:modsCollection xmlns:mods="http://www.loc.gov/mods/v3"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.loc.gov/mods/v3
                      http://www.loc.gov/standards/mods/v3/mods-3-6.xsd">
  <mods:mods>
    <mods:extension>
      <pbcoreCollection
        xmlns="http://www.pbcore.org/PBCore/PBCoreNamespace.html"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.pbcore.org/PBCore/PBCoreNamespace.html
                            http://pbcore.org/xsd/pbcore-2.0.xsd">
        <pbcoreDescriptionDocument>
          <pbcoreIdentifier source="NOLA Code">AMEX000102</pbcoreIdentifier>
          <pbcoreTitle>American Experience: Radio Bikini</pbcoreTitle>
          <pbcoreDescription>In July 1946, the U.S. Navy...
                    later.</pbcoreDescription>
        </pbcoreDescriptionDocument>
      </pbcoreCollection>
    </mods:extension>
  </mods:mods>
</mods:modsCollection>

诀窍是确保您可以插入父架构允许的其他架构内容。基本上,查看XSD文件中可以包含mixed="true"内容的元素:

http://www.loc.gov/standards/mods/v3/mods-3-6.xsd