public
Rubygem
Description: A drop-in replacement for Builder::XmlMarkup which uses libxml for speed and security.
Clone URL: git://github.com/codahale/faster-builder.git
README.markdown

FasterBuilder

Differences from Builder::XmlMarkup

  • Does not allow for unescaped text to be appended to element contents:

    xml.dip do xml << "" end xml.target! #=> "<blorp>" instead of

    This is a security/validity issue and isn't going to change.

  • Does not allow XML prologs to be inserted in the middle of the document:

    xml.dip do xml.instruct! end xml.target! #=> '<?xml version="1.0" encoding="UTF-8"?>\n'

    This is a security/validity issue and isn't going to change.

  • Does not allow for unescaped symbol attribute values:

    xml.dingo(:name => :"SUPA<'

    This is a security/validity issue and isn't going to change.

  • Doesn't detect and avoid double-escaping. (I'm working on this.)

  • Doesn't generate declarations. (I'm working on this.)
  • Doesn't generate non-XML prologs. (I'm working on this.)
  • Doesn't generate standalone XML prologs. (I'm working on this.)
  • Doesn't support indentation options. (I'm working on this.)