Author: andre
Date: 2010-05-10 16:20:08 +0200 (Mon, 10 May 2010)
New Revision: 42128

Modified:
   openimages/trunk/src/main/webapp/feeds/oai/index.jspx
Log:
added mm:cloud tag since some methods in MediaProviders need that for request 
object, prevents 'The request object has been recycled and is no longer 
associated with this facade' error


Modified: openimages/trunk/src/main/webapp/feeds/oai/index.jspx
===================================================================
--- openimages/trunk/src/main/webapp/feeds/oai/index.jspx       2010-05-10 
14:10:56 UTC (rev 42127)
+++ openimages/trunk/src/main/webapp/feeds/oai/index.jspx       2010-05-10 
14:20:08 UTC (rev 42128)
@@ -7,272 +7,272 @@
     xmlns:jsp="http://java.sun.com/JSP/Page";
     xmlns:mm="http://www.mmbase.org/mmbase-taglib-2.0";>
   <jsp:directive.page session="false" />
-
-<!--
-examples of use:
-  feeds/oai/?verb=Identify
-  feeds/oai/?verb=ListSets
-  feeds/oai/?verb=ListIdentifiers&metadataPrefix=oai_dc
-  feeds/oai/?verb=ListRecords&metadataPrefix=oai_dc&set=lastuploaded
-  feeds/oai/?verb=GetRecord&identifier=oai:openimages.eu:4983
--->
-
-  <mm:import id="requesturl"><c:out value="${pageContext.request.requestURL}" 
/><c:if test="${!empty pageContext.request.queryString}">?<c:out 
value="${pageContext.request.queryString}" /></c:if></mm:import>
-  <mm:import id="max">100</mm:import>
-  <mm:import id="offset">0</mm:import>
-
-  <mm:import externid="verb" />
-  <mm:import externid="identifier" />
-  <mm:import externid="metadataPrefix" />
-  <mm:import externid="set" />
+  <!--
+  examples of use:
+    feeds/oai/?verb=Identify
+    feeds/oai/?verb=ListSets
+    feeds/oai/?verb=ListIdentifiers&metadataPrefix=oai_dc
+    feeds/oai/?verb=ListRecords&metadataPrefix=oai_dc&set=lastuploaded
+    feeds/oai/?verb=GetRecord&identifier=oai:openimages.eu:4983
+  -->
+  <mm:cloud>
+    <mm:import id="requesturl"><c:out 
value="${pageContext.request.requestURL}" /><c:if test="${!empty 
pageContext.request.queryString}">?<c:out 
value="${pageContext.request.queryString}" /></c:if></mm:import>
+    <mm:import id="max">100</mm:import>
+    <mm:import id="offset">0</mm:import>
   
-  <mm:import externid="from" /><!-- 1998-01-15 -->
-  <mm:present referid="from">
-    <mm:compare referid="from" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}">
-      <mm:time inputformat="yyyy-MM-dd" time="$from" precision="days" 
id="start" write="false" />
-    </mm:compare>
-    <mm:compare referid="from" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}" 
inverse="true">
-      <c:set var="error" value="badArgument" />
-    </mm:compare>
-  </mm:present>
-  <mm:import externid="until" />
-  <mm:present referid="until">
-    <mm:compare referid="until" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}">
-      <mm:time inputformat="yyyy-MM-dd" time="$until" precision="days" 
id="end" write="false" />
-    </mm:compare>
-    <mm:compare referid="until" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}" 
inverse="true">
-      <c:set var="error" value="badArgument" />
-    </mm:compare>
-  </mm:present>
-  
-  <!-- resumptionToken, looks like: !f1969-07-21!u2003-08-18!oai_dc!200 -->
-  <mm:import externid="resumptionToken" /><!-- starts at 0 -->
-  <c:choose>
-    <c:when test="${!empty resumptionToken}">
-      <c:if test="${!empty from or !empty until or !empty metadataPrefix or 
!empty set}">
+    <mm:import externid="verb" />
+    <mm:import externid="identifier" />
+    <mm:import externid="metadataPrefix" />
+    <mm:import externid="set" />
+    
+    <mm:import externid="from" /><!-- 1998-01-15 -->
+    <mm:present referid="from">
+      <mm:compare referid="from" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}">
+        <mm:time inputformat="yyyy-MM-dd" time="$from" precision="days" 
id="start" write="false" />
+      </mm:compare>
+      <mm:compare referid="from" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}" 
inverse="true">
         <c:set var="error" value="badArgument" />
