Cross rem is an independent module to document XML files. Most of the logic lies in XSLT 1 stylesheet. The most used feature is Relax-NG schemas documentation, showed as text to read, with less possible automatic content. The style is transposed to other XML syntax, for example XSL. It has been successfully used to document ANT build files, or Cocoon Sitemaps. The views provided
Sample command line to document a Relax NG schema.
xsltproc -o schema.html http://subversion.cru.fr/diple/trunk/xrem/rng_html.xsl schema.rng
For Relax NG, XRem supports XHTML annotations, like described by Eric van der Vlist in the O'Reilly book on RELAX NG. The stylesheet try to guess pretty ways to organize structures and comments. Schemas could allow very different ways to express the same grammars, like the flat way inspired by DTDs (one global definition for each element), or the hairy way of beginners, mixing global and local patterns. See some examples :