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 &lt; 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]>

Reply via email to