xsl-list
[Top] [All Lists]

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

2011-07-22 12:35:45

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(_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>
--~--