ValidatesXmlOf
Validates if a given string contains a valid xml and validates based on defined schema too.
Installation
Add this line to your application's Gemfile:
gem 'validates_xml_of'
And then execute:
$ bundle
Or install it yourself as:
$ gem install validates_xml_of
Usage
Rails
If you do not want to use xsd:
class Post < ActiveRecord::Base
...
validates :content, xml: true
...
end
And if you want to use xsd, you will need to define an initializer to setup a path for your schemas:
ValidatesXmlOf.setup do |configure|
config.schema_paths = "lib/xsds"
end
After, you need to set your validation to specify what schema you are looking for:
class Post < ActiveRecord::Base
...
# The schema must be in lib/xsds/Schema.xsd
validates :content, xml: { schema: 'Schema' }
...
end
PS: Coming soon, I will implement a generator to create this initializer
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/brunoarueira/validates_xml. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.