[Xml-compile] Accessing schemaLocation attribute url values
inside <include> elements
Mark Overmeer
mark at overmeer.net
Fri Jul 16 11:04:38 GMT 2010
* Morad IGMIR (migmir at alliancemca.com) [100707 10:22]:
> Is there a method or clever hack to get a hold of
> The urls in the schemaLocation of include elements such as these ?
In general (>50% of the WSDLs), these schemaLocations are wrong.
> I'd like to be able to do something like this :
> $wsdl->importDefinitions( @{ $wsdl->{schema}{import}{schemaLocation} } );
One WSDL can have multiple schemas...
foreach my $fragment ($wsdl->namespaces->allSchemas)
{ # $fragment is an XML::Compile::Schema::Instance
my @urls
= ( $fragment->includeLocations
, $fragment->importLocations
);
}
> Which would allow me to mind about the wsdl only, not urls inside code or
> config files.
Knowing that these are your own schema's. So, you could do:
my @xsds = glob "$somewhere/*.xsd";
$wsdl->importDefinitions(\@xsds);
--
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