-      </c:if>
-      <c:set var="tokens" value="${fn:split(resumptionToken, '!')}" />
-      <c:choose>
-        <c:when test="${fn:length(tokens) eq 4}">
-          <c:set var="tfrom"  value="${fn:substringAfter(tokens[0], 'f')}" />
-          <c:set var="tuntil" value="${fn:substringAfter(tokens[1], 'u')}" />
-          <c:if test="${!empty tfrom}">
-            <mm:time inputformat="yyyy-MM-dd" time="${tfrom}"  
precision="days" id="start" write="false" />
-          </c:if>
-          <c:if test="${!empty tuntil}">
-            <mm:time inputformat="yyyy-MM-dd" time="${tuntil}" 
precision="days" id="end" write="false" />
-          </c:if>
-          <mm:import id="metadataPrefix" reset="true">${tokens[2]}</mm:import>
-          <mm:import id="offset" reset="true">${tokens[3]}</mm:import>
-        </c:when>
-        <c:otherwise>
-          <c:set var="error" value="badResumptionToken" />
-        </c:otherwise>
-      </c:choose>
-    </c:when>
-    <c:otherwise>
-      <c:if test="${empty metadataPrefix and (verb eq 'ListIdentifiers' or 
verb eq 'ListRecords' or verb eq 'GetRecord')}">
+      </mm:compare>
+    </mm:present>
+    <mm:import externid="until" />
+    <mm:present referid="until">
+      <mm:compare referid="until" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}">
+        <mm:time inputformat="yyyy-MM-dd" time="$until" precision="days" 
id="end" write="false" />
+      </mm:compare>
+      <mm:compare referid="until" regexp="[0-9]{4}-[0-9]{2}-[0-9]{2}" 
inverse="true">
         <c:set var="error" value="badArgument" />
-      </c:if>
-    </c:otherwise>
-  </c:choose>
-  
-  <!-- get the nodenumber from the identifier, f.e. oai:openimages.eu:746 -->
-  <mm:import id="record" />
-  <c:if test="${!empty identifier}">
-    <c:set var="pieces" value="${fn:split(identifier, ':')}" />
-    <c:set var="len" value="${fn:length(pieces)}" />
-    <mm:import id="record" reset="true">${pieces[len - 1]}</mm:import>
-  </c:if>
-  
-  <!-- fill parameters when empty -->
-  <c:choose>
-    <c:when test="${!empty metadataPrefix and metadataPrefix ne 'oai_dc'}">
-      <c:set var="error" value="badArgument" />
-    </c:when>
-    <c:otherwise>
-      <c:set var="metadataPrefix">oai_dc</c:set>
-    </c:otherwise>
-  </c:choose>
-  <c:if test="${empty verb}"><c:set var="verb">Identify</c:set></c:if>
-  <c:if test="${empty set}"><c:set var="set">lastuploaded</c:set></c:if>
-
-  <OAI-PMH 
-    xmlns="http://www.openarchives.org/OAI/2.0/"; 
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
-    xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ 
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd";>
+      </mm:compare>
+    </mm:present>
     
-    <responseDate>
-      <mm:time format="yyyy-MM-dd" time="now" />T<mm:time format="HH:mm:ss" 
time="now" />Z
-    </responseDate>
-
+    <!-- resumptionToken, looks like: !f1969-07-21!u2003-08-18!oai_dc!200 -->
+    <mm:import externid="resumptionToken" /><!-- starts at 0 -->
     <c:choose>
