Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

[ABANDONED] A drop-in replacement for Builder::XmlMarkup which uses libxml for speed and security.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 spec
Octocat-spinner-32 CHANGELOG
Octocat-spinner-32 MIT-LICENSE
Octocat-spinner-32 README.markdown
Octocat-spinner-32 Rakefile
README.markdown

FasterBuilder

Differences from Builder::XmlMarkup

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

    xml.dip do
      xml << "<blorp>"
    end
    xml.target! #=> "<dip>&lt;blorp&gt;</dip>" instead of <dip><blorp></dip>
    

    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<dip/>'
    

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

  • Does not allow for unescaped symbol attribute values:

    xml.dingo(:name => :"SUPA<<FREAK")
    xml.target! #=> '<dingo name="SUPA&lt;&lt;FREAK"/>'
    

    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.)
Something went wrong with that request. Please try again.