Hello Stefan,

I think SVG can definitely help in your scenario. Here are a few examples of things which help:

a. <use>
=========

In SVG, you can define a template content (typically in a <defs> section) and later refer to it in a <use>. For example:

<defs>
<g id="chairTemplate">
<rect x="0" y="0" width="20" height="40" fill="green" />
</g>
</defs>

<use xlink:href="#chairTemplate" x="30" y="30" />
<use xlink:href="#chairTemplate" x="20" y="130" />
...

Of course, you can make the chair a lot nicer than a green rectangle :-)

b. Support for mixed namespaces.
=================================

In XML and in SVG in particular, you can mix namespaces. That means that you can mix content from different grammars in the same document. So, using your example, you could embed the floor definition information the way you have expressed it:

<svg onload="init()">
> <floorplan id="myFloorPlan" xmlns="myNameSpace">
> <chair id="1">
> <location>...</location>
> </char>
> <chair id="2">
> <location>...</location>
> </char>
> <wall>
> ....
> </wall>
> </floorplan>
</svg>

and then, by script, you can access that <floorplan> information and build the graphical content. Something like:

<script>
function init() {
var floorplan = document.getElementById("myFloorPlan");
var chairs = floorplan.getElementsByTagNameNS("myNameSpace", "chair");
var nChairs = chairs.getLength();
for (var i=0; i<nChairs; i++) {
var chair = document.createElementNS(svgNS, "use");
chair.setAttributeNS(xlinkNS, "xlink:href", "#chairTemplate");
chair.setAttributeNS(null, "x", ....);
.....
}
}

</script>

Note how the 'onload' attribute on the root <svg> invokes the init() function.

This is not quite cut-and-paste code and the use of mixed namespace may or may not be a good idea depending on your architecture, but this is food for thoughts.

I hope this helps.

In terms of resources, Randy pointed out some very interesting examples from Adobe. You'll find a lot of pointers to SVG resources at:

http://www.w3.org/Graphics/SVG.

Vincent.

Stefán Freyr Stefánsson wrote:
Hello.

I know that this mailing list should be used for questions regarding the Batik software itself and general SVG questions should go to some W3C mailing list as stated on the Batik web page. However, the mailing list address given on the Batik web page that is supposed to subscribe to the W3C SVG mailing list seems to be broken. I did eventually find a mailing list that is supposedly about SVG at the W3C but so far I've seen no signs of life on that list so I hope that you forgive me for asking this question here.

The problem that I'm facing is that I need to create an application that can show a descriptive overview image of a meeting room (it's actually the chamber of the Icelandic parliament). This application will be hooked up to a voting system and needs to be able to display accurately the status of votes in the chamber. For that it needs to display an image of the floor and each seat is represented by a color that indicates how the person that sits there voted. Now, the tricky part about this is that this floor plan needs to be dynamic... the number of members of parliament can change (the number and layout of chairs would therefore change too) so there needs to be a way of defining the floor plan without having to build the whole system again.

So my question is: Would SVG be a good candidate to solve my problem? Does anybody have other ideas about what technique could be used for this?

My dream is to have the floor plan in an XML document that describes the layout/location of the seats and maybe even more information such as the locations of walls to give a better impression of the room itself. An example of the XML document defining the floor plan might be something like:
<floorplan>
<chair id="1">
<location>...</location>
</char>
<chair id="2">
<location>...</location>
</char>
<wall>
....
</wall>
</floor>

I know that this doesn't conform to the SVG document type (and no... this idea hasn't been fully sculpted even) but I'm just describing what I'm thinking... I will then adopt this idea to the SVG documents if SVG is indeed a viable option to solve this problem.

Optimally there would be just one document describing the layout of the room, the system would therefore be able to draw up the floor plan by using that document. The voting system would also read this document and parse out the location of all the "chair" elements and it would read the status of each vote for each of the chairs from the voting system. It could then create a "layer" where, for example, a chair that votes "yes" is displayed as a green area and a vote of "no" is displayed as red and "pass" is displayed as yellow. There would also have to be other layers for each seat such as displaying the name of the person sitting in the seat, what party that person is associated with and so on.

If anybody could give me some pointers on whether SVG would be usable for this situation I'd be very grateful. I want to stress that I'm not a lazy bum trying to get the solution to my problem here but my first impression of SVG is that it's a rather complicated but powerful tool and I'd just like to know if I'm on the right track by throwing myself in the deep end of the SVG-pool. If anybody knows of anything similar to what I've described, I'd really like to know about it of course :o)

Kind regards and thanks in advance for any answers.
Stefan Freyr.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to