xsl-list
[Top] [All Lists]

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

2011-07-22 15:00:46
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(_at_)ucsd(_dot_)edu
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>