- From: Oliver Rath <rath@mglug.de>
- Date: Wed, 26 Jul 2006 07:02:50 +0200
- To: www-forms@w3.org
- Message-ID: <44C6F77A.3020706@mglug.de>
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 1.5.0.4 with the
xforms-plugin 0.6.
the strukture of the data is like follows:
<default>
<textblock>
<ID>unique ID 0001>
<Text>Lots of Text (about 200-500 chars)</Text>
</textblock>
<textblock>
<ID>unique ID 0002>
<Text>Lots of another Text (about 200-500 chars)</Text>
<textblock>
<default>
....
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:switch>
<xforms:case id="Cstart">
<xforms:trigger>
<xforms:label>B0100_bis_B0600</xforms:label>
<xforms:toggle ev:event="DOMActivate"
case="CB0100_bis_B0600" />
</xforms:trigger>
<xforms:trigger>
<xforms:label>B0850_Flure</xforms:label>
<xforms:toggle ev:event="DOMActivate"
case="CB0850_Flure" />
</xforms:trigger>
....
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:itemset
nodeset="instance('B1900_Stuetzen_Unterzuege')/Textblock">
<xforms:label ref="ID" />
<xforms:copy ref="." />
</xforms:itemset>
</xforms:select1>
</p>
</xforms:case>
</xforms:switch>
<hr />
</xforms:repeat>
....
(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:model>
<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?
Tfh,
Oliver
Attachments
- text/xml attachment: repeat-loop.xml
Received on Thursday, 27 July 2006 12:24:55 UTC