On 09.Jan.2003 -- 11:35 AM, Timothy Larson wrote: > Is there a sample somewhere of using jxpath with the input logicsheet? > I am trying to pick apart a dom that is stored in the session.
Tim, I still need to think about your last mail. Anyway, here is an XSP that I use to test InputModules... Chris. -- C h r i s t i a n H a u l [EMAIL PROTECTED] fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08
<?xml version="1.0" encoding="ISO-8859-1"?> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp" xmlns:input="http://apache.org/cocoon/xsp/input/1.0" xmlns:xsp-request="http://apache.org/xsp/request/2.0"> <xsp:structure> <xsp:include>java.util.Iterator</xsp:include> <xsp:include>java.util.HashMap</xsp:include> </xsp:structure> <page> <title>Testing InputModules</title> <xsp:logic> HashMap myMap = new HashMap(); myMap.put("foo", "test1"); myMap.put("bar", "test2"); myMap.put("blubber", "test3"); this.request.setAttribute("param","attribute value"); this.request.setAttribute("param2","attribute value2"); this.request.setAttribute("param3",myMap); String name=<input:get-attribute module="request-param" as="string" name="module" default="request-attr"/>; String attr=<input:get-attribute module="request-param" as="string" name="param" default="param"/>; ComponentSelector inputSelector = null; InputModule input = null; try { <h2>Settings</h2> <p>name = <xsp:expr>name</xsp:expr></p> <p>param = <xsp:expr>attr</xsp:expr></p> <h2>Value</h2> <p><input:get-attribute> <input:param name="name"><xsp:expr>attr</xsp:expr></input:param> <input:param name="module"><xsp:expr>name</xsp:expr></input:param> </input:get-attribute> </p> <h2>Iteration</h2> Iterator enum = <input:get-attribute-names> <input:param name="module"><xsp:expr>name</xsp:expr></input:param> </input:get-attribute-names>; while (enum.hasNext()){ <p><xsp:expr>enum.next()</xsp:expr></p> } } catch (Exception ce) { <p>Error:</p><pre><xsp:expr>ce.getMessage()</xsp:expr></pre> } </xsp:logic> <br/> <form method="get"> Parameter <input name="param"/><!--<xsp:attribute name="value"><xsp:expr>attr</xsp:expr></xsp:attribute></input>--> Module <input name="module"/><!--<xsp:attribute name="value"><xsp:expr>name</xsp:expr></xsp:attribute></input>--> <input type="submit" value="Post"/> </form> <hr/> <p><h2>Status Information</h2></p> <p><h3>Session Attributes</h3></p> <p> <table border="0"> <tbody> <xsp:logic>{ java.util.Enumeration e=request.getSession().getAttributeNames(); while ( e.hasMoreElements() ) { String attribute = (String) e.nextElement(); Object value = request.getSession().getAttribute(attribute); <tr> <td align="right"><xsp:expr>attribute</xsp:expr></td> <td><xsp:expr>value.getClass().getName()</xsp:expr></td> <td> <xsp:logic> if (value instanceof java.util.Map) { <table border="1"> <xsp:logic> java.util.Map map = (java.util.Map) value; java.util.Iterator iter = map.keySet().iterator(); while (iter.hasNext()){ Object key = iter.next(); Object val = map.get(key); <tr> <td><xsp:expr>key</xsp:expr></td> <td><xsp:expr>(val != null? val.getClass().getName() : "")</xsp:expr></td> <td><xsp:expr>val</xsp:expr></td> </tr> } </xsp:logic> </table> } else { <xsp:content>='<xsp:expr>value</xsp:expr>'</xsp:content> } </xsp:logic> </td> </tr> } }</xsp:logic> </tbody> </table> </p> <p><h3>Request Attributes</h3></p> <p> <table border="0"> <tbody> <xsp:logic>{ java.util.Enumeration e=request.getAttributeNames(); while ( e.hasMoreElements() ) { String attribute = (String) e.nextElement(); Object value = request.getAttribute(attribute); <tr> <td align="right"><xsp:expr>attribute</xsp:expr></td> <td><xsp:expr>value.getClass().getName()</xsp:expr></td> <td> <xsp:logic> if (value instanceof java.util.Map) { <table border="1"> <xsp:logic> java.util.Map map = (java.util.Map) value; java.util.Iterator iter = map.keySet().iterator(); while (iter.hasNext()){ Object key = iter.next(); Object val = map.get(key); <tr> <td><xsp:expr>key</xsp:expr></td> <td><xsp:expr>(val != null? val.getClass().getName() : "")</xsp:expr></td> <td><xsp:expr>val</xsp:expr></td> </tr> } </xsp:logic> </table> } else { <xsp:content>='<xsp:expr>value</xsp:expr>'</xsp:content> } </xsp:logic> </td> </tr> } }</xsp:logic> </tbody> </table> </p> <p><h3>Request Parameters</h3></p> <p> <table border="0"> <tbody> <xsp:logic>{ java.util.Enumeration e=request.getParameterNames(); while ( e.hasMoreElements() ) { String attribute = (String) e.nextElement(); Object[] value = request.getParameterValues(attribute); for (int i=0; i < value.length; i++) { <tr> <td align="right"><xsp:expr>attribute</xsp:expr>[<xsp:expr>i</xsp:expr>]</td> <td><xsp:expr>value[i].getClass().getName()</xsp:expr></td> <td>="<xsp:expr>value[i]</xsp:expr>"</td> </tr> } } }</xsp:logic> </tbody> </table><br/> </p> <hr/> </page> </xsp:page>
--------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>