package XML::Toolkit::RNG::Define;
use Moose;
use namespace::autoclean;
use XML::Toolkit;
has 'choice_collection' => (
isa => 'ArrayRef[XML::Toolkit::RNG::Choice]',
is => 'ro', init_arg => 'choices',
traits => [qw(XML Array)],
lazy => 1,
auto_deref => 1,
default => sub { [] },
handles => { add_choice => ['push'] }, description => {
Prefix => "",
LocalName => "choice",
node_type => "child",
Name => "choice",
NamespaceURI => "http://relaxng.org/ns/structure/1.0",
sort_order => 0,
},
);
has 'element_collection' => (
isa => 'ArrayRef[XML::Toolkit::RNG::Element]',
is => 'ro', init_arg => 'elements',
traits => [qw(XML Array)],
lazy => 1,
auto_deref => 1,
default => sub { [] },
handles => { add_element => ['push'] }, description => {
Prefix => "",
LocalName => "element",
node_type => "child",
Name => "element",
NamespaceURI => "http://relaxng.org/ns/structure/1.0",
sort_order => 1,
},
);
has 'interleave_collection' => (
isa => 'ArrayRef[XML::Toolkit::RNG::Interleave]',
is => 'ro', init_arg => 'interleaves',
traits => [qw(XML Array)],
lazy => 1,
auto_deref => 1,
default => sub { [] },
handles => { add_interleave => ['push'] }, description => {
Prefix => "",
LocalName => "interleave",
node_type => "child",
Name => "interleave",
NamespaceURI => "http://relaxng.org/ns/structure/1.0",
sort_order => 2,
},
);
has 'name' => (
isa => 'Str',
is => 'ro',
traits => [ 'XML'],
description => {
Prefix => "",
LocalName => "name",
node_type => "attribute",
Name => "name",
NamespaceURI => "",
sort_order => 3,
},
);
has 'optional_collection' => (
isa => 'ArrayRef[XML::Toolkit::RNG::Optional]',
is => 'ro', init_arg => 'optionals',
traits => [qw(XML Array)],
lazy => 1,
auto_deref => 1,
default => sub { [] },
handles => { add_optional => ['push'] }, description => {
Prefix => "",
LocalName => "optional",
node_type => "child",
Name => "optional",
NamespaceURI => "http://relaxng.org/ns/structure/1.0",
sort_order => 4,
},
);
has 'zeroOrMore_collection' => (
isa => 'ArrayRef[XML::Toolkit::RNG::ZeroOrMore]',
is => 'ro', init_arg => 'zeroOrMores',
traits => [qw(XML Array)],
lazy => 1,
auto_deref => 1,
default => sub { [] },
handles => { add_zeroOrMore => ['push'] }, description => {
Prefix => "",
LocalName => "zeroOrMore",
node_type => "child",
Name => "zeroOrMore",
NamespaceURI => "http://relaxng.org/ns/structure/1.0",
sort_order => 5,
},
);
1;
__END__