Experts, i need to write XSLT 1.0 code to remove the quotes for multiple conditions.
CASE1: Remove the double quotes CASE2: Remove the double quotes + delete the PIPE symbol inside that double quotes (IF exist) CASE3: Remove Single quote " from the input field.
Input:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns0:Accounting xmlns:ns0="http://sample.com">
        <Record>
            <DRCR>"DR"</DRCR>
            <GLREFERENCE>"TEST|CASE"</GLREFERENCE>
            <GLVALUEDATE>EXAM"PLE</GLVALUEDATE>
            <GLACCOUNTNUMBER>"1160</GLACCOUNTNUMBER>
            <GLEXAMPLE>123</GLEXAMPLE>
            <GLEXAMPLE1>EXTRACT|2021-06-16|2853|1308026.7500|1176</GLEXAMPLE1>
        </Record>       
</ns0:Accounting>
** Desired Output:**
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ns0:Accounting xmlns:ns0="http://sample.com">
        <Record>
            <DRCR>DR</DRCR>
            <GLREFERENCE>TEST CASE</GLREFERENCE>
            <GLVALUEDATE>EXAMPLE</GLVALUEDATE>
            <GLACCOUNTNUMBER>1160</GLACCOUNTNUMBER>
            <GLEXAMPLE>123</GLEXAMPLE>
<GLEXAMPLE1>EXTRACT|2021-06-16|2853|1308026.7500|1176</GLEXAMPLE1>
        </Record>       
</ns0:Accounting>
** XSLT I tried:**
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>
<xsl:template match="text()">
    <xsl:call-template name="process">
        <xsl:with-param name="text" select="."/>
    </xsl:call-template>
</xsl:template>
<xsl:template name="process">
    <xsl:param name="text"/>
    <xsl:choose>
        <xsl:when test="contains($text, '"')">
            <xsl:value-of select="substring-before($text, '"')"/>
            <xsl:value-of select="translate(substring-before(substring-after($text, '"'), '"'), '|', '')"/>
            <xsl:call-template name="process">
                <xsl:with-param name="text" select="substring-after(substring-after($text, '"'), '"')"/>
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$text"/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>
</xsl:stylesheet>
This XSLT not handling case 3, which has single quote in the input field. Please assist here..