An open API service indexing awesome lists of open source software.

https://github.com/cbeer/nom-xml


https://github.com/cbeer/nom-xml

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# nom-xml

A library to help you tame sprawling XML schemas.

nom-xml allows you to define a “terminology” to ease translation between XML and ruby objects – you can query the xml for Nodes or node values without ever writing a line of XPath. nom-xml is built on top of [nokogiri](http://nokogiri.org) decorators, which means you can mix-and-match NOM accessors with nokogiri xpaths, xml manipulation, and traversing and it will just work.

Some Handy Links
----------------
Here are some resources to help you learn more about nom-xml:

- [API](http://rubydoc.info/github/cbeer/nom-xml) - A reference to nom-xml's classes

An Example
---------------

```xml

Avocado Dip
Sunnydale
29

11
3
5
210
2
0
1

0
0


0
0

```

```ruby
require 'nom/xml'

# load the source document as normal
doc = Nokogiri::XML my_source_document

doc.set_terminology do |t|
t.name

t.vitamins do |v|
v.a
v.c
end

t.minerals do |m|
m.calcium :path => 'ca'
m.iron :path => 'fe'
end
end

doc.nom!

doc.name.text == 'Avocado Dip'
doc.minerals.calcium.text == '0'
```