TEXTAREA and XSL

G

Gadrin77

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.

I also noticed the string value you pass to an XSL parameter using
..addparameter of the IXSLProcessor can't handle large strings of data
(it's about 3KB of data), to pass on and display inside the XSL.
 
M

Martin Honnen

Gadrin77 said:
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="VBScript" %>
<%
Option Explicit
Dim XmlDocument, XslDocument, Loaded
Set XmlDocument = Server.CreateObject("Msxml2.DOMDocument.4.0")
XmlDocument.async = False
Loaded = XmlDocument.load(Server.MapPath("test20040503.xml"))
If Loaded Then
Set XslDocument = Server.CreateObject("Msxml2.DOMDocument.4.0")
XslDocument.async = False
Loaded = XslDocument.load(Server.MapPath("test20040503Xsl.xml"))
If Loaded Then
XmlDocument.transformNodeToObject 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:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:eek:utput method="html" encoding="UTF-8" />

<xsl:template match="/">
<html>
<head>
<title>textarea 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>textarea test</title>
</head>
<body>
<form action=""><textarea rows="5" cols="80">Kibology 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.DOMDocument.3.0) I
don't get any whitespace.
 
G

Gadrin77

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

MSXML 4 SP2 I'm not using ASP, but rather a client app using MSIE 6.

Maybe you are not using html as your output method??

no my output declaration does specifically say HTML, but the rest of the
page is fine.

normalize-space or something?

okay just tried normalize-space and it strips the CRLF from the data, so
forget that.

just tried it with the output="html" declaration and I got the same thing
as the original.

I guess I can take care of it on the data side, where I trim any leading
whitespace, but boy is this weird.
 
M

Martin Honnen

Gadrin77 said:
MSXML 4 SP2 I'm not using ASP, but rather a client app using MSIE 6.

It is difficult to guess what could go wrong, maybe you can post some
code or a URL so that we can see what goes on and where the white space
comes from.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,739
Latest member
Clint8040

Latest Threads

Top