-      <c:when test="${error eq 'badArgument'}">
-        <request>${requesturl}</request>
-        <error code="badArgument">
-          The request includes illegal arguments, is missing required 
arguments, 
-          includes a repeated argument, or values for arguments have an 
illegal syntax.        
-        </error>
-      </c:when>
-      <c:when test="${error eq 'badResumptionToken'}">
-        <request>${requesturl}</request>
-        <error code="badResumptionToken">
-          The value of the resumptionToken argument is invalid or expired.
-        </error>
-      </c:when>
-      <c:when test="${verb eq 'Identify'}">
-        <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
-        <Identify>
-          <repositoryName>Open Images Platform</repositoryName>
-          <baseURL><mm:url page="/" absolute="true" /></baseURL>
-          <protocolVersion>2.0</protocolVersion>
-          <adminEmail>[email protected]</adminEmail>
-          <earliestDatestamp>1919-01-01</earliestDatestamp>
-          <deletedRecord>no</deletedRecord>
-          <granularity>YYYY-MM-DD</granularity>
-          <description>
-            <oai-identifier 
xmlns="http://www.openarchives.org/OAI/2.0/oai-identifier"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai-identifier 
http://www.openarchives.org/OAI/2.0/oai-identifier.xsd";>
-            <scheme>oai</scheme>
-            <repositoryIdentifier>openimages.eu</repositoryIdentifier>
-            <delimiter>:</delimiter>
-            <sampleIdentifier>oai:openimages.eu:4983</sampleIdentifier>
-            </oai-identifier>
-          </description>
-        </Identify>
-      </c:when>
-      
-      <c:when test="${verb eq 'ListMetadataFormats'}">
-        <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
-        <ListMetadataFormats>
-          <metadataFormat>
-            <metadataPrefix>oai_dc</metadataPrefix>
-            <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
-            
<metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
-          </metadataFormat>
-        </ListMetadataFormats>
-      </c:when>
-      
-      <c:when test="${verb eq 'ListSets'}">
-        <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
-        <ListSets>
-          <set>
-            <setSpec>lastuploaded</setSpec>
-            <setName>Last uploaded media items</setName>
-          </set>
-        </ListSets>
-      </c:when>
-      
-      <!-- ListIdentifiers + ListRecords -->
-      <c:when test="${verb eq 'ListIdentifiers' or verb eq 'ListRecords'}">
-      
+      <c:when test="${!empty resumptionToken}">
+        <c:if test="${!empty from or !empty until or !empty metadataPrefix or 
!empty set}">
+          <c:set var="error" value="badArgument" />
+        </c:if>
+        <c:set var="tokens" value="${fn:split(resumptionToken, '!')}" />
         <c:choose>
-          <c:when test="${!empty resumptionToken}">
-            <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
-                set="${set}" 
resumptionToken="${resumptionToken}">${requesturl}</request>
+          <c:when test="${fn:length(tokens) eq 4}">
+            <c:set var="tfrom"  value="${fn:substringAfter(tokens[0], 'f')}" />
+            <c:set var="tuntil" value="${fn:substringAfter(tokens[1], 'u')}" />
+            <c:if test="${!empty tfrom}">
+              <mm:time inputformat="yyyy-MM-dd" time="${tfrom}"  
precision="days" id="start" write="false" />
+            </c:if>
+            <c:if test="${!empty tuntil}">
+              <mm:time inputformat="yyyy-MM-dd" time="${tuntil}" 
precision="days" id="end" write="false" />
+            </c:if>
+            <mm:import id="metadataPrefix" 
reset="true">${tokens[2]}</mm:import>
+            <mm:import id="offset" reset="true">${tokens[3]}</mm:import>
           </c:when>
-          <c:when test="${!empty from and !empty until}">
-            <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
-                set="${set}" from="${from}" 
until="${until}">${requesturl}</request>
-          </c:when>
-          <c:when test="${!empty from and empty until}">
-            <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
-                set="${set}" from="${from}">${requesturl}</request>
-          </c:when>
-          <c:when test="${empty from and !empty until}">
-            <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
-                set="${set}" until="${until}">${requesturl}</request>
-          </c:when>
           <c:otherwise>
