子轴的上下文项所需的项类型是node();提供的值 "xyz" 是一个原子值

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

我有下面的 XML,我正在尝试将每个下面的值与一个变量进行比较,其中多个值由“|”分隔。我想输出与每个组中的值不匹配的变量值。下面是 XML 和 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>

我使用的版本是 XSLT 2.0,如下所示 -

<?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 required item type of the context item for the child axis is node(); the supplied value "Fire" is an atomic value'

如何让它发挥作用?感谢任何解决建议。

谢谢

您正在 xsl:for-each select="tokenize($LOB_Hier, '\|')" 内部使用 xsl:call-template,即在字符串序列的 for-each 内部(字符串是原子值),因此在您调用的模板中上下文项是一个简单的字符串。但是您假装要处理名为 Group 的子元素,例如xsl:for-each select="Group" 在调用的模板内部,可能是某个输入节点的子元素。

所以在xsl:for-each select="tokenize($LOB_Hier, '\|')"之前,你需要存储一个节点,例如使用 <xsl:variable name="root-node" select="."/> 的上下文节点并将其作为参数传递给您调用的模板然后使用 $root-node/Group 您想要处理 Group 子节点或者可能更确切地说 $root-node/RegionLOBs/Group如果我正确阅读了您的文档结构。

您的 xsl:for-each 的上下文是一个原子值,而不是 XML 结构中的节点。因此,当您按名称调用“可重复”模板,然后在其中尝试使用 XPath 时,它会抱怨您不能在字符串上使用 XPath 轴。

您可以创建一个选择 RegionLOBs 元素的变量,然后应用模板选择该变量作为上下文而不是按名称调用。

此外,还有一个问题:<xsl:when test="contains($GroupLOB,$LOB_Hier)">

$LOB_Hier 有一个值序列,因此它会抱怨您不能对 contains() 使用序列。您可以改为将 GoupLOB 标记为 space 并测试值集以查看是否存在交集:<xsl:when test="tokenize($GroupLOB, ' ') = $LOB_Hier">

已应用于您的样式表:

<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>