IsSimpleValue is a function that lets you check if a value is a simple string, number, boolean, or datetime value. If the function returns true, you can always place it directly in cfoutput. However, yesterday I noticed something odd.

If you pass in a string that contains XML, the function will return false. It is almost as if CF thinks, "Oh, this is XML, it must be an XML object." However, the value is plainly a string. In fact, if you run uCase, or trim, or any other string function on it, and pass the result to isSimpleValue, it will return true.

Here is a simple block of code that demonstrates the bug:

<cfhttp url="http://www.macromedia.com/devnet/resources/macromedia_resources.rdf">
<cfif isSimpleValue(cfhttp.fileContent)>
   Yes, it is a simple value.
<cfelse>
   No, it is not.
</cfif>
<p>
<cfif isSimpleValue(lCase(cfhttp.fileContent))>
   Yes, it is a simple value.
<cfelse>
   No, it is not.
</cfif>

Note - this bug affects my rss.cfc that I released last week. Later in the day I'll release an update.