[xquery-talk] solutions to an Excel XML processing problem

Daniela Florescu dflorescu at mac.com
Wed Aug 23 16:33:06 PDT 2006


Dear all,

I am trying to find various solutions to the following XML to XML 
transformation problem.
  It is taken out of real world Excel spreadsheets data processing.

(Input) The data is composed of cells and some of the cells are empty 
(no content).
This version of the data is in compressed form, i.e. does not contain 
the empty cells and is using the
attribute @i to express jumps to the  next non empty cell (using the 
position). It looks like this:
=====================================================================


<row cnt="30">
<c i="3">third</c>
<c>fouth</c>
<c>fifth</c>
<c i="10">tenth</c>
<c>eleventh</c>
<c i="20">twentieth</c>
<c>twenty-one</c>
<c>twenty-two</c>
<c>twenty-three</c>
</row>


(Ouput) Write an XQuery to transform the XML data in the uncompressed 
form
that includes the empty cells, as follows:
=============================================================

<row cnt="30">
  <c/>
   <c/>
<c>third</c>
<c>fouth</c>
<c>fifth</c>
  <c/>
  <c/>
<c/>
  <c/>
<c>tenth</c>
<c>eleventh</c>
  <c/>
  <c/>
<c/>
  <c/>
<c/>
  <c/>
<c/>
  <c/>
<c i="20">twentieth</c>
<c>twenty-one</c>
<c>twenty-two</c>
<c>twenty-three</c>
  ...
</row>


I know it can be done in a variety of ways, I am just looking for the 
"best" (i.e. simplest) XQuery
to achieve this purpose that people on this list can help me find.

Thanks in advance,
Dana



More information about the talk mailing list