yes - I forgot the {}; you seem to need those in order to tell JSTL to
evaluate.
The [#document: null] means your database query is returning an empty
set: it's not working?
You probably ought to check for this case and print a useful message
rather than an exception
Alan Darnell wrote:
When I use
<c:out value="$art" />
I simply see the value "$art"
if I use
<c:out value="${art}" />
I see
[#document: null]
Not sure what to make of either of these outputs.
Alan
On 3-Apr-07, at 11:05 PM, Michael Sokolov wrote:
Did you try <c:out value="$art" /> in the foreach just to make sure the
articles being returned are what you expect?
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alan
Darnell
Sent: Tuesday, April 03, 2007 6:45 PM
To: General Mark Logic Developer Discussion
Subject: [MarkLogic Dev General] MarkLogic XQuery Tag Library and JSTL
XMLTag Library
I'd like to be able to use these two libraries so that I can grab XML
data from Mark Logic and then parse it using the JSTL XML libraries.
Here's what I've got so far. Use xq:execute to populate "results"
variable with documents. Iterate over "results" and pass each result
converted to a string to x:parse, storing the parsed result in
variable "art"
But then when I try to access any elements of "art" I get a
SAXPathException.
Not sure what's happening but I'm new to using both tag libraries
so ....
Thanks in advance ...
Alan
<%@ taglib uri="http://marklogic.com/jsp/taglib" prefix="xq" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
<xq:setDataSource host="..." port="..." user="..." password="..." />
<html><head><title>Test</title></head>
<body>
<c:choose>
<c:when test="${param.query != null}">
<form action="search.jsp" method="post">
<input name="query" value="<c:out value="${param.query}" />" />
</form>
<xq:execute var="results">
<xq:query>
for $i in
cts:search(doc()//article-title,"${param.query}") [1 to 15]
return $i/root()
</xq:query>
</xq:execute>
<ol>
<c:forEach var="item" items="${results.items}">
<x:parse xml="${item.string}" var="art" scope="session" />
<li>
<x:out select="$art//journal-id" />
</li>
</c:forEach>
</ol>
</c:when>
<c:otherwise>
<form action="search.jsp" method="post">
<input name="query" value="" />
</form>
</c:otherwise>
</c:choose>
</body>
</html>
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general