Home

Awesome

SyntaxTree::XML

Build Status Gem Version

Syntax Tree support for XML.

Installation

Add this line to your application's Gemfile:

gem "syntax_tree-xml"

And then execute:

$ bundle install

Or install it yourself as:

$ gem install syntax_tree-xml

Usage

From code:

require "syntax_tree/xml"

pp SyntaxTree::XML.parse(source) # print out the AST
puts SyntaxTree::XML.format(source) # format the AST

From the CLI:

$ stree ast --plugins=xml file.xml
(document
  (misc "\n"),
  (element
    (opening_tag "<", "message", ">"),
    (char_data "\n" + "  "),
    (element (opening_tag "<", "hello", ">"), (char_data "Hello"), (closing_tag "</", "hello", ">")),
    (char_data "\n" + "  "),
    (element (opening_tag "<", "world", ">"), (char_data "World"), (closing_tag "</", "world", ">")),
    (char_data "\n"),
    (closing_tag "</", "message", ">")
  )
)

or

$ stree format --plugins=xml file.xml
<message>
  <hello>Hello</hello>
  <world>World</world>
</message>

or

$ stree write --plugins=xml file.xml
file.xml 1ms

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ruby-syntax-tree/syntax_tree-xml.

License

The gem is available as open source under the terms of the MIT License.