[xsl] Normalizing space / XPTY0004

Subject: [xsl] Normalizing space / XPTY0004
From: Lief Erickson <lief@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 29 Jul 2013 22:55:46 +0000
Hi All--

XSLT 2.0
Saxon EE 9.5.0.2 (in oXygen 15.0)

I have a question about normalizing space -- at least I think that's what my
question is about. I am matching the following TextRun/Text values, but the
output is putting a space either after the end of the line or before the
beginning (I can't tell which). That makes the word "are" become "ar e" and
"larger" become "lar ger" and "unchanged" become "unchang ed". Obviously this
is not my desired result, but the processor is dutifully matching exactly what
it finds.

      <Paragraph stylename="Body">
         <TextRun>
            <Text value="If enabled, only the first N-bytes of each ingress
packet ar"/>
            <Text value="e forwarded to Tool Ports connected to the rule.
Packets lar"/>
            <Text value="ger than the trim length are 'trimmed' to the size
specified"/>
            <Text value=". Packets smaller than the trim length are forwarded
unchang"/>
            <Text value="ed."/>
         </TextRun>
      </Paragraph>


    <xsl:template match="Paragraph[@stylename = 'Body']">
        <xsl:value-of select="./TextRun/Text/@value"/>
    </xsl:template>

Output:
If enabled, only the first N-bytes of each ingress packet ar e forwarded to
Tool Ports connected to the rule. Packets lar ger than the trim length are
'trimmed' to the size specified . Packets smaller than the trim length are
forwarded unchang ed.

I tried <xsl:value-of select="normalize-space(./TextRun/Text/@value)"/>, but I
get error XPTY0004.

Can someone explain how I should be properly connecting the Text/@value
entries in this TextRun so that my words are whole?

-Lief

Current Thread