-            <request verb="${verb}" metadataPrefix="${metadataPrefix}"
-                set="${set}">${requesturl}</request>
+            <c:set var="error" value="badResumptionToken" />
           </c:otherwise>
         </c:choose>
-        
-        <mm:listnodescontainer type="mediafragments">
-          <mm:constraint field="show" value="true" operator="EQUAL" />
-          <c:if test="${!empty start}">
-            <mm:constraint field="date" value="$start" 
operator="GREATER_EQUAL" />
-          </c:if>
-          <c:if test="${!empty end}">
-            <mm:constraint field="date" value="$end" operator="LESS_EQUAL" />
-          </c:if>
-          <mm:sortorder field="number" direction="DOWN" />
-          <mm:size id="size" write="false" />
-          <mm:maxnumber value="$max" />
-          <mm:offset value="$offset" />
-          <mm:size id="foundsome" write="false" />
-          <mm:listnodes id="list" />
-        </mm:listnodescontainer>
-        
-        <c:choose>
-          <c:when test="${foundsome gt 0 and verb eq 'ListIdentifiers'}">
-            <ListIdentifiers>
-              <mm:listnodes referid="list">
-                <jsp:include page="/feeds/inc/oai.record.header.jspx" />
-              </mm:listnodes>
-              <c:if test="${(offset + max) lt size}">
-                <resumptionToken
-                    completeListSize="${size}" 
-                    
cursor="${offset}">!f${from}!u${until}!${metadataPrefix}!${offset + 
max}</resumptionToken>
-              </c:if>
-            </ListIdentifiers>
-          </c:when>
-          <c:when test="${foundsome gt 0 and verb eq 'ListRecords'}">
-            <ListRecords>
-              <mm:listnodes referid="list">
-                <jsp:include page="/feeds/inc/oai.record.jspx" />
-              </mm:listnodes>
-              <c:if test="${(offset + max) lt size}">
-                <resumptionToken
-                    completeListSize="${size}" 
-                    
cursor="${offset}">!f${from}!u${until}!${metadataPrefix}!${offset + 
max}</resumptionToken>
-              </c:if>
-            </ListRecords>
-          </c:when>
-          <c:otherwise>
-            <error code="noRecordsMatch">
-              The combination of the values of the from, until, set 
-              and metadataPrefix arguments results in an empty list.
-            </error>
-          </c:otherwise>
-        </c:choose>
-
       </c:when>
-      
-      <!-- GetRecord -->
-      <c:when test="${verb eq 'GetRecord'}">
-       
-        <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
identifier="${identifier}">${requesturl}</request>
-        
-        <mm:hasnode number="${record}">
-          <mm:node number="${record}">
-            <mm:nodeinfo type="type" id="nodetype" write="false" />
-            <c:if test="${nodetype eq 'mediafragments'
-                  or nodetype eq 'audiofragments' 
-                  or nodetype eq 'videofragments'
-                  or nodetype eq 'imagefragments' 
-                  or nodetype eq 'images'
-                  }">
-              <GetRecord>
-                <jsp:include page="/feeds/inc/oai.record.jspx" />
-              </GetRecord>
-              <c:set var="foundone" value="yes" />
-            </c:if>
-          </mm:node>
-        </mm:hasnode>
-
-        <c:if test="${empty foundone}">
-          <error code="idDoesNotExist">No matching identifier</error>
+      <c:otherwise>
+        <c:if test="${empty metadataPrefix and (verb eq 'ListIdentifiers' or 
verb eq 'ListRecords' or verb eq 'GetRecord')}">
+          <c:set var="error" value="badArgument" />
         </c:if>
