Try wrapping the entire thing in a cfsavecontent tag and then trim the output:

<CFSAVECONTENT VARIABLE="XMLOUTPUT">
<CFPROCESSINGDIRECTIVE SUPPRESSWHITESPACE="Yes"><CFSETTING
ENABLECFOUTPUTONLY="Yes" SHOWDEBUGOUTPUT="No">
<CFIF NOT ISDEFINED("do")>
<CFOUTPUT>
<html><body><form></form></body></html>
</CFOUTPUT>
<CFELSEIF do EQ "xml"><CFOUTPUT><?xml version="1.0"?>
<!DOCTYPE Foo SYSTEM "http://www.foo.com/bar.dtd";>
<Foo></Foo>
</CFOUTPUT>
</CFIF>
<CFSETTING ENABLECFOUTPUTONLY="No"></CFPROCESSINGDIRECTIVE>
</<CFSAVECONTENT>

<CFOUTPUT>
#TRIM(XMLOUTPUT#
</CFOUTPUT>



At 02:13 PM 24/10/02 -0500, you wrote:
>I'm having with trouble with ColdFusion and extraneous whitespace.  And
>yes, I've done my Google searching.
>
>The problem is that I'm trying to output an XML file, and it's crucial
>that there not be any whitespace before the <?xml version="1.0"?>
>declaration.
>
>An extremely simplified likeness of my ColdFusion script (with line
>numbers, lest e-mail word-wrapping confuse you) is thus:
>
>1 <CFPROCESSINGDIRECTIVE SUPPRESSWHITESPACE="Yes"><CFSETTING
>ENABLECFOUTPUTONLY="Yes" SHOWDEBUGOUTPUT="No">
>2 <CFIF NOT ISDEFINED("do")>
>3 <CFOUTPUT>
>4 <html><body><form></form></body></html>
>5 </CFOUTPUT>
>6 <CFELSEIF do EQ "xml"><CFOUTPUT><?xml version="1.0"?>
>7 <!DOCTYPE Foo SYSTEM "http://www.foo.com/bar.dtd";>
>8 <Foo></Foo>
>9 </CFOUTPUT>
>10 </CFIF>
>11 <CFSETTING ENABLECFOUTPUTONLY="No"></CFPROCESSINGDIRECTIVE>
>
>So this page shows an HTML page with a form on it by default, and if the
>form is submitted, it spits out XML.
>
>As you can see, I'm trying at least two different ways to eliminate CF's
>whitespace: the SuppressWhitespace and EnableCFOutputOnly.
>
>The problem is that this is what I get from this simplified script (the
>problem is the same in my big one):
><?xml version="1.0"?>
><!DOCTYPE Foo SYSTEM "http://www.foo.com/bar.dtd";>
><Foo></Foo>
>
>You'll note the extra space before the <?xml in the first line.  Verrrrry
>annoying.
>
>In an attempt to discover why all my attempts at suppressing excess
>whitespace failed, I inserted random characters to find out at what point
>ColdFusion was inserting that space.  A simplified version follows (note the
>extra "1" on the first line):
>
>1<CFPROCESSINGDIRECTIVE SUPPRESSWHITESPACE="Yes"><CFSETTING
>ENABLECFOUTPUTONLY="Yes" SHOWDEBUGOUTPUT="No">
><CFIF NOT ISDEFINED("do")>
><CFOUTPUT>
></CFOUTPUT>
><CFELSEIF do EQ "xml"><CFOUTPUT><?xml version="1.0"?>
><!DOCTYPE Foo SYSTEM "http://www.foo.com/bar.dtd";>
><Foo></Foo>
></CFOUTPUT>
></CFIF>
><CFSETTING ENABLECFOUTPUTONLY="No"></CFPROCESSINGDIRECTIVE>
>
>Much to my surprise, the output of this file (with the proper URL inputs)
>is:
>1<?xml version="1.0"?>
><!DOCTYPE Foo SYSTEM "http://www.foo.com/bar.dtd";>
><Foo></Foo>
>
>Which means the space is being added *before* any of my
>whitespace-suppressing measures.
>
>All of which just annoys the heck out of me.  Sure, I can go in and
>manually delete that space, but I shouldn't *have* to.
>
>Are there any wise warriors out there that could help here?  To my
>knowledge, we're running ColdFusion 4.0 on the server, although I only
>recently inherited this project, and I'm not sure.
>
>Thanks,
>Todd
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Your ad could be here. Monies from ads go to support these lists and provide more 
resources for the community. http://www.fusionauthority.com/ads.cfm

Reply via email to