Sha256: 77e66d1c2fd13220131ebc538f235d1d363d86615b2155cca5c9abe865eafdae

Contents?: true

Size: 572 Bytes

Versions: 1

Compression:

Stored size: 572 Bytes

Contents

require "#{File.dirname(__FILE__)}/../ext/xml/libxml" unless defined?(XML)

xp = XML::Parser.new
xp.string = '<?xml version="1.0" encoding="utf-8"?>
<root><head a="ee" id="1">ass<buzz/></head><descr>really big ass</descr></root>'

doc = xp.parse

dtd = XML::Dtd.new('
<!ELEMENT root (head, descr)>
<!ELEMENT head (#PCDATA)>
<!ATTLIST head
  id NMTOKEN #REQUIRED
  a CDATA #IMPLIED
>
<!ELEMENT descr (#PCDATA)>
')

if doc.validate(dtd) { |message, error| puts "#{error ? 'error' : 'warning'} : #{message}" } 
  puts "validation passed"
else
  puts "validation failed"
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
libxml-ruby-0.3.6 tests/dtd-test.rb