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]>