+      </c:otherwise>
+    </c:choose>
+    
+    <!-- get the nodenumber from the identifier, f.e. oai:openimages.eu:746 -->
+    <mm:import id="record" />
+    <c:if test="${!empty identifier}">
+      <c:set var="pieces" value="${fn:split(identifier, ':')}" />
+      <c:set var="len" value="${fn:length(pieces)}" />
+      <mm:import id="record" reset="true">${pieces[len - 1]}</mm:import>
+    </c:if>
+    
+    <!-- fill parameters when empty -->
+    <c:choose>
+      <c:when test="${!empty metadataPrefix and metadataPrefix ne 'oai_dc'}">
+        <c:set var="error" value="badArgument" />
       </c:when>
-      
       <c:otherwise>
-        <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
+        <c:set var="metadataPrefix">oai_dc</c:set>
       </c:otherwise>
-    
     </c:choose>
-
-    
-  </OAI-PMH>
+    <c:if test="${empty verb}"><c:set var="verb">Identify</c:set></c:if>
+    <c:if test="${empty set}"><c:set var="set">lastuploaded</c:set></c:if>
+  
+    <OAI-PMH 
+      xmlns="http://www.openarchives.org/OAI/2.0/"; 
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
+      xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ 
http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd";>
+      
+      <responseDate>
+        <mm:time format="yyyy-MM-dd" time="now" />T<mm:time format="HH:mm:ss" 
time="now" />Z
+      </responseDate>
+  
+      <c:choose>
+        <c:when test="${error eq 'badArgument'}">
+          <request>${requesturl}</request>
+          <error code="badArgument">
+            The request includes illegal arguments, is missing required 
arguments, 
+            includes a repeated argument, or values for arguments have an 
illegal syntax.        
+          </error>
+        </c:when>
+        <c:when test="${error eq 'badResumptionToken'}">
+          <request>${requesturl}</request>
+          <error code="badResumptionToken">
+            The value of the resumptionToken argument is invalid or expired.
+          </error>
+        </c:when>
+        <c:when test="${verb eq 'Identify'}">
+          <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
+          <Identify>
+            <repositoryName>Open Images Platform</repositoryName>
+            <baseURL><mm:url page="/" absolute="true" /></baseURL>
+            <protocolVersion>2.0</protocolVersion>
+            <adminEmail>[email protected]</adminEmail>
+            <earliestDatestamp>1919-01-01</earliestDatestamp>
+            <deletedRecord>no</deletedRecord>
+            <granularity>YYYY-MM-DD</granularity>
+            <description>
+              <oai-identifier 
xmlns="http://www.openarchives.org/OAI/2.0/oai-identifier"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai-identifier 
http://www.openarchives.org/OAI/2.0/oai-identifier.xsd";>
+              <scheme>oai</scheme>
+              <repositoryIdentifier>openimages.eu</repositoryIdentifier>
+              <delimiter>:</delimiter>
+              <sampleIdentifier>oai:openimages.eu:4983</sampleIdentifier>
+              </oai-identifier>
+            </description>
+          </Identify>
+        </c:when>
+        
+        <c:when test="${verb eq 'ListMetadataFormats'}">
+          <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
+          <ListMetadataFormats>
+            <metadataFormat>
+              <metadataPrefix>oai_dc</metadataPrefix>
+              <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
+              
<metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
+            </metadataFormat>
+          </ListMetadataFormats>
+        </c:when>
+        
+        <c:when test="${verb eq 'ListSets'}">
+          <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
+          <ListSets>
+            <set>
+              <setSpec>lastuploaded</setSpec>
+              <setName>Last uploaded media items</setName>
+            </set>
+          </ListSets>
+        </c:when>
+        
+        <!-- ListIdentifiers + ListRecords -->
+        <c:when test="${verb eq 'ListIdentifiers' or verb eq 'ListRecords'}">
+        
+          <c:choose>
+            <c:when test="${!empty resumptionToken}">
+              <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
+                  set="${set}" 
resumptionToken="${resumptionToken}">${requesturl}</request>
+            </c:when>
+            <c:when test="${!empty from and !empty until}">
+              <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
+                  set="${set}" from="${from}" 
until="${until}">${requesturl}</request>
+            </c:when>
+            <c:when test="${!empty from and empty until}">
+              <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
+                  set="${set}" from="${from}">${requesturl}</request>
+            </c:when>
+            <c:when test="${empty from and !empty until}">
+              <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
+                  set="${set}" until="${until}">${requesturl}</request>
+            </c:when>
+            <c:otherwise>
+              <request verb="${verb}" metadataPrefix="${metadataPrefix}"
+                  set="${set}">${requesturl}</request>
+            </c:otherwise>
+          </c:choose>
+          
+          <mm:listnodescontainer type="mediafragments">
+            <mm:constraint field="show" value="true" operator="EQUAL" />
+            <c:if test="${!empty start}">
+              <mm:constraint field="date" value="$start" 
operator="GREATER_EQUAL" />
+            </c:if>
+            <c:if test="${!empty end}">
+              <mm:constraint field="date" value="$end" operator="LESS_EQUAL" />
+            </c:if>
+            <mm:sortorder field="number" direction="DOWN" />
+            <mm:size id="size" write="false" />
+            <mm:maxnumber value="$max" />
+            <mm:offset value="$offset" />
+            <mm:size id="foundsome" write="false" />
+            <mm:listnodes id="list" />
+          </mm:listnodescontainer>
+          
+          <c:choose>
+            <c:when test="${foundsome gt 0 and verb eq 'ListIdentifiers'}">
+              <ListIdentifiers>
+                <mm:listnodes referid="list">
+                  <jsp:include page="/feeds/inc/oai.record.header.jspx" />
+                </mm:listnodes>
+                <c:if test="${(offset + max) lt size}">
+                  <resumptionToken
+                      completeListSize="${size}" 
+                      
cursor="${offset}">!f${from}!u${until}!${metadataPrefix}!${offset + 
max}</resumptionToken>
+                </c:if>
+              </ListIdentifiers>
+            </c:when>
+            <c:when test="${foundsome gt 0 and verb eq 'ListRecords'}">
+              <ListRecords>
+                <mm:listnodes referid="list">
+                  <jsp:include page="/feeds/inc/oai.record.jspx" />
+                </mm:listnodes>
+                <c:if test="${(offset + max) lt size}">
+                  <resumptionToken
+                      completeListSize="${size}" 
+                      
cursor="${offset}">!f${from}!u${until}!${metadataPrefix}!${offset + 
max}</resumptionToken>
+                </c:if>
+              </ListRecords>
+            </c:when>
+            <c:otherwise>
+              <error code="noRecordsMatch">
+                The combination of the values of the from, until, set 
+                and metadataPrefix arguments results in an empty list.
+              </error>
+            </c:otherwise>
+          </c:choose>
+  
+        </c:when>
+        
+        <!-- GetRecord -->
+        <c:when test="${verb eq 'GetRecord'}">
+         
+          <request verb="${verb}" metadataPrefix="${metadataPrefix}" 
identifier="${identifier}">${requesturl}</request>
+          
+          <mm:hasnode number="${record}">
+            <mm:node number="${record}">
+              <mm:nodeinfo type="type" id="nodetype" write="false" />
+              <c:if test="${nodetype eq 'mediafragments'
+                    or nodetype eq 'audiofragments' 
+                    or nodetype eq 'videofragments'
+                    or nodetype eq 'imagefragments' 
+                    or nodetype eq 'images'
+                    }">
+                <GetRecord>
+                  <jsp:include page="/feeds/inc/oai.record.jspx" />
+                </GetRecord>
+                <c:set var="foundone" value="yes" />
+              </c:if>
+            </mm:node>
+          </mm:hasnode>
+  
+          <c:if test="${empty foundone}">
+            <error code="idDoesNotExist">No matching identifier</error>
+          </c:if>
+        </c:when>
+        
+        <c:otherwise>
+          <request verb="${verb}" 
metadataPrefix="${metadataPrefix}">${requesturl}</request>
+        </c:otherwise>
+      
+      </c:choose>
+  
+      
+    </OAI-PMH>
+  </mm:cloud>
 </mm:content>

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to