XML::Compile::Schema::Instance(3) Represents one schema


# Used internally by XML::Compile::Schema
my $schema = XML::Compile::Schema::Instance->new($xml);


This module collect information from one schema, and helps to process it.



$obj->new($top, %options)
Get's the top of an XML::LibXML tree, which must be a schema element. The tree is parsed: the information collected.

 -Option                --Default
  attribute_form_default  <undef>
  element_form_default    <undef>
  filename                undef
  source                  undef
  target_namespace        <undef>
attribute_form_default => 'qualified'|'unqualified'
element_form_default => 'qualified'|'unqualified'
Overrule the default as found in the schema. Many old schemas (like WSDL11 and SOAP11) do not specify the default in the schema but only in the text.
filename => FILENAME
When the source is some file, this is its name.
source => STRING
An indication where this information came from.
target_namespace => NAMESPACE
Overrule or set the target namespace.


Returns a list of all defined attribute groups.
Returns a lost of all globally defined attribute names.
Returns a list with all complexType names.
Returns one global element definition.
Returns a list of all globally defined element names.
Returns a list of all defined model groups.
Returns a HASH with the base-type as key and an ARRAY of types which extend it.
Returns a list with all simpleType names.
A schema can defined more than one target namespace, where recent schema spec changes provide a targetNamespace attribute.
Returns the type definition with the specified name.
Returns a list of all simpleTypes and complexTypes


$obj->find($kind, $fullname)
Returns the definition for the object of $kind, with $fullname.

example: of find

  my $attr = $instance->find(attribute => '{myns}my_global_attr');
Returns a list of all schemaLocations specified with the import $ns (one of the values returned by imports()).
Returns a list with all namespaces which need to be imported.
Returns a list of all schemaLocations which where specified with include statements.
$obj->printIndex( [$fh], %options )
Prints an overview over the defined objects within this schema to the selected $fh.

 -Option       --Default
  kinds          <all>
  list_abstract  <true>
kinds => KIND|ARRAY-of-KIND
Which KIND of definitions would you like to see. Pick from "element", "attribute", "simpleType", "complexType", "attributeGroup", and "group".
list_abstract => BOOLEAN
Show abstract elements, or skip them (because they cannot be instantiated anyway).


Copyrights 2006-2016 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html