Gadrin77 wrote:
I noticed when displaying the contents of a CDATA node inside a
TEXTAREA using
MSXML and XSL, I get an extra space before the data.
at first I thought I hadn't "tightened up" the XSL, but then even when
I did
this...
<textarea rows="24" cols="80"><xsl: value-of
select="/Root/Child/Data"/></textarea>
I still got a leading whitespace. During testing the data is only the
string "Unknown."
Is this common to others?
I noticed TEXTAREAs are a bit different when using XSL.
You haven't told us which version of MSXML you use and how you transform.
When I try the following ASP page with MSXML 4
<%@ Language="VBScr ipt" %>
<%
Option Explicit
Dim XmlDocument, XslDocument, Loaded
Set XmlDocument = Server.CreateOb ject("Msxml2.DO MDocument.4.0")
XmlDocument.asy nc = False
Loaded = XmlDocument.loa d(Server.MapPat h("test20040503 .xml"))
If Loaded Then
Set XslDocument = Server.CreateOb ject("Msxml2.DO MDocument.4.0")
XslDocument.asy nc = False
Loaded = XslDocument.loa d(Server.MapPat h("test20040503 Xsl.xml"))
If Loaded Then
XmlDocument.tra nsformNodeToObj ect XslDocument, Response
Else
Response.Write "Error loading stylesheet.<br> " & VbCrLf
End If
Else
Response.Write "Error loading XML file.<br>" & VbCrLf
End If
Set XmlDocument = Nothing
Set XslDocument = Nothing
%>
to transform the following XML
<?xml version="1.0" encoding="UTF-8"?>
<root><![CDATA[Kibology for all.]]></root>
with the following stylesheet that sets the output method to html
<?xml version="1.0" encoding="UTF-8"?>
<xsl:styleshe et version="1.0"
xmlns:xsl="http ://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" />
<xsl:template match="/">
<html>
<head>
<title>textar ea test</title>
</head>
<body>
<form action="">
<textarea rows="5" cols="80"><xsl: value-of select="root"
/></textarea>
</form>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
I do not get any leading spaces in the textarea, indeed the output of
the ASP page is the following HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>textar ea test</title>
</head>
<body>
<form action=""><text area rows="5" cols="80">Kibol ogy for
all.</textarea></form>
</body>
</html>
Maybe you are not using html as your output method??
Even if I change the ASP page to use MSXML 3 (Msxml2.DOMDocu ment.3.0) I
don't get any whitespace.
--
Martin Honnen
http://JavaScript.FAQTs.com/