SwiXML for prototyping: table data

"Curt Cox" <[email protected]> Tue, 22 Feb 2005 14:27:08 -0600
Newsgroups gmane.comp.embedded.carlsbad-cubes
Message-ID <[email protected]>
Hi,

I'm looking into using SwiXML as a prototyping tool.  I've drawn some user
interface prototypes on paper, and now I'm trying to code them in SwiXML.
The goal is to get something that looks quite a bit like the eventual user
interface.  It would be a big bonus if it acted a little like it, too.  If
some of the prototype can be reused in the actual implementation, that's an
advantage, too.

Here's my first problem.  I see that I can write Java code to populate
JTables, but that is pretty awkward for my purposes.  If it were real data
coming from somewhere, this wouldn't be so much of a problem.  However, it
is fake data to just make the prototype more concrete.  The table headers
are more problematic, since they are purely presentational in my case.

As far as I can tell, table headers and data can't be specified directly in
SwiXML.  If I'm wrong about this, please correct me.  Assuming that they
can't be specified, I would like to propose the following syntax for
specifying the contents of a table: 
 
<table>
    <header size="2">
        <label text="Name"/>
        <label text="Present">
    </header>
    <data size="(10,2)">
        <label text="Alan"/>    <checkbox/>
        <label text="Beth"/>    <checkbox/>
        <label text="Charlie"/> <checkbox/>
        <label text="Della"/>   <checkbox/>
        <label text="Ethan"/>   <checkbox/>
        <label text="Fran"/>    <checkbox/>
        <label text="George"/>  <checkbox/>
        <label text="Hannah"/>  <checkbox/>
        <label text="Jim"/>     <checkbox/>
        <label text="Kathy"/>   <checkbox/>
    </data>
</table>

There are two basic questions here.
1) Should this sort of functionality be provided?
I strongly believe that it should be.  As I mentioned, this would be really
handy for prototyping.  There are also all sorts of small constant tables
that could simply be provided in-line.
2) What should the mechanism/syntax be?
The syntax above makes sense to me.  However, it is just provided as a
concrete illustration.  It is far more important that this facility exist,
than that it take some particular syntax.  If you have any opinion of the
syntax that I have proposed, please speak up.  Whoever implements this
feature would benefit from knowing what syntax has popular support.

Thanks,
Curt