Constructors
$obj->new(%options)
Accessors
$obj->add( $schema, [$schemas] )
Add XML::Compile::Schema::Instance objects to the internal knowledge of this object.
$obj->allSchemas()
Returns a list of all known schema instances.
$obj->doesExtend($exttype, $basetype)
Returns true when $exttype extends $basetype.
$obj->find($kind, $address|<$uri,$name>, %options)
Lookup the definition for the specified $kind of definition: the name of a global element, global
attribute, attributeGroup or model group. The $address is constructed as " {uri}name " or as
separate $uri and $name.
-Option --Default
include_used <true>
include_used => BOOLEAN
$obj->findID( $address|<$uri,$id> )
Lookup the definition for the specified id, which is constructed as " uri#id " or as separate $uri
and $id.
$obj->findSgMembers($class, $type)
Lookup the substitutionGroup alternatives for a specific element, which is an $type (element full
name) of form " {uri}name " or as separate URI and NAME. Returned is an ARRAY of HASHes, each
describing one type (as returned by find())
$obj->findTypeExtensions($type)
This method can be quite expensive, with large and nested schemas.
$obj->importIndex(%options)
[1.41] Returns a HASH with namespaces which are declared in all currently known schema's, pointing to
ARRAYs of the locations where the import should come from.
In reality, the locations mentioned are often wrong. But when you think you want to load all schema's
dynamically at start-up (no, you do not want it but it is a SOAP paradigma) then you get that info
easily with this method.
$obj->list()
Returns the list of name-space URIs defined.
$obj->namespace($uri)
Returns a list of XML::Compile::Schema::Instance objects which have the $uri as target namespace.
$obj->printIndex( [$fh], %options )
Show all definitions from all namespaces, for debugging purposes, by default the selected.
Additional %options are passed to XML::Compile::Schema::Instance::printIndex().
-Option --Default
include_used <true>
namespace <ALL>
include_used => BOOLEAN
Show also the index from all the schema objects which are defined to be usable as well; which were
included via use().
namespace => URI|ARRAY-of-URI
Show only information about the indicate namespaces.
example:
my $nss = $schema->namespaces;
$nss->printIndex(\*MYFILE);
$nss->printIndex(namespace => "my namespace");
# types defined in the wsdl schema
use XML::Compile::SOAP::Util qw/WSDL11/;
$nss->printIndex(\*STDERR, namespace => WSDL11);
$obj->schemas($uri)
We need the name-space; when it is lacking then import must help, but that must be called explicitly.
$obj->use($object)
Use any other XML::Compile::Schema extension as fallback, if the find() does not succeed for the
current object. Searches for definitions do not recurse into the used object.
Returns the list of all used OBJECTS. This method implements XML::Compile::Schema::useSchema().