XML validation: Difference between revisions
Content deleted Content added
No edit summary |
|||
Line 189: | Line 189: | ||
} |
} |
||
}</lang> |
}</lang> |
||
=={{header|Perl}}== |
|||
#!/usr/bin/env perl -T |
|||
use 5.018_002; |
|||
use warnings; |
|||
use Carp; |
|||
use English qw( -no_match_vars ); |
|||
use Try::Tiny; |
|||
use XML::LibXML; |
|||
our $VERSION = 1.000_000; |
|||
my $xmlschema = XML::LibXML::Schema->new( |
|||
string => <<'END' |
|||
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> |
|||
<xsd:element name="a" type="xsd:integer"/> |
|||
</xsd:schema> |
|||
END |
|||
); |
|||
my $parser = XML::LibXML->new(); |
|||
my $good_xml = $parser->parse_string('<a>5</a>'); |
|||
my $bad_xml = $parser->parse_string('<a>5<b>foobar</b></a>'); |
|||
for ( \$good_xml, \$bad_xml ) { |
|||
try { |
|||
$xmlschema->validate( ${$ARG} ); |
|||
} |
|||
finally { |
|||
if (@ARG) { |
|||
say "Not valid: @ARG"; |
|||
} |
|||
else { |
|||
say 'Valid'; |
|||
} |
|||
}; |
|||
} |
|||
{{out}} |
|||
<pre>Valid |
|||
Not valid: unknown-7fe99976a9a0:0: Schemas validity error : Element 'a': Element content is not allowed, because the type definition is simple.</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |