First of all thank you very much for your help!

Certainly the standard solution is to structure the data properly. But some
customers of the company (SAP), where i am writing my master thesis, didn't
do the standard thing. They are defining their data structures relying on
sequence of children to imply grouping. So one of my tasks is to solve this
problem, because we can't order the customera to change their existing
structures.

My idea to solve this problem is almost the same as yours. I will explain it
later. But i want to say here, that as a student, who is writing his master
thesis, i must try to find out and to research the existing solutions on the
market and then to evaluate them. So my question is, if there have been
already some standard solutions from SAX, or there are some existing
solutions from other people or companies.

Now i will explain my basic idea to solve the problem: I want to insert
several elements into the instance by parsing it, which group the children.

Something like this:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
  <sequence>
     <name>Schulz</name>
     <birthday>1970-04-15</birthday>
 </sequence>
 <sequence>
     <name>Ferner</name>
 </sequence>
 <sequence>
     <name>Lee</name>
     <birthday>1981-08-15</birthday>
 </sequence>
</persons>

It doesn't mean that i really insert elements into the instance, but to
create several new sax events. The program logic will be then implemented in
the methods startElement() and endElement(). There is also a very important
point: The structure information about sequence, or choice, or all, which
was defined in the schema, must be forwarded to the sax parser.

Then it works. In my opinion we dont't need to accumulate data because of
UPA (unique particle attribution). So we can have then a good performance.
You can find further information about UPA under
http://www.edition-w3c.de/TR/2001/REC-xmlschema-1-20010502/.

I am waiting for your suggestion, and also from other members. Do you think
it is a good algorithm to find the group information out?

Thanx again!

Di

Reply via email to