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}}==