Search code examples
xslt-2.0

The required item type of the context item for the child axis is node(); the supplied value "xyz" is an atomic value


I have the below XML and I am trying to compare the values in under each to a variable with multiple values separated by '|'. I want to output the values from the variable that did not match with the ones in for each group. Below is the XML and XSLT-

<RegionLOBs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:statutorytype="us-stat-2020-annual-stmt-pc"
    xmlns:xbrli="http://www.xbrl.org/2001/instance"
    xmlns:iso4217="http://www.xe.com/iso4217.htm"
    xmlns:stat="urn:www-iasa-org/tempuri">
    <Group>
        <Region>AL</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>AR</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>AZ</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>CA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>CO</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>CT</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>DC</Region>
        <LOB>WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability CommercialAutoPhysicalDamage Surety</LOB>
    </Group>
    <Group>
        <Region>DE</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>GA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>IA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ExcessWorkersCompensation ProductsLiability PrivatePassengerAutoNoFault OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>ID</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>IL</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>IN</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ExcessWorkersCompensation ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>KS</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability PrivatePassengerAutoNoFault OtherPrivatePassengerAutoLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>KY</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability PrivatePassengerAutoNoFault OtherPrivatePassengerAutoLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>LA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivateFlood CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MD</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>ME</Region>
        <LOB>Fire OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Surety BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MI</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivateFlood CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MN</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability PrivatePassengerAutoNoFault OtherPrivatePassengerAutoLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MO</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MS</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>MT</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NC</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>ND</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability PrivatePassengerAutoNoFault OtherPrivatePassengerAutoLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NE</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NH</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NJ</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NM</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines PrivateFlood CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NV</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>NY</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>OH</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ExcessWorkersCompensation ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>OK</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>OR</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>PA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ExcessWorkersCompensation ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>RI</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines PrivateFlood CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>SC</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>SD</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>TN</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>TX</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>UT</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>VA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>WA</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>WI</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>WV</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>WY</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivateFlood PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery HomeownersMultiplePeril InlandMarine</LOB>
    </Group>
    <Group>
        <Region>AK</Region>
        <LOB>Fire WorkersCompensation OtherLiabilityOccurrence ProductsLiability Surety InlandMarine</LOB>
    </Group>
    <Group>
        <Region>FL</Region>
        <LOB>Fire Earthquake WorkersCompensation OtherLiabilityOccurrence OtherLiabilityClaimsMade ProductsLiability CommercialAutoNoFault OtherCommercialAutoLiability AlliedLines CommercialAutoPhysicalDamage Fidelity Surety BurglaryAndTheft BoilerAndMachinery InlandMarine</LOB>
    </Group>
    <Group>
        <Region>VT</Region>
        <LOB>Fire WorkersCompensation OtherLiabilityOccurrence ProductsLiability OtherPrivatePassengerAutoLiability OtherCommercialAutoLiability AlliedLines PrivatePassengerAutoPhysicalDamage CommercialAutoPhysicalDamage Surety BoilerAndMachinery</LOB>
    </Group>
    <Group>
        <Region>HI</Region>
        <LOB>WorkersCompensation OtherLiabilityOccurrence Surety</LOB>
    </Group>
</RegionLOBs>

The version I am using is XSLT 2.0 and looks as below -

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wd="urn:com.workday.report/CR_Page_14_EMC"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:statutorytype="us-stat-2020-annual-stmt-pc"
    xmlns:xbrli="http://www.xbrl.org/2001/instance" xmlns:iso4217="http://www.xe.com/iso4217.htm"
    xmlns:stat="urn:www-iasa-org/tempuri" exclude-result-prefixes="xs wd" version="2.0">
    
    <xsl:output omit-xml-declaration="yes" indent="yes" method="xml"/>
    
    <xsl:variable name="single_quote">
        <xsl:text>'</xsl:text>
    </xsl:variable>
    <xsl:variable name="ampersand">
        <xsl:text>&amp;</xsl:text>
    </xsl:variable>
    
    <xsl:variable name="LOB_Hier">
        <xsl:text>Fire|AlliedLines|MultiplePerilCrop|FederalFlood|PrivateCrop|PrivateFlood|FarmownersMultiplePeril|HomeownersMultiplePeril|CommercialMultiplePerilNonLiabilityPortion|CommercialMultiplePerilLiabilityPortion|MortgageGuaranty|OceanMarine|InlandMarine|FinancialGuaranty|MedicalProfessionalLiability|Earthquake|GroupAccidentAndHealth|CreditAccidentAndHealth|CollectivelyRenewableAccidentAndHealth|NonCancelableAccidentAndHealth|GuaranteedRenewableAccidentAndHealth|NonRenewableForStatedReasonsOnly|OtherAccidentOnly|MedicareTitleXviiiExemptFromStateTaxesOrFees|AllOtherAccidentAndHealth|FederalEmployeesHealthBenefitsPlanPremium|WorkersCompensation|OtherLiabilityOccurrence|OtherLiabilityClaimsMade|ExcessWorkersCompensation|ProductsLiability|PrivatePassengerAutoNoFault|OtherPrivatePassengerAutoLiability|CommercialAutoNoFault|OtherCommercialAutoLiability|PrivatePassengerAutoPhysicalDamage|CommercialAutoPhysicalDamage|Aircraft|Fidelity|Surety|BurglaryAndTheft|BoilerAndMachinery|Credit|International|Warranty</xsl:text>
    </xsl:variable>
    
        <xsl:template match="/">
        <xsl:for-each select="tokenize($LOB_Hier, '\|')">
            <xsl:call-template name="repeatable">
                <xsl:with-param name="LOB_Hier" select="tokenize($LOB_Hier,'\|')" />
            </xsl:call-template> 
           
        </xsl:for-each>
    </xsl:template>
    
    <xsl:template name="repeatable" match="RegionLOBs">
        <xsl:param name="LOB_Hier"/>
        <LOBNotFound>
            <xsl:for-each select="Group">
                <Region>
                    <xsl:value-of select="Region"/>
                </Region>
                <xsl:variable name="GroupLOB" select="LOB"/>
                <MissingLOBs>
                    <xsl:choose>
                        <xsl:when test="contains($GroupLOB,$LOB_Hier)">
                            <xsl:text></xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:value-of select="$LOB_Hier"/>
                        </xsl:otherwise>
                    </xsl:choose>

                </MissingLOBs>
                
            </xsl:for-each>
        </LOBNotFound>      
        
    </xsl:template>
