Subject: RE: [xsl] Xalan Transformation Error From: "Scott Purcell" <spurcell@xxxxxxxxxxxxx> Date: Fri, 14 Jun 2002 14:36:04 -0500 |
Hello Wendell, I appreciate your reply. I am picking up this code from someone that is not here anymore. I have Eric Burkes book here Java and XSLT and have read it. Could you point out, or assist me in understanding what is outdated and obsolete in my code? If I had a better idea of how this should go, I will rewrite it immediately. Thanks, Scott <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" version="1.0"> <!-- Xalan http://www.w3.org/1999/XSL/Transform --> <!-- IE http://www.w3.org/TR/WD-xsl --> <xsl:template match="/"> <html> <head> <script language="JavaScript"> document.domain="enklav.com"; function setup() { var pList = new Array(); pList=parent.contentform.theform._PopUpNames.value.split(":"); var fList = new Array(); fList=parent.contentform.theform._clientFileListString.value.split(":"); for(loop=0;loop!=pList.length;loop++){ var x = 0; while(x != parent.contentform.theform.elements.length){ if(parent.contentform.theform.elements[x].name == pList[loop]){ for(iloop=0;iloop!=(fList.length-1);iloop++){ var myOptions= new Option(fList[iloop],fList[iloop],true, true); parent.contentform.theform.elements[x].options[iloop+3]=myOptions; } parent.contentform.theform.elements[x].selectedIndex=0; } x++; } } }// setup function selectPopUpItem(imageName){ //set the popup to the Imagename var popupName = parent.contentform.theform.imageField.value; var x = 0; //find the popup while(x != parent.contentform.theform.elements.length){ if(parent.contentform.theform.elements[x].name == popupName){ //set the popup to the name var opList = parent.contentform.theform.elements[x].options; var oLoop=0; parent.contentform.theform.elements[x].selectedIndex=0; while(oLoop != opList.length){ // select the named item if(opList[oLoop].value==imageName){ parent.contentform.theform.elements[x].selectedIndex=oLoop; popUpToField(parent.contentform.theform.elements[x]); }//if oLoop++; }//while }//if x++; }//while }// selectPopUpItem function popUpACEImages(thePopup,adNumber) { if(thePopup.name.substring(0,1)=="#" || thePopup.name.substring(0,1)=="*"){ //if(adNumber.length>10){ parent.contentform.theform.imageField.value = thePopup.name; if(thePopup.options[thePopup.selectedIndex].value==""){ var path = "/content/"+adNumber.substring(0,1)+"/"+adNumber.substring(1,4)+"/"+ adNumber.substring(4,10) + "/"+ adNumber+"/"+adNumber+".i.a/Images/"; var newWin = window.open('','','width=240, scrollbars=yes'); var dquote = "\""; var squote = "\'"; var StartTag="< ";StartTag="\u003C"; var StopTag="> ";StopTag="\u003E"; newWin.document.writeln("<h3>Click on an image to select it.</h3>"); newWin.document.writeln("<CENTER>"); for(var k = 3; k!=thePopup.length; k++){ newWin.document.writeln("<HR/>"); newWin.document.writeln(StartTag+"A HREF='' onClick='top.opener.selectPopUpItem(" +dquote+thePopup.options[k].value +dquote+");window.close();return false;'"+StopTag); newWin.document.writeln(StartTag+"IMG SRC='"+path+thePopup.options[k].value+"' WIDTH='85'/" +StopTag); newWin.document.writeln("<BR/>"+thePopup.options[k].value+StartTag+"/A"+StopTag); } newWin.document.writeln("<HR/>"); newWin.document.writeln(StartTag+"A HREF='test' onClick='window.close();return false;'"+ StopTag+ "[Cancel/Close]"+ StartTag+ "/A"+StopTag); newWin.document.writeln("</CENTER>"); } // } } } function clearStatus() { window.status=' '; } //clearStatus function charCount(currentCount, maxChars){ window.status=' Character Count: ' + currentCount + '; Maximum: '+maxChars; } // function validateForm(){ // var reply=""; // if(adform.user.value == ""){ // reply=reply+"Must enter a user name. "; // } // if(adform.adName.value == ""){ // reply=reply+"Must enter a job name. "; // } // if(reply != ""){ // alert(reply); // even.returnValue=false; // } // else // { // parent.images.location="/interface/adbuildanim.html"; // } // } function popUpToText(thePopup,theText){ theText.value=thePopup.options[thePopup.selectedIndex].value; //??? name instead or pass name below } function doImageForm(theValue) { // parent.contentform.userImages.username.value=parent.contentform.theform.user.value; // parent.contentform.userImages.clientId.value=parent.contentform.theform.clientID.value; // if(theValue.substring(0,1)=="_"){ // theValueUNUSED=theValue.substring(1); // } parent.contentform.theform.imageField.value=theValue; // parent.contentform.userImages.submit(); parent.results.location='/interface/ImageOptions2.html'; } function doTextForm(theValue) { parent.contentform.theform.imageField.value=theValue; // parent.images.location='/interface/idleoptions.html'; parent.results.location='/interface/textoptions.html'; } function doOptions(obj) { var x = 0; while(x != parent.contentform.theform.elements.length){ if(parent.contentform.theform.elements[x].name == "-"+ obj.name.substring(2)){ if(parent.contentform.theform.elements[x].value == "Text"){ doTextForm(obj.value); } else { // image name doImageForm(obj.value); } } x++; } } function popUpToField(thePopup){ var x = 0; while(x != parent.contentform.theform.elements.length){ if(parent.contentform.theform.elements[x].name == thePopup.name.substring(1) ){ parent.contentform.theform.elements[x].value=thePopup.value; } x++; } } function handleImagePopUp(thePopup){ if(thePopup.selectedIndex==1){ parent.contentform.theform.imageField.value=thePopup.name; window.open('/interface/chooseImage.html','imagetest','width=285,scrollbars=yes'); } else if(thePopup.selectedIndex==2){ thePopup.selectedIndex=0; }else { popUpToField(thePopup); } }//handleImagePopUp </script> <style media="screen" type="text/css"> #layer1 { position: absolute; top: 360px; left: 66px; width: 133px; height: 78px; visibility: hidden } .formElements {font-family:arial, helvetica, geneva, swiss, sans-serif; color:black; font-size:9pt; line-height:9pt;} .radiotext {font-family:arial, helvetica, geneva, swiss, sans-serif; color:white; font-size:10pt; line-height:10pt;} .label {font-family:arial, helvetica, geneva, swiss, sans-serif; color:white; font-size:10pt; line-height:10pt;} A:link {color:#99cc33} A:visited {color:blue} .largeLabel {font-family:arial, helvetica, geneva, swiss, sans-serif; color:#99cc33; font-size:18pt; line-height:18pt;} .coloredlabel {font-family:arial, helvetica, geneva, swiss, sans-serif; color:#99cc33; font-size:10pt; line-height:10pt;font-weight:bold} </style> <title> AdOut.com - <xsl:value-of select="ad/name" /> </title> </head> <body bgcolor="#145C7E" onload="setup()"> <form action="http://ACEBuilder.enklav.com/cgi-bin/ACE_cgi5.acgi" method="post" target="results" name="theform"> <div class="coloredlabel"> Job Name: <input type="text" name="adName" class="formElements" size="38" maxlength="22" onblur="clearStatus()"> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"><xsl:attribute name="value"><xsl:value-of select="ad/job_name/default_contents" /></xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value"><xsl:value-of select="ad/job_name/user_contents" /></xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </div> <hr /> <div class="largeLabel"> <b> Content Form <!--img src="/interface/save.gif" width="93" height="23" border="0" align="middle" onClick="parent.images.location='/interface/adbuildanim2.html';parent.contentform.theform.Save.click()"/ --> </b> </div> <table border="0" cellspacing="0" cellpadding="0" width="260"> <tr valign="middle" height="9"> <td align="right" valign="middle" colspan="2" height="9"> <hr /> </td> </tr> <!-- begin content body part =============================================== --> <xsl:for-each select="ad/ad_content"> <xsl:if test="label[.!='']"> <tr valign="middle" height="14"> <xsl:choose> <xsl:when test="text_options[.='off']"> <td align="left" valign="middle" class="label" height="14"> <b> <xsl:value-of select='label' /> : </b> </td> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="item_type[.='user_art']"> <td align="left" valign="middle" class="label" height="14"> <b> <a href="" onclick="doImageForm(this.value);return false;"> <xsl:attribute name="name">x_<xsl:value-of select="item_name" /></xsl:attribute> <xsl:attribute name="value">_<xsl:value-of select="item_name" /></xsl:attribute> <xsl:value-of select='label' />: </a> </b> <!-- <img src="/interface/options.gif" width="66" height="23" border="0" align="middle" onClick="doImageForm(this.value)"> <xsl:attribute name="name">x_<xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="value">_<xsl:value-of select="item_name"/></xsl:attribute> </img> --> </td> </xsl:when> <xsl:otherwise> <td align="left" valign="middle" class="label" height="14"> <b> <a href="" onclick="doOptions(this);return false;"> <xsl:attribute name="name">x_<xsl:value-of select="item_name" /></xsl:attribute> <xsl:attribute name="value">_<xsl:value-of select="item_name" /></xsl:attribute> <xsl:value-of select='label' />: </a> </b> </td> <td align="right"> <!-- <img src="/interface/options.gif" width="66" height="23" border="0" align="middle" onClick="doOptions(this)" title="Click for advanced field options. Blue shading indicates options have been set for this field"> <xsl:attribute name="name">x_<xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="value">_<xsl:value-of select="item_name"/></xsl:attribute> </img> <br/> --> <select class="formElements" onchange="handleImagePopUp(this)"> <xsl:attribute name="name">-<xsl:value-of select="item_name" /></xsl:attribute> <option value="Text"> Text </option> <option value=""> Show Previews... </option> <option value=""> ---------------- </option> </select> </td> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </tr> </xsl:if> <xsl:choose> <xsl:when test="item_type[.='hidden']"> <input type="hidden"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"> <xsl:attribute name="value"><xsl:value-of select="default_contents"/></xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value"><xsl:value-of select="user_contents"/></xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </xsl:when> <xsl:otherwise> <tr valign="middle"> <td align="right" colspan="2" valign="middle" height="25"> <div align="left" class="formElements"> <xsl:choose> <xsl:when test="item_type[.='text']"> <input class="formElements" size="52" onBlur="clearStatus()"> <xsl:attribute name="type"><xsl:value-of select="item_type"/></xsl:attribute> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="onFocus">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:attribute name="onKeyup">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:attribute name="onChange">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"> <xsl:attribute name="value"><xsl:value-of select="default_contents"/></xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value"><xsl:value-of select="user_contents"/></xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </xsl:when> <xsl:when test="item_type[.='user_art']"> <!-- <input class="formElements" size="52" type="text" value="type filename here" onBlur="clearStatus()"> <xsl:attribute name="name">_Z<xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="onFocus">charCount(this.value.length,29)</xsl:attribute> <xsl:attribute name="onKeyup">charCount(this.value.length,29)</xsl:attribute> <xsl:attribute name="onChange">charCount(this.value.length,29)</xsl:attribute> </input> --> <input type="hidden"> <xsl:attribute name="name">_<xsl:value-of select="item_name"/></xsl:attribute> </input> <select class="formElements" onChange="handleImagePopUp(this)"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <option> Choose Image... </option> <option> Show Previews... </option> <option>----------------</option> </select> </xsl:when> <xsl:when test="item_type[.='textarea']"> <TEXTAREA class="formElements" cols="49" rows="6" onblur="clearStatus()"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="onFocus">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:attribute name="onKeyup">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:attribute name="onChange">charCount(this.value.length,<xsl:value-of select="char_count"/>)</xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"> <xsl:value-of select="default_contents"/></xsl:when> <xsl:otherwise> <xsl:value-of select="user_contents"/></xsl:otherwise> </xsl:choose></TEXTAREA> </xsl:when> <xsl:when test="item_type[.='ACE_art']"> <select class="formElements"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="onChange">popUpACEImages(this,'<xsl:value-of select="/ad/name"/>')</xsl:attribute> <option> Choose Image... </option> <option> Show Previews... </option> <option>----------------</option>> <xsl:for-each select="option"> <option> <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> <xsl:value-of select="name"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:when test="item_type[.='popup']"> <select class="formElements"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:if test="line_item[.!='']"> <xsl:attribute name="onChange">popUpToText(this,adform.clientID)</xsl:attribute> </xsl:if> <xsl:for-each select="option"> <option> <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> <xsl:value-of select="name"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:otherwise> INVALID TYPE ERROR!!!!!! "<xsl:value-of select="item_type"/>" </xsl:otherwise> </xsl:choose> </div> </td> </tr> </xsl:otherwise> </xsl:choose> </xsl:for-each> <tr valign="middle" height="9"> <td align="right" valign="middle" height="9" colspan="2"> <div align="left"> <hr /> <div class="largeLabel"> Insertion Information </div> <hr /> </div> </td> </tr> <!-- begin Job Setup ========================================================--> <xsl:for-each select="ad/job_setup"> <xsl:choose> <xsl:when test="item_type[.='hidden']"> <input type="hidden"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"> <xsl:attribute name="value"><xsl:value-of select="default_contents"/></xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value"><xsl:value-of select="user_contents"/></xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </xsl:when> <xsl:otherwise> <tr valign="middle" height="14"> <td align="right" valign="middle" class="coloredlabel" colspan="2" height="14"> <xsl:if test="label[.!='']"> <div align="left"> <xsl:value-of select='label'/>: </div> </xsl:if> </td> </tr> <tr valign="middle"> <td align="right" valign="middle" colspan="2"> <div align="left"> <xsl:choose> <xsl:when test="item_type[.='text']"> <input class="formElements" size="52"> <xsl:attribute name="type"><xsl:value-of select="item_type"/></xsl:attribute> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"> <xsl:attribute name="value"><xsl:value-of select="default_contents"/></xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value"><xsl:value-of select="user_contents"/></xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </xsl:when> <xsl:when test="item_type[.='textarea']"> <TEXTAREA class="formElements" rows="3" cols="49"><xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:choose> <xsl:when test="/ad/content_type[.='~default~']"><xsl:value-of select="default_contents"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="user_contents"/> </xsl:otherwise> </xsl:choose> </TEXTAREA> </xsl:when> <xsl:when test="item_type[.='label']"> <DIV class="coloredlabel"> <xsl:value-of select="item_name"/> <hr/> </DIV> </xsl:when> <xsl:when test="item_type[.='popup']"> <select class="formElements"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:for-each select="option"> <option> <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> <xsl:if test="@selected[.!='']"> <xsl:attribute name="selected">selected</xsl:attribute> </xsl:if> <xsl:value-of select="name"/> </option> </xsl:for-each> </select> </xsl:when> <xsl:when test="item_type[.='radio']"> <xsl:for-each select="button"><xsl:value-of select="name"/> <input type="radio"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> <xsl:if test="checked"> <xsl:attribute name="checked"/> </xsl:if> <xsl:value-of select="name"/> </input> </xsl:for-each> </xsl:when> <xsl:when test="item_type[.='buildoptions']"> <hr/> <table border="0"><tr valign="top"> <xsl:for-each select="radio"> <td> <table border="0"><tr><td class="label"><b> <xsl:value-of select="label"/> </b> <xsl:for-each select="button"> <tr class="label"><td class="radiotext"> <input type="radio"> <xsl:attribute name="name"><xsl:value-of select="item_name"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="@value"/></xsl:attribute> <xsl:if test="checked"> <xsl:attribute name="checked"/> </xsl:if> <xsl:value-of select="name"/> </input> </td></tr> </xsl:for-each> </td></tr></table></td> </xsl:for-each> </tr></table> </xsl:when> <xsl:otherwise> INVALID TYPE ERROR!!!!!! </xsl:otherwise> </xsl:choose> </div> </td> </tr> </xsl:otherwise> </xsl:choose> </xsl:for-each> <tr><td> <div id="layer1"> <input type="submit" name="Build"> <xsl:attribute name="value"><xsl:value-of select="ad/name"/>.i</xsl:attribute> </input> <input type="submit" name="Save"> <xsl:attribute name="value"><xsl:value-of select="ad/name"/>.i</xsl:attribute> </input> <input type="submit" name="Load"> <xsl:attribute name="value"><xsl:value-of select="ad/name"/>.i</xsl:attribute> </input> </div> </td></tr> </table> <input type="hidden" value="" name="imageField"></input> </form> <!-- <form method="post" action="http://drawer.adout.com/servlet/UserImages" name="userImages" target="results"> <input type="hidden" name="clientId"> </input> <input type="hidden" name="username"> </input> </form> --> </body> </html> </xsl:template> </xsl:stylesheet> -----Original Message----- From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx] Sent: Friday, June 14, 2002 1:47 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Xalan Transformation Error Scott, Sad to say, although what you have may run in a (particular) browser, this doesn't mean it runs in an XSLT processor. That's because what you have isn't XSLT. It's written in an obsolete, proprietary language that was originally created to resemble a now-defunct draft of something that eventually became XSLT. Check out the MSXML FAQ at http://www.netcrucible.com/xslt/msxml-faq.htm. Note that even there, Joshua's splash page alerting you to the problem was written 18 months ago. You want to upgrade your code to the standard language before it's fair to expect it to be portable. Good luck, Wendell At 12:54 PM 6/14/2002, you wrote: >Hello, >I have the following xsl stylesheet. When I include the namespace >www.w3.org/TR/WD-xsl and use IE browser the form display properly. When I >change the namespace to 1999/XSL/Transform and use Xalan to transform the >document I get "INVALID TYPE ERROR!!!!!!! " hidden" >INVALID TYPE ERROR!!!!!! "text" > >I am new to xml and xsl and this is my first project. I am trying to get >this to run from the browser to run serverside. So I was going to use >Xalan and create a servlet to rip to the browser. > >What kind of issues should I be looking at when it runs in a browser, but >chokes under the Xalan transform? ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Xalan Transformation Erro, Scott Purcell | Thread | RE: [xsl] Xalan Transformation Erro, Wendell Piez |
RE: [xsl] Yet Another Flat File to , Bill Cohagan | Date | [xsl] How to get and display part o, Qinghui Zeng |
Month |