NAME

XML::Compile::Schema::Instance - Represents one schema

INHERITANCE

SYNOPSIS

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

DESCRIPTION

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

METHODS

Constructors

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

Accessors

$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->groups

    Returns a list of all defined model groups.

$obj->ids

    Returns a list of all found ids.

$obj->schemaInstance

$obj->schemaNamespace

$obj->simpleTypes

    Returns a list with all simpleType names.

$obj->substitutionGroupMembers(ELEMENT)

    The expanded ELEMENT name is used to collect a set of alternatives which are in this substitutionGroup (super-class like alternatives).

$obj->substitutionGroups

    Returns a list of all named substitutionGroups.

$obj->targetNamespace

$obj->type(URI)

    Returns the type definition with the specified name.

$obj->types

    Returns a list of all simpleTypes and complexTypes

Index

$obj->find(KIND, LOCALNAME)

    Returns the definition for the object of KIND, with LOCALNAME.

    example: of find

    my $attr = $instance->find(attribute => 'myns#my_global_attr');

$obj->printIndex([FILEHANDLE])

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

SEE ALSO

This module is part of XML-Compile distribution version 0.57, built on November 05, 2007. Website: http://perl.overmeer.net/xml-compile/

LICENSE

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