</xsl:stylesheet>

The error I am getting when I am running this transformation is 'The required item type of the context item for the child axis is node(); the supplied value "Fire" is an atomic value'

How do I make it work? Appreciate any suggestions for resolution.

Thank You


Solution

  • The context of your xsl:for-each is an atomic value, not a node from the XML structure. So, when you call the "repeatable" template by name, and then inside of it attempt to use an XPath, it is complaining that you can't use an XPath axis on a string.

    You could create a variable selecting the RegionLOBs element and then instead of calling by name, apply-templates selecting that variable as the context.

    Additionally, there is an issue with: <xsl:when test="contains($GroupLOB,$LOB_Hier)">

    $LOB_Hier has a sequence of values, so it complains that you cannot use a sequence for contains(). You could instead tokenize the GoupLOB by space and test the sets of values to see if there is an intersection: <xsl:when test="tokenize($GroupLOB, ' ') = $LOB_Hier">

    Applied to your stylesheet:

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wd="urn:com.workday.report/CR_Page_14_EMC"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:statutorytype="us-stat-2020-annual-stmt-pc"
        xmlns:xbrli="http://www.xbrl.org/2001/instance" xmlns:iso4217="http://www.xe.com/iso4217.htm"
        xmlns:stat="urn:www-iasa-org/tempuri" exclude-result-prefixes="xs wd" version="2.0">
        
        <xsl:output omit-xml-declaration="yes" indent="yes" method="xml"/>
        
        <xsl:variable name="single_quote">
            <xsl:text>'</xsl:text>
        </xsl:variable>
        <xsl:variable name="ampersand">
            <xsl:text>&amp;</xsl:text>
        </xsl:variable>
        
        <xsl:variable name="LOB_Hier">
            <xsl:text>Fire|AlliedLines|MultiplePerilCrop|FederalFlood|PrivateCrop|PrivateFlood|FarmownersMultiplePeril|HomeownersMultiplePeril|CommercialMultiplePerilNonLiabilityPortion|CommercialMultiplePerilLiabilityPortion|MortgageGuaranty|OceanMarine|InlandMarine|FinancialGuaranty|MedicalProfessionalLiability|Earthquake|GroupAccidentAndHealth|CreditAccidentAndHealth|CollectivelyRenewableAccidentAndHealth|NonCancelableAccidentAndHealth|GuaranteedRenewableAccidentAndHealth|NonRenewableForStatedReasonsOnly|OtherAccidentOnly|MedicareTitleXviiiExemptFromStateTaxesOrFees|AllOtherAccidentAndHealth|FederalEmployeesHealthBenefitsPlanPremium|WorkersCompensation|OtherLiabilityOccurrence|OtherLiabilityClaimsMade|ExcessWorkersCompensation|ProductsLiability|PrivatePassengerAutoNoFault|OtherPrivatePassengerAutoLiability|CommercialAutoNoFault|OtherCommercialAutoLiability|PrivatePassengerAutoPhysicalDamage|CommercialAutoPhysicalDamage|Aircraft|Fidelity|Surety|BurglaryAndTheft|BoilerAndMachinery|Credit|International|Warranty</xsl:text>
        </xsl:variable>
        
        <xsl:template match="/">
            <xsl:variable name="context" select="RegionLOBs"/>
            <xsl:for-each select="tokenize($LOB_Hier, '\|')">
                <xsl:apply-templates select="$context">
                    <xsl:with-param name="LOB_Hier" select="tokenize($LOB_Hier,'\|')" />
                </xsl:apply-templates> 
                
            </xsl:for-each>
        </xsl:template>
        
        <xsl:template name="repeatable" match="RegionLOBs">
            <xsl:param name="LOB_Hier"/>
            <LOBNotFound>
                <xsl:for-each select="Group">
                    <Region>
                        <xsl:value-of select="Region"/>
                    </Region>
                    <xsl:variable name="GroupLOB" select="LOB"/>
                     <MissingLOBs>
                       <xsl:sequence select="$LOB_Hier[not(. = tokenize($GroupLOB, ' '))]"/>
                     </MissingLOBs>
                </xsl:for-each>
            </LOBNotFound>      
            
        </xsl:template>
    </xsl:stylesheet>