Re: [xsl] Finding preceeding-siblings with non empty value

Subject: Re: [xsl] Finding preceeding-siblings with non empty value
From: Hank Ratzesberger <hankr@xxxxxxxx>
Date: Fri, 22 Jul 2011 12:59:56 -0700
Hi,

I have solved my issue (I'm sure you're glad to hear I'm closing this thread)

I found it a little complicated because there were issues of document order
and how predicate steps and filter steps select nodes. I found my answers
in Michael Kay's 2004 XPath Programmers reference p. 231 and this discussion:


http://www.dpawson.co.uk/xsl/sect2/N2624.html#d4142e301

To find the most recent element from nodeset created by a for-each-group,
I had to select from a path expression (not a predicate step), in this case a
union. Assuming that the [last()] predicate step processes in document order,
it will return the most recent (in this case the group-by was a date).


e.g.

<xsl:copy-of select="(preceding::pressure/row[site-transaction-name='serial number'])[last()]"/>

Thanks for your patience. I'm still believe strongly in using this methodology --
utilizing a single/general data rather than creating various lists, arrays and
hashes and coding uniquely for them.


Best,
Hank


On 7/22/11 10:35 AM, Hank Ratzesberger wrote:
<pressure  xmlns="">
     <row>
      <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>additional information</site-transaction-name>
      <site-transaction-value>Meteo sonde delivered unreliable data&#xD;
at the end</site-transaction-value>
      <effective-date>1998-11-15T00:00:00.000</effective-date>

     </row>
     <row>
      <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>serial number</site-transaction-name>
      <site-transaction-value>69855</site-transaction-value>
      <effective-date>1998-11-15T00:00:00.000</effective-date>
     </row>

     <row>
      <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>model code</site-transaction-name>
      <site-transaction-value>PARMT3</site-transaction-value>
      <effective-date>1998-11-15T00:00:00.000</effective-date>
     </row>
     <row>

      <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>data frequency</site-transaction-name>
      <site-transaction-value>60 s</site-transaction-value>
      <effective-date>1998-11-15T00:00:00.000</effective-date>
     </row>
     <row>
      <site-transaction-type>pressure sensor</site-transaction-type>

      <site-transaction-name>elev diff to gps</site-transaction-name>
      <site-transaction-value>-4 m    (with respect to marker)</site-transaction-value>
      <effective-date>1998-11-15T00:00:00.000</effective-date>
     </row>
    </pressure>
    <pressure  xmlns="">
     <row>

      <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>elev diff to gps</site-transaction-name>
      <site-transaction-value>-4 m    (with respect to marker)</site-transaction-value>
      <effective-date>2000-07-20T00:00:00.000</effective-date>
     </row>
     <row>
      <site-transaction-type>pressure sensor</site-transaction-type>
       <site-transaction-name>serial number</site-transaction-name>
      <site-transaction-value>70804</site-transaction-value>
      <effective-date>2000-07-20T00:00:00.000</effective-date>
     </row>
    </pressure>
    <pressure  xmlns="">
     <row>
       <site-transaction-type>pressure sensor</site-transaction-type>
      <site-transaction-name>elev diff to gps</site-transaction-name>
      <site-transaction-value>-3.83 m  (with respect to marker)</site-transaction-value>
      <effective-date>2001-02-19T00:00:00.000</effective-date>
     </row>
    </pressure>


-- Louis (Hank) Ratzesberger hankr@xxxxxxxx Scripps Orbit and Permanent Array Center Mailing Address: Mail Code 0225 9500 Gilman Drive University of California, San Diego La Jolla, CA 92093-0225 858-822-4472 IGPP/SIO Location: Bldg T-31 8860 Biological Grade

Current Thread