NAME
XML::DTD::ContentModel - Perl module representing an element content model in an XML DTD
SYNOPSIS
use XML::DTD::ContentModel;
my $cm = XML::DTD::ContentModel->new('(a,b*,(c|d)+)');
print $cm->treestring;
DESCRIPTION
XML::DTD::ContentModel is a Perl module representing an element content model in an XML DTD. The following methods are provided.
- new
-
my $cm = XML::DTD::ContentModel->new('(a,b*,(c|d)+)'); Construct a new XML::DTD::ContentModel object.
- isa
-
if (XML::DTD::ContentModel->isa($obj) { ... }
Test object type.
- children
-
my $objlst = $cm->children;
Return the list of child objects (subexpressions).
- element
-
my $name = $cm->element;
Return the element name if the object has no subexpressions.
- combineop
-
my $op = $cm->combineop;
Return the combination operator ("," or "|").
- occurop
-
my $op = $cm->occurop;
Return the occurrence operator ("?","+", or "*").
- isatomic
-
if ($cm->isatomic) { ... }
Determine whether the object is atomic (i.e. the model consists of a single element, ANY, EMPTY, or #PCDATA).
- childnames
-
my $nmlst = $cm->childnames; Return a list of contained elements.
- string
-
print $cm->string;
Return a string representation of the content model.
- treestring
-
print $cm->treestring;
Return a string representing the hierarchical structure of the model.
- writexmlelts
-
open(FH,'>file.xml'); my $xo = new XML::Output({'fh' => *FH}); $cm->writexmlelts($xo);
Write a component-specific part of the XML representation.
- type
-
my $typstr = $cm->type;
Determine the content specification type ('empty', 'any', 'mixed', or 'element').
- dfa
-
my $dfa = $cm->dfa;
Construct a Deterministic Finite Automaton to validate the content model.
SEE ALSO
XML::DTD, XML::DTD::Element, XML::DTD::Automaton
AUTHOR
Brendt Wohlberg <wohl@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Brendt Wohlberg
This library is available under the terms of the GNU General Public License (GPL), described in the GPL file included in this distribution.