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.
- $obj->attributeGroups()
- Returns a list of all defined attribute groups.
- $obj->attributes()
- Returns a lost of all globally defined attribute names.
- $obj->complexTypes()
- Returns a list with all complexType names.
- $obj->element($uri)
- Returns one global element definition.
- $obj->elements()
- Returns a list of all globally defined element names.
- $obj->filename()
- $obj->groups()
- Returns a list of all defined model groups.
- $obj->schema()
- $obj->schemaInstance()
- $obj->schemaNamespace()
- $obj->sgs()
- Returns a HASH with the base-type as key and an ARRAY of types which
extend it.
- $obj->simpleTypes()
- Returns a list with all simpleType names.
- $obj->source()
- $obj->targetNamespace()
- $obj->tnses()
- A schema can defined more than one target namespace, where recent schema
spec changes provide a targetNamespace attribute.
- $obj->type($uri)
- Returns the type definition with the specified name.
- $obj->types()
- 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');
- $obj->importLocations($ns)
- Returns a list of all schemaLocations specified with the import
$ns (one of the values returned by
imports()).
- $obj->imports()
- Returns a list with all namespaces which need to be imported.
- $obj->includeLocations()
- 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).
This module is part of XML-Compile distribution version 1.63, built on July 02,
2019. Website: http://perl.overmeer.net/xml-compile/
Copyrights 2006-2019 by [Mark Overmeer <markov@cpan.org>]. 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://dev.perl.org/licenses/