Skip to content

Xommelier: The XML Sommelier. XML←→Ruby mapper with batteries (Atom, RSS, etc) included.

License

Notifications You must be signed in to change notification settings

alsemyonov/xommelier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

47383a6 · Oct 7, 2018
Mar 5, 2018
Aug 29, 2013
Apr 6, 2017
Oct 7, 2018
Mar 5, 2018
Jul 5, 2016
Apr 6, 2017
Aug 16, 2011
Jul 5, 2016
Oct 7, 2018
Mar 5, 2018
Apr 6, 2017
Jul 5, 2016
Apr 6, 2017
Apr 6, 2017
Jul 5, 2016
Oct 7, 2018

Repository files navigation

Xommelier is an XML Sommelier

Overview

Xommelier is an XML Object Mapper. You could describe some namespace (e.g. Atom) in ruby DSL and use it for parsing XML to Ruby objects or for building XML from Ruby objects.

Look into {Xommelier::Atom}, {Xommelier::Atom::Threading}, and {Xommelier::Atom::History} module for implementation of http://www.w3.org/2005/Atom namespace, Atom Threading, and Feed Paging and Archiving extensions

Project links

Examples

See examples dir for examples of:

  • reading an Atom feed;
  • building an Atom feed;
  • building an Atom feed from hash;

Built in XML namespaces:

  1. {Xommelier::Atom} - http://www.w3.org/2005/Atom
  2. {Xommelier::Atom::Threading} - http://purl.org/syndication/thread/1.0
  3. {Xommelier::Atom::History} - http://purl.org/syndication/history/1.0
  4. {Xommelier::OpenSearch} - http://a9.com/-/spec/opensearch/1.1/

TODO

  • Rebuild on top of ROM
  • Validating built XML against RelaxNG
  • Converting XML Schema, RelaxNG, RelaxNG Compact and DTD into Xommelier Ruby DSL
  • ActiveRecord-like automatic loading of XML Schema, RelaxNG, RelaxNG Compact and DTD without needing to write it down into ruby code

Contributors

© Alex Semyonov, 2011-2017. See LICENSE for details

Bitdeli Badge