| | |
CF8 XML output problem with special character
Please support our ColdFusion advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
Thread Solved |
•
•
Join Date: Sep 2007
Posts: 11
Reputation:
Solved Threads: 1
I am sending a query result (query in CF8; data in MS SQL Server 2005) to an XML output (using the <cfxml variable="outputname"> and <cfcontent type="text/xml"><cfoutput>#toString(outputname)#</cfoutput>
tags), using CF8. When the output (in SQL Server as nvarchar) contains special characters like "-40° to 70°C" the ° symbol causes the error;
******************************************
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
An invalid character was found in text content. Error processing resource 'http://localhost/ABSwwwroot/ArchboldData/toXML.c...
<instrumentation.InstrRange>-40
******************************************
How can I get this type of value to display properly?
Thanks!
tags), using CF8. When the output (in SQL Server as nvarchar) contains special characters like "-40° to 70°C" the ° symbol causes the error;
******************************************
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
An invalid character was found in text content. Error processing resource 'http://localhost/ABSwwwroot/ArchboldData/toXML.c...
<instrumentation.InstrRange>-40
******************************************
How can I get this type of value to display properly?
Thanks!
Wrap your content inside a <![CDATA[ ]]> tag. XML will ignore any special characters inside.
XML Syntax (Toggle Plain Text)
<instrumentation.InstrRange><![CDATA[-40° to 70°C]]></instrumentation.InstrRange>
Last edited by cmhampton; Jul 2nd, 2008 at 5:41 pm. Reason: added code example
•
•
Join Date: Sep 2007
Posts: 11
Reputation:
Solved Threads: 1
Guess I responded too quickly! Thought it was working - but it's NOT! Now (even with hard coding the value in) I am getting:
*********************************************************
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
An invalid character was found in text content. Error processing resource 'http://localhost/ABSwwwroot/ArchboldData/toXML.c...
<instrumentation.InstrRange><![CDATA[-40
*********************************************************
Seems ColdFusion puts XML output into XSL stylesheet format by default. I am trying to send this query result to a raw XML output page; NOT an HTML page (form) with XML source. Don't know if that makes a difference, but that's where I'm heading.
*********************************************************
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
--------------------------------------------------------------------------------
An invalid character was found in text content. Error processing resource 'http://localhost/ABSwwwroot/ArchboldData/toXML.c...
<instrumentation.InstrRange><![CDATA[-40
*********************************************************
Seems ColdFusion puts XML output into XSL stylesheet format by default. I am trying to send this query result to a raw XML output page; NOT an HTML page (form) with XML source. Don't know if that makes a difference, but that's where I'm heading.
•
•
Join Date: Sep 2007
Posts: 11
Reputation:
Solved Threads: 1
Looks like I need another solution for this. Putting special characters in using the "&...." format is not a practical solution since clients will be entering the data. I need a solution that will pass WHATEVER wierd characters they may come up with thru - like one would THINK the CDATA tag would do; but it's not!!!
Found it!
This will replace 67 special characters with their HTML equivalent. I've used this to generate RSS feeds before, so it should work just fine for you.
This will replace 67 special characters with their HTML equivalent. I've used this to generate RSS feeds before, so it should work just fine for you.
ColdFusion Syntax (Toggle Plain Text)
<cffunction name="formatXML" access="public" returntype="string"> <cfargument name="strString" required="yes" default=""> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("192", 16))#", "ƒ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("391", 16))#", "Α", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("392", 16))#", "Β", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("393", 16))#", "Γ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("394", 16))#", "Δ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("395", 16))#", "Ε", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("396", 16))#", "Ζ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("397", 16))#", "Η", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("398", 16))#", "Θ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("399", 16))#", "Ι", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39A", 16))#", "Κ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39B", 16))#", "Λ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39C", 16))#", "Μ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39D", 16))#", "Ν", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39E", 16))#", "Ξ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("39F", 16))#", "Ο", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A0", 16))#", "Π", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A1", 16))#", "Ρ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A3", 16))#", "Σ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A4", 16))#", "Τ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A5", 16))#", "Υ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A6", 16))#", "Φ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A7", 16))#", "Χ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A8", 16))#", "Ψ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3A9", 16))#", "Ω", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B1", 16))#", "α", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B2", 16))#", "β", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B3", 16))#", "γ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B4", 16))#", "δ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B5", 16))#", "ε", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B6", 16))#", "ζ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B7", 16))#", "η", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B8", 16))#", "θ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3B9", 16))#", "ι", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BA", 16))#", "κ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BB", 16))#", "λ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BC", 16))#", "μ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BD", 16))#", "ν", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BE", 16))#", "ξ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3BF", 16))#", "ο", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C0", 16))#", "π", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C1", 16))#", "ρ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C3", 16))#", "σ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C4", 16))#", "τ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C5", 16))#", "υ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C6", 16))#", "φ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C7", 16))#", "χ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C8", 16))#", "ψ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3C9", 16))#", "ω", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D1", 16))#", "ϑ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D2", 16))#", "ϒ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("3D6", 16))#", "ϖ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2022", 16))#", "•", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2026", 16))#", "…", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2032", 16))#", "′", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2033", 16))#", "″", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("203E", 16))#", "‾", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2044", 16))#", "⁄", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2118", 16))#", "℘", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2111", 16))#", "ℑ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("211C", 16))#", "ℜ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2122", 16))#", "™", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2135", 16))#", "ℵ", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2200", 16))#", "∀", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2202", 16))#", "∂", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2203", 16))#", "∃", "all")> <cfset strString = ReplaceNoCase(strString, "#chr(inputbasen("2205", 16))#", "∅", "all")> </cffunction>
![]() |
Other Threads in the ColdFusion Forum
- Previous Thread: Image upload to MySQL using CF & DW CS3???
- Next Thread: Unable to capture XML Response
| Thread Tools | Search this Thread |





