|
next
|
 Subject: Help With Loop Author: Hatem Jaber Date: 05 Jan 2007 04:35 PM
|
I am new to the world of XML, XSL, XPATH, XSLT, etc...
If I ask a dumb question, please don't hold it against me!
I was fortunate enough to find some code for a "CFC Generator" that was open source. For those who are not familiar with ColdFusion, a CFC is basically a CLASS file, but for ColdFusion only. Ok, make a long story short, I generate an xml file dynamically based on my database table fields and some form fields that are filled in as well. The file attached is a gateway cfc with methods that: getbyfirst_name(), getbylast_name(), etc... These methods are created dynamically in the stylesheet with the help of a for-each loop. So in the xml file, if the <getby>1</getby> is present, it should dynamically write a function in the output file which is my personGATEWAY.cfc file attached.
Inside the methods, the problem lies. I use a <xsl:for-each> loop to loop through the <addtowehre> nodes and build my WHERE clause in the query. I also also add the <getby> nodes at the end of the loop to build on the query. Currently I need the <getby> selection and the <addtowhere> selection if they are the same not to repeat.
So what ends up happening is I have a query that looks like this:
[code]
SELECT *
FROM person
WHERE first_name = <cfqueryparam value="#arguments.person.getfirst_name()#" cfsqltype="cf_sql_VARCHAR" maxlength="50" />
AND last_name = <cfqueryparam value="#arguments.person.getlast_name()#" cfsqltype="cf_sql_VARCHAR" maxlength="50" />
AND first_name = <cfqueryparam value="#arguments.person.getfirst_name()#" cfsqltype="cf_sql_VARCHAR" maxlength="50" />
[/code]
Which is not right because we have:
WHERE first_name = ...
AND last_name = ....
AND last_name = ....
One of the last_name clauses comes from the loop that creates the WHERE clause and the other comes from the main loop that creates the method.
I hope I posted enough information that someone out there can help me with and I look forward to your response(s)!
gateway_new.xsl XSL File
person.xml XML File
personGATEWAY.cfc Generate CFC File
|
|
|