Author: andre Date: 2010-07-01 18:51:16 +0200 (Thu, 01 Jul 2010) New Revision: 42785
Modified: openimages/trunk/src/main/webapp/feeds/oai/index.jspx Log: OIP-125 just two (rather stupid) FAIL!'s left on http://re.cs.uct.ac.za/ : a non-excisting parameter (big deal) and a twice the same parameter (dito) Modified: openimages/trunk/src/main/webapp/feeds/oai/index.jspx =================================================================== --- openimages/trunk/src/main/webapp/feeds/oai/index.jspx 2010-07-01 15:26:39 UTC (rev 42784) +++ openimages/trunk/src/main/webapp/feeds/oai/index.jspx 2010-07-01 16:51:16 UTC (rev 42785) @@ -21,6 +21,16 @@ <mm:import id="offset">0</mm:import> <mm:import externid="verb" /> + <c:if test="${!empty verb + and verb ne 'Identify' + and verb ne 'ListMetadataFormats' + and verb ne 'ListSets' + and verb ne 'ListIdentifiers' + and verb ne 'ListRecords' + and verb ne 'GetRecord'}"> + <c:set var="error" value="badVerb" /> + </c:if> + <mm:import externid="identifier" /> <mm:import externid="metadataPrefix" /> <mm:import externid="set" /> @@ -87,8 +97,10 @@ <!-- fill parameters when empty --> <c:choose> - <c:when test="${!empty metadataPrefix and metadataPrefix ne 'oai_dc'}"> - <c:set var="error" value="badArgument" /> + <c:when test="${verb ne 'Identify' and verb ne 'ListMetadataFormats' and (empty metadataPrefix or metadataPrefix ne 'oai_dc')}"> + <c:if test="${empty error}"> + <c:set var="error" value="badArgument" /> + </c:if> </c:when> <c:otherwise> <c:set var="metadataPrefix">oai_dc</c:set> @@ -107,11 +119,18 @@ </responseDate> <c:choose> + <c:when test="${error eq 'badVerb'}"> + <request>${requesturl}</request> + <error code="badVerb"> + Value of the verb argument is not a legal OAI-PMH verb, the verb argument is missing, + or the verb argument is repeated. + </error> + </c:when> <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. + includes a repeated argument, or values for arguments have an illegal syntax. </error> </c:when> <c:when test="${error eq 'badResumptionToken'}"> @@ -141,17 +160,6 @@ </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> @@ -262,12 +270,51 @@ </mm:hasnode> <c:if test="${empty foundone}"> - <error code="idDoesNotExist">No matching identifier</error> + <c:choose> + <c:when test="${empty identifier}"> + <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:otherwise> + <error code="idDoesNotExist">No matching identifier</error> + </c:otherwise> + </c:choose> </c:if> </c:when> + + <c:when test="${verb eq 'ListMetadataFormats'}"> + <mm:hasnode number="${record}"> + <c:set var="hasnode" value="true" /> + </mm:hasnode> + <c:choose> + <c:when test="${!empty identifier and empty hasnode}"> + <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:otherwise> + <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:otherwise> + </c:choose> + </c:when> <c:otherwise> - <request verb="${verb}" metadataPrefix="${metadataPrefix}">${requesturl}</request> + <request>${requesturl}</request> + <error code="badVerb"> + Value of the verb argument is not a legal OAI-PMH verb, the verb argument is missing, + or the verb argument is repeated. + </error> </c:otherwise> </c:choose> _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs