View on
Mark Overmeer > XML-Compile-1.36 > XML::Compile::Schema::Instance



Annotate this POD


New  1
Open  4
View/Report Bugs
Module Version: 1.36   Source   Latest Release: XML-Compile-1.58


XML::Compile::Schema::Instance - 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 NAMESPACE (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([FILEHANDLE], OPTIONS)

Prints an overview over the defined objects within this schema to the selected FILEHANDLE.

 -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).


This module is part of XML-Compile distribution version 1.36, built on August 10, 2013. Website:

Other distributions in this suite: XML::Compile, XML::Compile::SOAP, XML::Compile::SOAP12, XML::Compile::SOAP::Daemon, XML::Compile::SOAP::WSA, XML::Compile::C14N, XML::Compile::WSS, XML::Compile::WSS::Signature, XML::Compile::Tester, XML::Compile::Cache, XML::Compile::Dumper, XML::Compile::RPC, XML::Rewrite and XML::LibXML::Simple.

Please post questions or ideas to the mailinglist at . For live contact with other developers, visit the #xml-compile channel on


Copyrights 2006-2013 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

syntax highlighting: