yads is Yet Another Documentation System, a perl script
(maybe it is a program; it is more than 7000 lines worth of
script, anyway) that converts a set of XML documents into a
structured web or a LaTeX document. You can find it at


The short story is that you write a bunch of XML files
following some simple conventions. Yads recursively
traverses your directories, parses *.xml files using
XML::Parser, figures out the relationship between documents
(each document specifies a number of "parents" and "sons")
and converts them to inter-linked html (LaTeX), with table
of contents and navigation aids (only for html).

It has a bunch of cool features, like the ability to deal
with multi-language documents, define the relationship
between documents and write links using perl regexps
(multi-links: if more than one document qualifies a list of
links is built), define macros in XML, external URL's from a
centralized file, etc. It is quite usable, very
customizable, and it can grow very easily. It is an (almost)
completely object oriented design, and it allows the
definition of new document types in an almost trivial way
(although I have only defined a bibliography and a plain

I do not know how it relates with other existing projects. I
do know about some other documentation systems, and I think
that yads has enough distinctive features to stand by its
own. Due to a slow, buggy and expensive Internet connection
(Spain) I cannot keep up with what's going on in the XML
world, so I might be severely misguided. I first wrote yads
to deal with the bibliography of my PhD thesis, and then
extended it to be able to publish my web pages. I hope I
have not reinvented the wheel, but if I have, well, tough
luck. I sure had fun writing it, it solves my problem, and
maybe it will solve somebody else's.

http://www.twostones.org is entirely built by yads, and the
XML source is available from the yads home page.



You are currently subscribed to perl-xml as: [archive@jab.org]
To unsubscribe, forward this message to
For non-automated Mailing List support, send email to  

Reply via email to