- From: Alex Milowski <alex@milowski.com>
- Date: Tue, 8 May 2012 13:08:52 -0700
- To: XProc WG <public-xml-processing-model-wg@w3.org>
This one actually works! Tides from the NOAA <?xml version="1.0" encoding="UTF-8"?> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step" version="1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <p:output port="result"/> <p:http-request> <p:input port="source"> <p:inline> <c:request method="GET" href="http://tidesonline.nos.noaa.gov/data_read.shtml?station_info=9414290"/> </p:inline> </p:input> </p:http-request> <p:unescape-markup content-type="text/html"/> <p:filter select="/c:body/xhtml:html/xhtml:body/xhtml:pre/xhtml:pre"/> <p:unwrap match="xhtml:font"/> <p:xslt> <p:input port="stylesheet"> <p:inline> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:template match="xhtml:pre"> <xsl:copy> <xsl:analyze-string select="." regex="\n"> <xsl:non-matching-substring> <line><xsl:value-of select="."/></line> </xsl:non-matching-substring> </xsl:analyze-string> </xsl:copy> </xsl:template> </xsl:stylesheet> </p:inline> </p:input> <p:input port="parameters"> <p:inline><c:param-set/></p:inline> </p:input> </p:xslt> <p:xslt> <p:input port="stylesheet"> <p:inline> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:template match="line"> <xsl:analyze-string select="." regex="^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)"> <xsl:matching-substring xmlns="http://www.w3.org/1999/xhtml" xml:space='preserve'> <tr> <td><xsl:value-of select="regex-group(1)"/></td> <td><xsl:value-of select="regex-group(2)"/></td> <td><xsl:value-of select="regex-group(3)"/></td> <td><xsl:value-of select="regex-group(4)"/></td> <td><xsl:value-of select="regex-group(5)"/></td> <td><xsl:value-of select="regex-group(6)"/></td> <td><xsl:value-of select="regex-group(7)"/></td> <td><xsl:value-of select="regex-group(8)"/></td> <td><xsl:value-of select="regex-group(9)"/></td> <td><xsl:value-of select="regex-group(10)"/></td> <td><xsl:value-of select="regex-group(11)"/></td> <td><xsl:value-of select="regex-group(12)"/></td> <td><xsl:value-of select="regex-group(13)"/></td> </tr> </xsl:matching-substring> </xsl:analyze-string> </xsl:template> <xsl:template match="xhtml:pre"> <table xmlns="http://www.w3.org/1999/xhtml"><xsl:apply-templates select="@*|node()"/></table> </xsl:template> </xsl:stylesheet> </p:inline> </p:input> <p:input port="parameters"> <p:inline><c:param-set/></p:inline> </p:input> </p:xslt> <p:xquery> <p:input port="query"> <p:inline> <c:data> declare namespace xhtml="http://www.w3.org/1999/xhtml"; element tides { attribute high { string((for $r in /xhtml:table/xhtml:tr order by string($r/xhtml:td[4]) descending return $r)[1]/xhtml:td[2]) }, attribute low { string((for $r in /xhtml:table/xhtml:tr order by string($r/xhtml:td[4]) ascending return $r)[1]/xhtml:td[2]) }, /xhtml:table } </c:data> </p:inline> </p:input> <p:input port="parameters"> <p:inline><c:param-set/></p:inline> </p:input> </p:xquery> </p:declare-step> -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics
Received on Tuesday, 8 May 2012 20:09:21 UTC