带有 XSLT 转换的 XML 值的空白属性 [英] blank Attribute with value in XML with XSLT transformation

查看:24
本文介绍了带有 XSLT 转换的 XML 值的空白属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 XMl,我需要用动态 GUID 值替换 root="".这可以在 XML 文档中的任何位置.它不适用于以下 XSLT.这只是成功发布的扩展文本.

I have below XMl and I need to replace root="" with Dynamic GUID value. this can be anywhere in XML document. it does not work with below XSLT. This is just the extended text to post successfully.

            <ClinicalDocument xmlns="urn:hl7-org:v3">
            <templateId root="2.16.840.1.113883.10.20.22.1.2" extension="2015-08-01"/>
            <id root=""/>
            <code code="34133-9" codeSystem="2.16.840.1.113883.6.1" codeSystemName="LN"
            displayName="Summarization of Episode Note"/>
            <title>Patient Summary Document</title>
            <languageCode code="en-US"/>
            <component>
            <structuredBody>
              <component>
                <section>
                  <templateId root="2.16.840.1.113883.10.20.22.2.6.1"/>   
                  <entry typeCode="DRIV">
                    <act classCode="ACT" moodCode="EVN">
                      <templateId root="2.16.840.1.113883.10.20.22.4.30"/>
                      <templateId root="2.16.840.1.113883.10.20.22.4.30" extension="2015-08-01"/>
                      <id nullFlavor="UNK"/>  
                      <informant>
                        <assignedEntity>
                          <id root="2.16.840.1.113883.3.86.3.1" extension="STHS"/>
                          <addr nullFlavor="UNK"/>
                          <telecom nullFlavor="UNK"/>
                          <assignedPerson>
                            <name nullFlavor="UNK"/>
                          </assignedPerson>
                          <representedOrganization>
                            <id root="" extension="STHS" displayable="true"/>
                            <name>STHS</name>
                            <telecom nullFlavor="UNK"/>
                            <addr nullFlavor="UNK"/>
                          </representedOrganization>
                        </assignedEntity>
                      </informant>
                    </act>
                  </entry>
                </section>
              </component>
            </structuredBody>
            </component>
            </ClinicalDocument>

我有以下 XSLT.但它不适用于上面突出显示的标签.

I have below XSLT. but it does not work for above highlighted tag.

            <xsl:variable name="GUID" select="'FF1122'"/>

            <xsl:template match="id/@root[.='']">
                <xsl:attribute name="root">
                    <xsl:value-of select="$GUID"/>
                </xsl:attribute>
            </xsl:template>

            <xsl:template match="@* | node()">
                <xsl:copy>
                    <xsl:apply-templates select="@* | node()"/>
                </xsl:copy>
            </xsl:template>


        </xsl:stylesheet>

推荐答案

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:isc="http://extension-functions.intersystems.com"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"            
    xmlns:ns1="urn:hl7-org:v3">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>

  <xsl:variable name="GUID" select="'FF1122'"/>

  <xsl:template match="ns1:id/@root[.='']">
    <xsl:attribute name="root">
      <xsl:value-of select="$GUID"/>
    </xsl:attribute>
  </xsl:template>

  <xsl:template match="@* | node()">
    <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>

这篇关于带有 XSLT 转换的 XML 值的空白属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