HTMLDocument::readFromTemplate(3) Convert a HTML template to HTML


Void readFromTemplate( ElementTree location, String input, WhiteList safety, Doctype doctype, Dict<String, ElementTree([Pair<String, String> ])> templates )


location The location in the document to append the converted String

input The String to convert

safety The allowed elements and attributes

doctype The document type of the input string. This is independent of the document type of the document and controls certain aspects of parsing - for example, if the doctype is HTML4Strict , the end tags for p or td elements may be omitted, and the code will be case-insensitive. As usual, parsing with XHTML strictness will be quicker. The TagSoup option is equivalent to HTML4Strict - templates should be good quality!

templates A dictionary of templating functions. The key is the name of the templating tag, and the value is the function to call upon seeing that tag (which will be passed the templating tags attributes as a list of pairs).


Convert a HTML template String to HTML. An Exception will be thrown if the parser cannot construct an unambiguous tree from the string, and it is considerably less forgiving than the parsers in most web browsers. (On the other hand, it's a bit more forgiving in places than a strict XML parser, especially if the HTML4Strict doctype is used).

A HTML template String contains empty tags with user-defined names. These tags are then replaced with the output of the function defined for that tag in the templates dictionary.

Read the HTMLDocument.WhiteList(3kaya) documentation for important information on safety when converting these Strings, and bear in mind that allowing user-supplied data to call templating functions is only as secure as the allowed templating functions.


Kaya standard library by Edwin Brady, Chris Morris and others ([email protected]). For further information see


The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.