| Module Info
| Add a review of Data-Rx
Powerful data validation library, that can be used in several different languages (in theory, though the Perl implementation is the most complete.)
I've been using Data::Rx to parse inputs and validate outputs for the Open311 spec, and the process has been mostly great. I didn't want to just use an XML validation library, as the spec allows output in both XML and JSON format, so this really hit the spot. Most concepts are quite easy to model, though some complex schemas can't be modelled with the basic building blocks, and need to be written as plugins in Perl (which turns out to be easier than expected, and quite good fun.)
The documentation is a weak point, given how sophisticated this kind of recursive typechecking can be, but hopefully latest release's contributed docs/examples help a little with that.
It is unfortunately only a poorly documented study design. For practical purposes not currently compatible. But it has potential to become something useful.
I've been mulling over writing this kind of module (planning to call it Schema::Nested or something), but never got around to do it. Thankfully somebody stepped up and did it! Keep up the good work, will be looking forward to future releases (especially i'm hoping for some subclassing mechanism, for better reuse of schemas).