SYNOPSIS

 use Geo::GML ':gml321';

 my $gml = Geo::GML->new('READER', version => '3.2.1');

 # see XML::Compile::Cache on how to use readers and writers
 my $data = $gml->reader("gml:GridCoverage")->($xmlmsg);
 my $xml  = $gml->writer($sometype)->($doc, $perldata);

 # or without help of the cache, XML::Compile::Schema
 my $r    = $gml->compile(READER => $sometype);
 my $data = $r->($xml);

 # super simple
 my ($type, $data) = Geo::GML->from('data.xml');

 # overview (large) on all defined elements
 $gml->printIndex;

 # To discover the perl datastructures to be passed
 print $gml->template("gml:Surface");

 # autoloaded logic to convert Geo::Point into GML
 $data->{...somewhere...} = $gml->GPtoGML($objects);

See SYNOPSIS in XML::Compile::Cache

DESCRIPTION

Provides access to the GML definitions specified in XML. The details about GML structures can differ, and therefore you should be explicit which versions you understand and produce.

If you need the <b>most recent</b> version of GML, then you get involved with the ISO19139 standard. See CPAN module Geo::ISO19139.

When you need GML3.3 features, then please contact me

See DESCRIPTION in XML::Compile::Schema

DETAILS

Distribution collection overview

See Distribution collection overview in XML::Compile

Comparison

See Comparison in XML::Compile

Collecting definitions

See Collecting definitions in XML::Compile::Schema

Organizing your definitions

See Organizing your definitions in XML::Compile::Schema

Addressing components

See Addressing components in XML::Compile::Schema

Representing data-structures

See Representing data-structures in XML::Compile::Schema

simpleType

See simpleType in XML::Compile::Schema

complexType/simpleContent

See complexType/simpleContent in XML::Compile::Schema

complexType and complexType/complexContent

See complexType and complexType/complexContent in XML::Compile::Schema

Manually produced XML NODE

See Manually produced XML NODE in XML::Compile::Schema

Occurence

See Occurence in XML::Compile::Schema

Default Values

See Default Values in XML::Compile::Schema

Repetative blocks

See Repetative blocks in XML::Compile::Schema

List type

See List type in XML::Compile::Schema

Using substitutionGroup constructs

See Using substitutionGroup constructs in XML::Compile::Schema

Wildcards via any and anyAttribute

See Wildcards via any and anyAttribute in XML::Compile::Schema

ComplexType with "mixed" attribute

See ComplexType with "mixed" attribute in XML::Compile::Schema

hexBinary and base64Binary

See hexBinary and base64Binary in XML::Compile::Schema

Schema hooks

See Schema hooks in XML::Compile::Schema

Defining hooks

See Defining hooks in XML::Compile::Schema

General syntax

See General syntax in XML::Compile::Schema

Hooks on matching types

See Hooks on matching types in XML::Compile::Schema

Hooks on extended type

See Hooks on extended type in XML::Compile::Schema

Hooks on matching ids

See Hooks on matching ids in XML::Compile::Schema

Hooks on matching paths

See Hooks on matching paths in XML::Compile::Schema

Typemaps

See Typemaps in XML::Compile::Schema

Private variables in objects

See Private variables in objects in XML::Compile::Schema

Typemap limitations

See Typemap limitations in XML::Compile::Schema

Handling xsi:type

See Handling xsi:type in XML::Compile::Schema

Key rewrite

See Key rewrite in XML::Compile::Schema

key_rewrite via table

See key_rewrite via table in XML::Compile::Schema

Rewrite via function

See Rewrite via function in XML::Compile::Schema

key_rewrite when localNames collide

See key_rewrite when localNames collide in XML::Compile::Schema

Rewrite for convenience

See Rewrite for convenience in XML::Compile::Schema

Pre-defined key_rewrite rules

See Pre-defined key_rewrite rules in XML::Compile::Schema