- From: Costello, Roger L. <costello@mitre.org>
- Date: Sat, 25 Apr 2009 14:06:46 -0400
- To: "'xproc-dev@w3.org'" <xproc-dev@w3.org>
Hi Folks, I succeeded in using p:http-request. The hardest part wasn't using p:http-request, it was ensuring that I downloaded all the jar files that Calabash needs for p:http-request. After showing you my two simple pipelines I'll show you what jar files you need and where to get them. Here's a simple pipeline file that uses p:http-request to get an RSS feed: --------------------------------------------------------------- <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step"> <p:input port="source"> <p:inline> <c:request method="GET" href="http://rss.cnn.com/rss/cnn_topstories.rss" /> </p:inline> </p:input> <p:output port="result"> </p:output> <p:http-request /> </p:declare-step> --------------------------------------------------------------- Here is a pipeline that gets the RSS feed and then styles the feed: --------------------------------------------------------------- <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step"> <p:input port="source"> <p:inline> <c:request method="GET" href="http://rss.cnn.com/rss/cnn_topstories.rss" /> </p:inline> </p:input> <p:output port="result"> </p:output> <p:http-request /> <p:xslt> <p:input port="source"/> <p:input port="stylesheet"> <p:document href="RSS.xsl"/> </p:input> <p:input port="parameters"> <p:empty/> </p:input> </p:xslt> </p:declare-step> --------------------------------------------------------------- Notice RSS.xsl. Here is a stylesheet for RSS feeds: http://www.dotnetjunkies.ddj.com/Tutorial/9FB56D07-4052-458C-B247-37C9E4B6D719.dcik I made a few tweaks to it, to get it to properly display the CNN RSS feed. In order for the above pipelines to work, you need to make sure that you've downloaded all the jar files that Calabash needs. Here's how I describe it in my XProc tutorial's README.txt file: [In my tutorial's folder] There is a lib folder. It has five subfolders: calabash saxon apache-commons-http-client apache-commons-codec apache-commons-logging You need to download the XProc processor, Calabash, and install its .jar file in the calabash folder. You can obtain Calabash here: http://xmlcalabash.com/download/ Calabash uses SAXON, so you need to download SAXON-SA and install its .jar files in the saxon folder. You can obtain SAXON-SA here: http://www.saxonica.com/ For interacting with web services (using the p:http-request step) you need to obtain the Apache Commons HTTP Client: http://hc.apache.org/downloads.cgi (download Commons HttpClient 3.1) And you need to obtain the Apache Commons Codec: http://commons.apache.org/downloads/download_codec.cgi And you need to obtain the Apache Commons Logging: http://commons.apache.org/downloads/download_logging.cgi Here's what the folders should contain after you've downloaded and installed the .jar files: lib calabash calabash.jar saxon saxon9.jar saxon9-dom4j.jar saxon9-dom4j.jar saxon9-jdom.jar saxon9-s9api.jar saxon9sa.jar saxon9sa-jaxp.jar saxon9sa-qc.jar saxon9-sql.jar saxon9-xom.jar saxon9-xpath.jar saxon9-xqj.jar apache-commons-http-client commons-httpclient-3.1.jar apache-commons-codec commons-codec-1.3.jar apache-commons-logging commons-logging-1.1.1.jar commons-logging-1.1.1-javadoc.jar commons-logging-1.1.1-javadoc.jar commons-logging-adapters-1.1.1.jar commons-logging-api-1.1.1.jar commons-logging-tests.jar Be sure your CLASSPATH points to each of these jar files. /Roger
Received on Saturday, 25 April 2009 18:07:23 UTC