[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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 10:35:11 -0700

On 7/22/11 1:48 AM, Andrew Welch wrote:
Could it be this:

preceding[row[site-transaction-name='model code']][not empty(.)]


Thanks for any tips.
The best tip at this stage is to provide the required output for that
input that you posted... At the moment it's hard to guess your
requirements from the code and input.



Ok, yes, thanks. The source is below. The result would be three elements showing the "composited" changes the grouped by date rows represent. (Note that I don't have a problem with the dates, since those are in every row of the preceding-sibling[1], but for other data, it may not be in the immediate preceding sibling.)

I realized that one issue is that all axis statements return
sequences in document order, but what I need is the data in
reverse document order.  So let me think about that.

So, what I have is a tree of grouped elements, but some groups
are incomplete.  I need to go in reverse order and find the
first match.

                                   Z
                     Y                   Y              Y
               A B C D E            C1 D1         E2

<Y>
<A><B><C><D><E>
</Y>
<Y>
<A><B><C1><D1><E>
</Y>
<A><B><C1><D1><E2>
</Y>

Best,
Hank

<group>
  <pressureSensor>
   <equip:type>PARMT3</equip:type>
   <equip:serialNumber>69855</equip:serialNumber>
   <equip:heightDiffToAntenna>-4 m    (with respect to marker)</equip:heightDiffToAntenna>
   <equip:effectiveDates>1998-11-15T00:00:00.000/2000-07-20T00:00:00.000</equip:effectiveDates>
   <equip:dataSamplingInterval>60 s</equip:dataSamplingInterval>
   <equip:notes>Meteo sonde delivered unreliable dataat the end</equip:notes>
  </pressureSensor>
<! only a change in serial number -->
  <pressureSensor>
   <equip:type>PARMT3</equip:type>
   <equip:serialNumber>70804</equip:serialNumber>
   <equip:heightDiffToAntenna>-4 m    (with respect to marker)</equip:heightDiffToAntenna>
   <equip:effectiveDates>2000-07-20T00:00:00.000/2001-02-19T00:00:00.000</equip:effectiveDates>
   <equip:dataSamplingInterval>60 s</equip:dataSamplingInterval>
   <equip:notes>Meteo sonde delivered unreliable dataat the end</equip:notes>
  </pressureSensor>
<!-- only a change in height -->
  <pressureSensor>
   <equip:type>PARMT3</equip:type>
   <equip:serialNumber>70804</equip:serialNumber>
   <equip:heightDiffToAntenna>-3.83 m    (with respect to marker)</equip:heightDiffToAntenna>
   <equip:effectiveDates>2001-02-195T00:00:00.000/(CCYY-MM-DDT00:00:00</equip:effectiveDates>
   <equip:dataSamplingInterval>60 s</equip:dataSamplingInterval>
   <equip:notes>Meteo sonde delivered unreliable dataat the end</equip:notes>
  </pressureSensor>
</group>





<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
Keywords