Skip to content


Subversion checkout URL

You can clone with
Download ZIP
ruby xpointer implementation
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A ruby xpointer implementation. Hopefully this is going to be the first implementation to support most of the XPointer schemes at In particular support for one of the string-range() schemes. For a description of the kinds of XML this will support see

This is my first attemt to write ruby, so expect some language-learning related refacting to occur.

== Things that seem to work

  • most of an xinclude implementation
  • xi:fallback
  • HTTP, HTTPS, FTP and file URIs supported
  • Main the processes standard-in to standard-out.
  • xpointer element() scheme (with a handful of test cases)
  • xpointer string-range() scheme (with a handful of test cases, none spanning tags)

== Things that don't appear to work

=== Xinclude

  • xml:base URL interpretation
  • xml:lang fix up
  • namespace issues
  • content negotiation (attributes accepted but ignored)

=== Xpointer

  • multiple schemes
  • a trivial number and scope of unit tests

== The Future ==

My plan is to give it up as too hard if I don't have the most complete xpointer suite within ~ two months. Also in that timeframe, I'll know whether ruby is a language I'm comfortable with.

=== The competition

The following are other implementations I'm aware of, to the best of my knowledge these don't include functional string-range() schemes.

Something went wrong with that request. Please try again.