[Xml-compile] Which elemet produces error: illegal value `' for
	type {http://www.w3.org/2001/XMLSchema}float ?
    Mark Overmeer 
    mark at overmeer.net
       
    Tue Nov 19 11:57:57 GMT 2013
    
    
  
* Radek Šťastný (dedkus at gmail.com) [131119 11:43]:
Taken from subject:
       error: illegal value `' for type {http://www.w3.org/2001/XMLSchema}float
The full error message contains a path (some kind of location indication) if
there is more to say about it.  It seems the element you read only has a type,
not a name.  It happens.
Apparently, the message expects a float but find a blank field, hence
validation fails.
> code looks like this (simplified)
> 
>     my $xsd = 'file.xsd';
>     my $schema = XML::Compile::Schema->new();
>     $schema->addSchemaDirs('somedir');
>       $schema->importDefinitions("$xsd-file");
You do not always need the addSchemaDirs().  Probably this is enough in
your case:
        my $schema = XML::Compile::Schema->new("$somedir/$xsd");
Better start with ::Cache
        my $schema = XML::Compile::Cache->new("$somedir/$xsd"
          , prefixes => [...]
          );
>       my $xml = "$path/$file";
>       my $reader = $schema->compile (
>          READER => 'rootelement',
>          elements_qualified => 'NONE');
do you really need to overrule the elementFormDefault of the schema?
>     my $data=$reader->("$xml");
or directly $reader->("$path/$file");
> thanks for help, documentation is complex and above my understandig a
> little.
XML Schema's are quite large, with too many (mis)features.  But you
probably do not need much.
-- 
Regards,
               MarkOv
------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net
    
    
More information about the Xml-compile
mailing list