[xsl] Exclude child node details if child node is not in the xml file

Subject: [xsl] Exclude child node details if child node is not in the xml file
From: "LEGAULT, PHILLIP plegault@xxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 27 Oct 2023 19:37:08 -0000
I have a soap xml file Ibm downloading and transforming using saxon xslt 2 ,
the file may or may not include child node  bRelatedCases_GCC__cb, If not
do not add empty tags. If so then add tags with resulting text. Xslt example
below xml details that fails.

====================XML file===========================
<?xml version="1.0" encoding="UTF-8"?>
<records xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
         xmlns="urn:enterprise.soap.sforce.com"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xmlns:sf="urn:sobject.enterprise.soap.sforce.com"
         xsi:type="sf:Case">
   <sf:Id>H</sf:Id>
   <sf:CaseNumber>004191992</sf:CaseNumber>
   <sf:Clone_OriginalRecord_GCC__c>5000D00000CIMezQAH</sf:Clone_OriginalRecor
d_GCC__c>
   <sf:Clone_OriginalRecord_GCC__r xsi:type="sf:Case">
      <sf:Id xsi:nil="true"/>
      <sf:CaseNumber>8</sf:CaseNumber>
   </sf:Clone_OriginalRecord_GCC__r>
   <sf:Clone_ParentRecord_GCC__c>H</sf:Clone_ParentRecord_GCC__c>
   <sf:Clone_ParentRecord_GCC__r xsi:type="sf:Case">
      <sf:Id xsi:nil="true"/>
      <sf:CaseNumber>8</sf:CaseNumber>
   </sf:Clone_ParentRecord_GCC__r>
   <sf:CountryMarketed_GCC__c>s</sf:CountryMarketed_GCC__c>
   <sf:DueDiligenceRequired_GCC__c>false</sf:DueDiligenceRequired_GCC__c>
   <sf:NoFurtherContactInformationProvided_GCC__c>true</sf:NoFurtherContactIn
formationProvided_GCC__c>
   <sf:Origin>Email</sf:Origin>
   <sf:Product_GCC__r xsi:type="sf:ProductLocal_GCC__c">
      <sf:Id xsi:nil="true"/>
      <sf:ArticleNumber_GCC__c>2</sf:ArticleNumber_GCC__c>
      <sf:Locale_GCC__r xsi:type="sf:Locale_GCC__c">
         <sf:Id xsi:nil="true"/>
         <sf:Region_GCC__c>NA</sf:Region_GCC__c>
         <sf:TranslationRequired_GCC__c>false</sf:TranslationRequired_GCC__c>
      </sf:Locale_GCC__r>
      <sf:MarketStatus_GCC__c>ACTIVE</sf:MarketStatus_GCC__c>
      <sf:Master_GCC__r xsi:type="sf:ProductMaster_GCC__c">
         <sf:Id xsi:nil="true"/>
         <sf:Description_GCC__c>Z</sf:Description_GCC__c>
         <sf:FormulaNumber_GCC__c>NotSpecified</sf:FormulaNumber_GCC__c>
         <sf:SameSimilar_GCC__c>Not Applicable</sf:SameSimilar_GCC__c>
      </sf:Master_GCC__r>
      <sf:Name>0045060341USA_en-us</sf:Name>
      <sf:RegulatoryStatus_GCC__c>OTC</sf:RegulatoryStatus_GCC__c>
   </sf:Product_GCC__r>
   <sf:Quantity_GCC__c>1.0</sf:Quantity_GCC__c>
   <sf:RelatedCases_GCC__c>8,2</sf:RelatedCases_GCC__c>
   <sf:Subject>Testing Final Scenario</sf:Subject>

</records>
========================================= end
XML==================================

I want to exclude these fields if  bRelated Cases does not exist.

<xsl:If "/records/sf:RelatedCases_GCC__c">
Original Case: <xsl:value-of
select="/records/sf:Clone_OriginalRecord_GCC__r/sf:CaseNumber"/>
Cloned From Case: <xsl:value-of select="/records/sf:CaseNumber"/>
Related Cases:<xsl:value-of select="/records/sf:RelatedCases_GCC__c"/>
</xsl:if>

Current Thread