我想在另一个模板中调用OBS模板,并希望删除该部分。但与它不同的是,它删除了完整的部分,因为我认为我在Obs模板中添加了Match。但我不选择该部分并删除
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns="urn:hl7-org:v3" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:isc="http://extension-functions.intersystems.com">
<xsl:output method="xml" indent="no" encoding="ISO-8859-1"/>
<xsl:template match="//@* | //node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/Container/Encounters/Encounter">
<xsl:variable name="EncNumber" select="EncounterNumber"/>
<xsl:variable name="ObsValue" select="/Container/Observations/Observation[EncounterNumber=$EncNumber and ObservationValue='Substance Abuse']/ObservationValue"/>
<xsl:variable name="ObsCode" select="/Container/Observations/Observation[EncounterNumber=$EncNumber and ObservationCode/Description/text()='Registration Chief Complaint']/ObservationCode/Description/text()"/>
<xsl:variable name="EncType" select="EncounterType"/>
<xsl:if test="EncounterNumber='8015'">
<xsl:call-template name="obs">
<xsl:with-param name="EncNumber" select="EncounterNumber"></xsl:with-param>
</xsl:call-template>
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
<xsl:template name = "obs" match="/Container/Observations/Observation" >
<xsl:param name = "EncNumber" />
<xsl:if test="not($EncNumber)">
<xsl:if test="$EncNumber=EncounterNumber">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:if>
</xsl:if>
</xsl:template>
</xsl:stylesheet>