Generated: May 6, 2005, 17:20:42 Copyright © 2005, Kurt Nørmark The local LAML software home page

What is new in LAML

News in version 26:

LAML has been tested positively with MzScheme version 299 on Windows (2000). However see the notes about MzScheme 299. If you use this new version of PLT, you should configure LAML as mzscheme-300. There is also now (partial) support of LAML in Gambit (see Gambit notes ).

  1. Mirror generation: It is now possible to generate mirror functions named with a given prefix. It is also possible the generate a mirror in which the functions are only available through the language map. See new configuration variables in tools/xml-in-laml/xml-in-laml.scm. The impact on SchemeDoc manuals is still pending.
  2. XML-in-LAML: It is now possible to eliminate duplicate attributes in an XML attribute list (represented as a property list). This is configured in the mirror generation tool. The function xml-duplicated-attribute-handling, which takes a language parameter, returns the processing mode.
  3. The new macros with-xml-language and with-xml-language! in lib/xml-in-laml/xml-in-laml.scm allow the author to focus exclusively on document generation in single XML language. With use of this macro, name clashes with other XML languages are avoided. This is very helpful if you, in a distinguished part of your program, make use a mirror which overlaps with other mirrors.
  4. The semantics of the function optional-parameter has been changed slightly. It is now possible to pass a value that serves as a non passed value, hereby asking to use the default value of the parameter.
  5. LAML now assumes that the Scheme reader is case sensitive. More specifically, a case sensitive Scheme reader turns out to be the best solution for XML languages that rely on case sensitivity. If you do not deal with case sensitive XML DTDs, you can still use a standard non-cases sensitive R5RS Scheme system for LAML. We arrange for case sensitivity in the Scheme compatibility files in lib/compatibility/. MzSchme 200+ and Guile are setup to be case sensitive in the LAML compatibility files.
  6. The LAML DTD parser is now able to handle conditional sections of the DTD. With this it is possible to parse the SVG1.1 DTD and the XHTML1.1 DTD.
  7. SchemeDoc: A new front-matters option allows for alphabetic sorting of XML attributes.
  8. Via redefinition of the function extraordinary-allow-element? from lib/xml-in-laml/xml-in-laml.scm it is now possible to allow a certain element to appear within another element. This introduces a hook into the XML validation apparatus. Motivation: Sometimes it is useful to allow certain elements within an XHTML context, which are eventually transformed to XHTML.
  9. The Scheme Elucidator 2 has been extended to support multiple source file versions. This is a significant update and improvement of this tool. See an example.
  10. LAML SchemeDoc now supports a boolean attribute, scheme-source-linking. With use of this attribute it is possible to link from a SchemeDoc manual, which is extracted from a Scheme source program, to a rendering of the Scheme source program itself. The documentation of most LAML libraries make use of this new feature. Example (follow link of 'Scheme source file').

    The Scheme source program itself provides for rich linking, both internally and externally. The Scheme source program HTML page is created via the Scheme Elucidator. With this new feature, the integration of SchemeDoc and the Scheme Elucidator has been made more complete. Recall, in this context, that the Scheme Elucidator already is able to link from Scheme source files to SchemeDoc resources.

  11. LENO: The element syntax has been renamed to language-syntax. In Guile, it gives problem to (re)define the name syntax.
  12. A new XML-in-LAML style, LAML Chords, has been added. With this style, you can write simple song text, and annotate it with chords. Examples. The LAML chords system outputs an HTML file, in which the chords are placed above song lines. As a convenient facility, the LAML chords system is able to automatically transpose a song from one key to another. The LAML Chords facility comes with a set of supporting Emacs commands.
  13. The emacs support stuff in the directory emacs-support/ has been reorganized a bit. The file laml-template.el has been included in laml-mode.el. This simplifies the organization of the LAML Emacs stuff. In addition, your .emacs file will now load the file emacs-support/laml-emacs-support.el (instead of emacs-support/dot-emacs-support.el ). If you have an old LAML installation, you will need to delete the loading of emacs-support/dot-emacs-support.el.
  14. LAML emacs support: We have added an Emacs command, M-x insert-relative-file-path, which is useful for insertion of file paths, which are relative to the current directory. Use this command when you link from one (HTML) file to another. The command insert-relative-file-path is probably useful in many non-LAML contexts as well. You find insert-relative-file-path in emacs-support/laml-mode.el
  15. XHTML1.1 is now supported by LAML. Examples.
  16. The Emacs customization facility for LAML has been updated. Some old stuff has been deleted. Try M-x laml-customize in Emacs.

News in version 26.1

  1. New functions in laml.scm which provide version information about the actual LAML installation.
  2. New functions in lib/xml-in-laml.scm that make it possible to have XML comment, CDATA sections and Processing Instructions in LAML documents.
Kurt Nørmark