Skip to content

ruby-syntax-tree/syntax_tree-xml

Folders and files

NameName
Last commit message
Last commit date
May 25, 2022
May 25, 2022
May 25, 2022
May 25, 2022
May 25, 2022
May 25, 2022
Sep 28, 2022
May 25, 2022
May 25, 2022
May 25, 2022
May 25, 2022

Repository files navigation

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.