0
Removing the XML declaration
New Here
,
/t5/coldfusion-discussions/removing-the-xml-declaration/td-p/324051
Jun 29, 2007
Jun 29, 2007
Copy link to clipboard
Copied
(I accidentally posted this to the Getting Started forum -
apologies for the duplication.)
I am setting up a CMS that will take articles stored in XML and insert them into the middle of a predefined HTML page. The concept is essentially as per the appended code.
However, this causes two problems: first, the XML declaration is outputted. Second, it outputs the <content></content> tags.
It is possible to overcome this by converting the XML to text with the toString() function then doing a find and replace, but that seems so messy.
Does anyone have any ideas of how to use native CF functions to return only the contents - tags and all - of an XML structure, but without the XML declaration or parent tag?
I am setting up a CMS that will take articles stored in XML and insert them into the middle of a predefined HTML page. The concept is essentially as per the appended code.
However, this causes two problems: first, the XML declaration is outputted. Second, it outputs the <content></content> tags.
It is possible to overcome this by converting the XML to text with the toString() function then doing a find and replace, but that seems so messy.
Does anyone have any ideas of how to use native CF functions to return only the contents - tags and all - of an XML structure, but without the XML declaration or parent tag?
TOPICS
Advanced techniques
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more
LEGEND
,
LATEST
/t5/coldfusion-discussions/removing-the-xml-declaration/m-p/324052#M29267
Jun 29, 2007
Jun 29, 2007
Copy link to clipboard
Copied
Does anyone have any ideas of how to use native CF functions
to return
only the contents - tags and all - of an XML structure, but without the
XML declaration or parent tag?
If I understand your requirement correctly, I would probably just use
the CFML xmlTransform() function to process the XML data with an XSLT
string to return the formated data that I wanted to output.
This should give you an idea of what I'm talking about.
<cfsavecontent variable="someXSLT">
<?xml version="1.0" encoding="iso-8859-1"?><!--
DWXMLSource="../../../ColdFusion/playground/test.xml" --><!DOCTYPE
xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl=" http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system=" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/article/content">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet></cfsavecontent>
<cfset outputString = xmlTransform(xmlDate,someXSLT)>
only the contents - tags and all - of an XML structure, but without the
XML declaration or parent tag?
If I understand your requirement correctly, I would probably just use
the CFML xmlTransform() function to process the XML data with an XSLT
string to return the formated data that I wanted to output.
This should give you an idea of what I'm talking about.
<cfsavecontent variable="someXSLT">
<?xml version="1.0" encoding="iso-8859-1"?><!--
DWXMLSource="../../../ColdFusion/playground/test.xml" --><!DOCTYPE
xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY copy "©">
<!ENTITY reg "®">
<!ENTITY trade "™">
<!ENTITY mdash "—">
<!ENTITY ldquo "“">
<!ENTITY rdquo "”">
<!ENTITY pound "£">
<!ENTITY yen "¥">
<!ENTITY euro "€">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl=" http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system=" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/article/content">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet></cfsavecontent>
<cfset outputString = xmlTransform(xmlDate,someXSLT)>
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting.
Learn more

