- my $f1 = substr($result, 0, 6);
- my $f6 = substr($result, 6, 1);
- my $f710 = substr($result, 7, 4);
- my $f1114 = substr($result, 11, 4);
- my $f1517 = substr($result, 15, 3);
- my $f1821 = substr($result, 18, 4);
- my $f22 = substr($result, 22, 1);
- my $f23 = substr($result, 23, 1);
- my $f2427 = substr($result, 24, 4);
- my $f28 = substr($result, 28, 1);
- my $f29 = substr($result, 29, 1);
- my $f30 = substr($result, 30, 1);
- my $f31 = substr($result, 31, 1);
- my $f33 = substr($result, 33, 1);
- my $f34 = substr($result, 34, 1);
- my $f3537 = substr($result, 35, 3);
- my $f38 = substr($result, 38, 1);
- my $f39 = substr($result, 39, 1);
-
- # bug 2563
- $f710 = "" if ($f710 =~ /^\s*$/);
- $f1114 = "" if ($f1114 =~ /^\s*$/);
-
- if ((!$f1) || ($f1 =~ m/ /)) {
- $f1 = $dateentered;
+ my $errorXml = '';
+ # Check if the xml, xsd exists and is validated
+ my $dir = C4::Context->config('intrahtdocs') . '/prog/' . $template->param('lang') . '/modules/cataloguing/value_builder/';
+ if (-r $dir . 'marc21_field_008.xml') {
+ my $doc = XML::LibXML->new->parse_file($dir . 'marc21_field_008.xml');
+ if (-r $dir . 'marc21_field_CF.xsd') {
+ my $xmlschema = XML::LibXML::Schema->new(location => $dir . 'marc21_field_CF.xsd');
+ eval {
+ $xmlschema->validate( $doc );
+ };
+ $errorXml = 'Can\'t validate the xml data from ' . $dir . 'marc21_field_008.xml' if ($@);
+ }
+ } else {
+ $errorXml = 'Can\'t read the xml file ' . $dir . 'marc21_field_008.xml';