XML behind XMLBars
Ogievetsky, Nikita
nikita.ogievetsky at csfb.com
Tue Mar 2 19:18:38 GMT 1999
Hi everybody,
Let me present to the community XMLBars: XML driven menu bars. I intended it
to serve as a simple and visually perceivable example of using XML to
facilitate web design issues. Seems that it turned into a nice web GUI tool.
I would highly appreciate your judgment and critique. Your contribution is
very welcome.
Here is my sin: Namespaces are used to point to document fragments
collection (rather then element definitions)
Why not? It is more convenient for me to say <group ref:id=""> then to use
XPointer or Entity:
It is easier for people to read (not only parsers matter).
By changing namespace ( URN ) all the references defined
with its alias will change automatically.
It is also great for internalization. And, of course, I can define multiple
namespaces of fragments. The fact that URN doesn't have to be a real URL
makes the possibilities even greater.
-----------------
XML behind XMLBars Menu Markup Language, if I may :)
Menu bar rendering and formatting information is stored in XML and cashed in
DOM by a parser. Submenus are rendered only when parent menu is activated.
Action to be fired on a menu click event is also stored in XML. Action can
be a Link to a web page or a chunk of
JavaScript code. It can also be a Sub-Action. In this case child menu
inherits parents action.
Action can be parameterized. For example in the following fragment
<MENU>
<DESC>xml-dev archive</DESC>
<LINK>
http://www.lists.ic.ac.uk/hypermail/xml-dev/<PAR name="year"><PAR
name="month">/index.html
</LINK>
<SUBMENU>
<DESC>1999</DESC>
<SUBACTION>
<SUB name="year">99</SUB>
</SUBACTION>
<SUBMENU>
<DESC>January</DESC>
<SUBACTION>
<SUB name="month">01< /SUB>
</SUBACTION>
</SUBMENU>
<SUBMENU>
<DESC>February</DESC>
<SUBACTION>
<SUB name="month">02</SUB>
</SUBACTION>
</SUBMENU>
</SUBMENU>
</MENU>
two leaf submenus when clicked will point to:
http://www.lists.ic.ac.uk/hypermail/xml-dev/9901/index.html
and
http://www.lists.ic.ac.uk/hypermail/xml-dev/9902/index.html
Most of magazines and monthly publications have similar structure. Reusable
group of 12 submenu -months will help. The 3 years of XML-DEV archive will
be as short as:
<MENU>
<DESC>xml-dev archive</DESC>
<LINK>
http://www.lists.ic.ac.uk/hypermail/xml-dev/<PAR name="year"><PAR
name="month">/index.html
</LINK>
<SUBMENU>
<DESC>1999</DESC>
<SUBACTION>
<SUB name="year">99</SUB>
</SUBACTION>
<SUBMENU>
<SUBMENUGROUP ref:id="12months" xql:select="./SUB
$le$ '04'">
</SUBMENU>
</SUBMENU>
<SUBMENU>
<DESC>1998</DESC>
<SUBACTION>
<SUB name="year">98</SUB>
</SUBACTION>
<SUBMENU>
<SUBMENUGROUP ref:id="12months">
</SUBMENU>
</SUBMENU>
<SUBMENU>
<DESC>1997</DESC>
<SUBACTION>
<SUB name="year">97</SUB>
</SUBACTION>
<SUBMENU>
<SUBMENUGROUP ref:id="12months " xql:select ="./SUB
$ge$ '04'">
</SUBMENU>
</SUBMENU>
</MENU>
The second optional attribute xql:select will filter first 4 months for
current year and months starting with February for the year 1997.
XMLBars implemented using IE5beta parser can be found at
http://www.cogx.com/XMLBar.
(Sorry, still working on cross-browser implementation).
Nikita Ogievetsky
Cogitech Inc.
http://www.cogx.com
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list