Hi, Im getting error when im trying to open newform entryerror: invalid element: option cannot appeat at this level.Can any one give solution to this problem.
Hi Rpoulin,Thank you for your suggestion.I can able to print the following output in server.logPhrase NamePlease enter the Phrase NameCountryLanguage Prompt UploadLanguagePrompt UploadUploadDate on which the new user id is createdLast ModifiedBut im getting error when i click on new form entry.Please can any one give suggestion to this problem.
Hi vaibav,the following are my DCT code and Java code. give me solution for the problem.DCT code:PhraseData <script> <br> IWEventRegistry.addFormHandler("onFormInit", init);<br> IWEventRegistry.addFormHandler("onSave", saveValidHandler);<br> IWEventRegistry.addFormHandler("onSaveValid", saveHandler);<br> function init()<br> {<br> var dcrName = IWDCRInfo.getDCRName();<br> <br> if ((dcrName != "") && (dcrName != null))<br> {<br> IWDatacapture.getItem("/PhraseData/Country").setFocus();<br> IWDatacapture.getItem("/PhraseData/PhraseName").setReadOnly(true);<br> if((IWDatacapture.getItem("/PhraseData/language_upload[1]") != null))<br> {<br> if((IWDatacapture.getItem("/PhraseData/language_upload[1]/Upload[1]/File_Upload") != null))<br> { IWDatacapture.getItem("/PhraseData/language_upload[1]/Upload[1]/File_Upload").setFocus();<br> }<br><br> }<br> <br> }<br><br> IWDatacapture.getItem("/PhraseData/Country").setReadOnly(true);<br> var i=1; <br> <br> checknewlanguages();<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]") != null))<br> {<br> var j=i-1;<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Language").setValue(j);<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Language").setReadOnly(true)<br> i++;<br> }<br> }<br><br> function checknewlanguages(item)<br> {<br> IWitem="/PhraseData/language_upload[1]/Language";<br> if (IWDatacapture.getItem(IWitem) != null)<br> {<br> option = IWDatacapture.getItem(IWitem).getOptions();<br><br> var no_replicant =IWDatacapture.getItem("/PhraseData/language_upload").getChildren().length;<br> while (no_replicant < option.length)<br> {<br> no_replicant++;<br> var status = IWDatacapture.getItem("/PhraseData/language_upload").addInstance(no_replicant);<br> }<br> }<br> }<br> function saveHandler()<br> {<br> var m=1;<br> <br> var itemname="";<br> var itemvalue="";<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]") != null))<br> {<br> var n=1;<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]/Upload["+ n+"]/File_Upload") != null))<br> { <br> itemvalue= itemvalue+","+IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]/Upload["+ n+"]/File_Upload").getValue();<br> itemname=itemname+","+"/PhraseData/language_upload["+ m +"]/Upload["+ n+"]/File_Upload";<br> <br> n++;<br> }<br> m++;<br> }<br> <br> checkfilesize(itemname,itemvalue);<br> <br> }<br><br> function saveValidHandler()<br> {<br> var Err_Msg=""; <br> var workarea = IWDatacapture.getWorkarea();<br> var regex = /(\/\/)(.*?)(\/)(.*)/;<br> workarea.match(regex);<br> workarea = "/" + RegExp.$4;<br> var phrasename=IWDatacapture.getItem("/PhraseData/PhraseName").getValue();<br> var regex = /_/;<br> if(phrasename.match(regex))<br> {<br> alert("Phrase name should not have '_' characters");<br> //return false<br> }<br> var i=1;<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]") != null))<br> {<br> var k=1;<br> var lastphname=phrasename;<br> var current_phname=phrasename;<br> var language=IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Language").getOptions()[IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Language").getValue()];<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/File_Upload") != null))<br> {<br> <br> var next = k+1;<br> var filepath = IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/File_Upload").getValue();<br> if(filepath)<br> {<br> var match = /file:\/\//.test(filepath);<br> if(match == false)<br> {<br> filepath = 'file://' + workarea + filepath;<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/Blob_Content").setValue(filepath);<br> }<br> <br> }<br> else<br> {<br> alert("Please select file for upload");<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/File_Upload").setFocus();<br> return false;<br> }<br> if (IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ next+"]/File_Upload") != null)<br> {<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/Phrase_Name").setValue(current_phname);<br> var current_phname = phrasename +"_"+k;<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/Has_Linkedphr").setValue(current_phname);<br> lastphname = current_phname;<br> }<br> else<br> {<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/Has_Linkedphr").setValue("N");<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/Phrase_Name").setValue(lastphname);<br> }<br> k++;<br> }<br><br> k=1;<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/language") != null))<br> {<br> IWDatacapture.getItem("/PhraseData/language_upload["+ i +"]/Upload["+ k+"]/language").setValue(language.value); <br> k++;<br> }<br> i++;<br> }<br> var m=1;<br> <br> <br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]") != null))<br> {<br> var n=1;<br> while((IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]/Upload["+ n+"]/File_Upload") != null))<br> { <br> IWDatacapture.getItem("/PhraseData/language_upload["+ m +"]/Upload["+ n+"]/File_Upload").setValid(null); <br> <br> <br> n++;<br> }<br> m++;<br> }<br><br> setDate();<br><br><br> return true;<br> <br> }<br><br> function setDate()<br> {<br> <br> var current_date=new Date(); <br> var year=current_date.getYear();<br> var month=current_date.getMonth()+1;<br> var date=current_date.getDate();<br> var hour=current_date.getHours();<br> var minutes=current_date.getMinutes();<br> var seconds=current_date.getSeconds(); <br><br><br> if(month < '10')<br> {<br> month="0"+month;<br> }<br> if(date < '10')<br> {<br> date="0"+date;<br> }<br><br> if(hour < '10')<br> {<br> hour="0"+hour;<br> }<br><br> if(seconds < '10')<br> {<br> seconds="0"+seconds;<br> }<br> if(minutes < '10')<br> {<br> minutes="0"+minutes;<br> }<br><br> var datetime = date+"/"+month+"/"+year+" "+hour+":"+minutes+":"+seconds+":000000"; <br> var modificationdate = IWDatacapture.getItem("/PhraseData/Modifiedon");<br> modificationdate.setValue(datetime);<br> return ;<br><br><br> }<br><br> function checkfilesize(itemname1,itemvalue1)<br> {<br> var url = "/iw-cc/ivr/ivr_filesize.jsp";<br> var workarea = IWDatacapture.getWorkarea(); <br> var dcrname = IWDCRInfo.getDCRName();<br> var param = new Object();<br> param.workarea = workarea;<br> param.itemname = itemname1;<br> param.itemvalue = itemvalue1; <br> <br> var primarykey=IWDatacapture.getItem("/PhraseData/PhraseName").getValue();<br> if(primarykey)<br> {<br> var templatepath = "/templatedata/content/PhraseData/data";<br> var item_name = "Phrase Name__/PhraseData/PhraseName";<br> param.dcrname = dcrname;<br> param.primarykey = primarykey;<br> param.templatepath = templatepath;<br> param.item_name = item_name;<br> IWDatacapture.callServer(url,param,true); <br> }<br> else<br> {<br> alert("please enter the Phrase name");<br> }<br> }<br><br> function error(Err_Msg)<br> {<br> if (!Err_Msg)<br> {<br> Autodcr();<br> return true;<br> }<br> else<br> {<br> alert(Err_Msg);<br> return false;<br> }<br> }<br> <br><br> function Autodcr()<br> {<br> var phrasename=IWDatacapture.getItem("/PhraseData/PhraseName").getValue();<br> IWDCRInfo.setDCRName(phrasename, null);<br> IWDatacapture.save();<br> return true;<br> }<br> </script>Javacode:import java.util.Iterator;import java.util.Map;import com.citi.ivr.utility.Utility;import com.interwoven.cssdk.filesys.CSVPath;import com.interwoven.datasource.SimpleDataSource;/** * This class frames substitution tag as a string and helps to populate dct * items. * */public class LanguageReplicant implements SimpleDataSource { /* * (non-Javadoc) * @see com.interwoven.datasource.SimpleDataSource#execute(java.lang.String, java.lang.String, java.util.Map) */ public String execute(String sessionId, String context, Map param) { CSVPath path = new CSVPath(context); String workAreaVpath = path.getPathNoServer().getArea().toString(); String country_value = ""; String lang_value = ""; int container_count = 0; StringBuffer substitution = new StringBuffer("\n"); try { String countryName = Utility.getCountryFromWorkArea(workAreaVpath); String countryCode = Utility.getPropertyValues(countryName, countryName); Map language_values = Utility.getCode(countryName, "Language"); System.out.println("--------> Map: " + language_values); country_value = "\n"; Iterator it1 = language_values.entrySet().iterator(); while (it1.hasNext()) { Map.Entry pairs = (Map.Entry) it1.next(); String key = pairs.getKey().toString(); System.out.println("Key: " + key); String[] countryKey = key.split("\\|"); lang_value += "\n"; container_count++; } int max = container_count + 1; System.out.println("container_count=" + container_count); if (container_count > 0) { substitution .append("\n"); substitution .append("Phrase Name\nPlease enter the Phrase Name\n"); substitution .append("\n\n"); substitution .append("\nCountry\n"); substitution.append("\n"); substitution.append(country_value); substitution.append("\n\n"); substitution .append("\n"); substitution .append("Language Prompt Upload\n\n"); substitution .append("Language\n\n"); substitution.append(lang_value); substitution.append("\n\n"); substitution .append("\n"); substitution .append("Prompt Upload\n\n"); substitution .append("\n\n"); substitution .append("\nUpload\n"); substitution .append("\n\n"); substitution .append("\n"); substitution .append("\n\n"); substitution .append("\n"); substitution .append("\n\n"); substitution .append("\n"); substitution .append("\n\n"); substitution.append("\n\n"); substitution .append("\n"); substitution .append("Date on which the new user id is created\n"); substitution .append("Last Modified\n\n\n"); } } catch (Exception e) { e.printStackTrace(); } substitution.append(""); System.out.println("Substituion: " + substitution.toString()); return substitution.toString(); }}
and also instead ofsubstitution.append("</substitution>");try replacing with -substitution.append("<\/substitution>");