If a tag is emitted following a text node, the tag should not be indented,
but it is. The built-in processor is smart enough to NOT indent AFTER a
tag that is followed by a text node. For example, the following is output
<xlf:g id="id582F690" ctype="link">body</xlf:g> text of your XHTML document here
It should be:
<xlf:source>Enter the <xlf:g id="id582F690" ctype="link">body</xlf:g> text of your XHTML document here</xlf:source>
This will properly preserve the whitespace around text nodes without adding
extra spaces and line breaks.
I primarily use the MSXML 4.0 processor that does not have this problem.
Subject:Problem with whitespace with built-in processor Author:Alberto Massari Date:06 Sep 2004 05:54 PM
first of all, I'm sorry it took us so long to answer your post.
Unfortunately the specs for <xsl:output method="xml" indent="yes">
are not mandatory about its implementation, as they are full of "may",
"should" instead of using "must".
Quoting from the specs: "If the indent attribute has the value yes,
then the xml output method may output whitespace [...]
The xml output method should use an algorithm to output additional
NOTE: It is usually not safe to use indent="yes" with document types
that include element types with mixed content"
I agree with you that the suggested behavior of the "indent" alghoritm
is what you are expecting (no addition whitespace after the "Enter the"
words); but MSXML is the only processor generating this output, while
all the others (XalanJ, Saxon and even the newer MSXML .NET one) have
choosen to add the whitespace in that position.
So, in this case, also given the fact that MSXML is no more supported
by Microsoft, we choose to align with the behavior of the rest of
the XSLT processors available on the market.