W3C home > Mailing lists > Public > www-forms@w3.org > July 2006

Xform is going very slow on big Instances

From: Oliver Rath <rath@mglug.de>
Date: Wed, 26 Jul 2006 07:02:50 +0200
Message-ID: <44C6F77A.3020706@mglug.de>
To: www-forms@w3.org
Hi all,

my first submission here :-).

At the moment Im testing some bigger xforms document, written  for
generating a big formular with a lot of boilerplates (>1000) witch an
embedded repeat-sequence (for generating text from a list of
boilerplates). The formular is running under Firefox with the
xforms-plugin 0.6.

the strukture of the data is like follows:

	<ID>unique ID 0001>
	<Text>Lots of  Text (about 200-500 chars)</Text>
	<ID>unique ID 0002>
	<Text>Lots of another Text (about 200-500 chars)</Text>

to be repeated >1200 times

Unfortunatly the formular is slowing down using the repeat-tag for
cloning boilerplates. The duration getting a new clone is > 20sek (!).

The repeat-code looks like following:

       <!-- repeating sequence -->
        <xforms:repeat nodeset="textblock" id="Textblock">
           <xforms:label ref="ID" />
                <xforms:case id="Cstart">
                        <xforms:toggle ev:event="DOMActivate"
case="CB0100_bis_B0600" />
                        <xforms:toggle ev:event="DOMActivate"
case="CB0850_Flure" />
about 60 times, lots of other cases, running fine.
	<p nodeset="instance('B1900_Stuetzen_Unterzuege')/Textblock">
                        <xforms:label ref="ID" />
                        <xforms:select1 ref="." appearance="minimal">
                                <xforms:label ref="ID" />
                                <xforms:copy ref="." />
            <hr />

(here you see the later integrated division in different files, see below)

For the first help, I divided the boilerplates in different files, each
connected seperatley:

            <xforms:instance id="B0700_Abschluesse"
src="Texte/B0700_Abschluesse.xml" />
            <xforms:instance id="B0700_Einbauten"
src="Texte/B0700_Einbauten.xml" />

            <xforms:instance id="B0750_Rauchabzug"
src="Texte/B0750_Rauchabzug.xml" />
            <xforms:instance id="B0850_Abschluesse"
src="Texte/B0850_Abschluesse.xml" />
            <xforms:instance id="B0850_Einbauten"

(sorry, the names are in German, because my Perl-Generatorscript uses
the Filenames for labeling the buttons)
and so on. So i have generated 57 instances. But this didnt speed up the
repeating sequence. Not for one second! I dont know why. Could it be
sensful, to use binding tag instead of the ref? Is there maybe a better
solution available?

The original idea is taken from the tax form example.

I didnt send the whole formular, because it is > 5 MB, but if anybody
interested, i will send it to him you self-evident.

Do you have some ideas getting  up the xforms code faster? What is the
internal representation of such lists?



Received on Thursday, 27 July 2006 12:24:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:36:18 UTC