首页 文章

删除XML命名空间而忽略根目录

提问于
浏览
0

我有一个xml .

<ClinicalDocuments>

<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:axolotl="urn:axolotl-com:pdo">
        <realmCode xmlns="" code="US"/>
        <typeId xmlns="" extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>
        <templateId xmlns="" root="1.3.6.1.4.1.19376.1.5.3.1"/>
        <templateId xmlns="" root="1.3.6.1.4.1.19376.1.5.3.1.1"/>
        <templateId xmlns="" root="1.3.6.1.4.1.19376.1.5.3.1.1.1"/>
        <templateId xmlns="" root="2.16.840.1.113883.10.20.3"/>
        <templateId xmlns="" root="2.16.840.1.113883.10.20.1"/>
        <templateId xmlns="" root="2.16.840.1.113883.3.88.11.32.1"/>
        <id xmlns="" root="006e50e9-29b5-4ab2-8c0b-202819b39646"/>
blah
blah
</ClinicalDocument>
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
blah
blah
.
.
</ClinicalDocument>

</ClinicalDocuments>

xmlns =“”正在压缩主xmlns .

我想删除xmlns =“”上的所有其他实例,同时保留根节点上的所有实例“ClinicalDocument xmlns =”urn:hl7-org:v3“xmlns:voc =”urn:hl7-org:v3 / voc“xmlns: xsi =“http://www.w3.org/2001/XMLSchema-instance”xmlns:axolotl =“urn:axolotl-com:pdo”

整个xml中还有许多其他xmlns =“” . 请帮忙 .

2 回答

  • 1

    您无法直接在XSLT中操作名称空间声明 . 您应确保结果树中的每个元素都在正确的命名空间中,然后将自动处理命名空间声明 .

    例如,如果您不希望 xmlns="" 出现在 realmCode 元素上,则应确保在与其父元素相同的命名空间中生成 realmCode 元素 . 这可以通过模板规则来完成,例如:

    <xsl:template match="realmCode">
      <xsl:element name="{local-name()}" namespace="urn:hl7-org:v3">
        <xsl:apply-templates/>
      </xsl:element>
    </xsl:template>
    
  • 0

    只需删除 xmlns="" 的所有实例 . 此XML通过验证, <ClinicalDocument>xmlns 将不再被覆盖:

    <ClinicalDocuments>
        <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:axolotl="urn:axolotl-com:pdo">
            <realmCode code="US"/>
            <typeId extension="POCD_HD000040" root="2.16.840.1.113883.1.3"/>
            <templateId root="1.3.6.1.4.1.19376.1.5.3.1"/>
            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.1"/>
            <templateId root="1.3.6.1.4.1.19376.1.5.3.1.1.1"/>
            <templateId root="2.16.840.1.113883.10.20.3"/>
            <templateId root="2.16.840.1.113883.10.20.1"/>
            <templateId root="2.16.840.1.113883.3.88.11.32.1"/>
            <id root="006e50e9-29b5-4ab2-8c0b-202819b39646"/>
    blah
    blah
        </ClinicalDocument>
        <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:voc="urn:hl7-org:v3/voc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    blah
    blah...
        </ClinicalDocument>
    </ClinicalDocuments>
    

相关问题