etcl : constraints and behaviour of circleMagic
The xml output that my code generates for the The Devonshire Manuscript page on the wiki caused the CircleMagic display to throw an error. Took a couple of hours to figure out the problem.
1) Discovered that if you have more than 7 source elements in the XML file, MagicCircle generates an error message rather than displays the data. The absolute and relative size of the counts in each source element don't seem to matter. I tested to see if there is a similar limit on the number of detail elements, and stopped testing at 18 details within one source
Here's the structure for a source which kind of solves the problem, by using one source and N detail elements in that source resulting in the innermost ring being all one colour and the second ring divided into n wedges. (The empty third detail element suppresses the display of the black outer ring.):
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
</detail>
<detail>
<id frequency="2">Cultures18-sub1-1</id>
<id frequency="2">Cultures18-sub1-2</id>
<id frequency="2">Cultures18-sub1-3</id>
<id frequency="2">Cultures18-sub1-4</id>
<id frequency="2">Cultures18-sub1-5</id>
<id frequency="2">Cultures18-sub1-6</id>
<id frequency="2">Cultures18-sub1-7</id>
<id frequency="2">Cultures18-sub1-8</id>
<id frequency="2">Cultures18-sub1-9</id>
</detail>
<detail>
</detail>
</details>
</source>
2) Did various test of xml structures to see what would be output, with following results:
<!-- generates a "problem with data" error -->
<source>
<id frequency="18">Cultures18</id>
</source>
<!-- generates a ring of coloured wedges too big to fit into the viewport -->
<source>
<id frequency="18">Cultures18</id>
<details>
</details>
</source>
<!-- generates ring of coloured wedges, what you want for 1-level detail with 7 or fewer sources -->
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
</detail>
</details>
</source>
<!-- generates ring of coloured wedges with black.dark grey ring outside -->
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
<id frequency="9">Cultures18-sub1</id>
<id frequency="9">Cultures18-sub2</id>
</detail>
</details>
</source>
<!-- generates two rings of coloured wedges -->
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
<id frequency="9">Cultures18-sub1-1</id>
<id frequency="9">Cultures18-sub1-2</id>
</detail>
<detail>
</detail>
</details>
</source>
<!-- generates two rings of coloured wedges with black/dark grey ring outside -->
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
<id frequency="9">Cultures18-sub1-1</id>
<id frequency="9">Cultures18-sub1-2</id>
</detail>
<detail>
<id frequency="6">Cultures18-sub2-1</id>
<id frequency="6">Cultures18-sub2-2</id>
<id frequency="6">Cultures18-sub2-3</id>
</detail>
</details>
</source>
<!-- generates three rings of coloured wedges -->
<source>
<id frequency="18">Cultures18</id>
<details>
<detail>
<id frequency="9">Cultures18-sub1-1</id>
<id frequency="9">Cultures18-sub1-2</id>
</detail>
<detail>
<id frequency="6">Cultures18-sub2-1</id>
<id frequency="6">Cultures18-sub2-2</id>
<id frequency="6">Cultures18-sub2-3</id>
</detail>
<detail>
</detail>
</details>
</source>