DESCRIPTION
This will parse DTD and provides methods to access the information stored in the DTD.USAGE
use XML::Smart::DTD ; my $dtd = XML::Smart::DTD->new('some.dtd') ; if ( $dtd->child_exists('tag1','subtag1') ) { ... } use Data::Dumper ; print Dumper( $dtd->tree ) ;
new
METHODS
attr_exists ( TAG , ATTR )
Return TRUE if the attribute exists in the element TAG.child_exists ( TAG , CHILD )
Return TRUE if the child exists in the element TAG.elem_exists ( TAG )
Return TRUE if the element TAG exists.error
Return the error list.get_attr_def ( TAG , ATTR )
Return the default value of an attributeget_attr_type ( TAG , ATTR )
Return the attribute type.get_attr_values ( TAG , ATTR )
Return the defined values of an attribute.get_attrs ( TAG )
Return the attribute list of a element.get_attrs_req ( TAG )
Return the required attribute list of a element.get_childs ( TAG )
Return the child list of an element.get_childs_req ( TAG )
Return the required child list of an element.get_elem_opt ( TAG )
Return the occurrence option of an element:
! REQUIRED AND ONLY ONE MATCH + 1 or more * 0 or more ? 0 or 1
get_elem_child_opt ( TAG , CHILD )
Same of get_elem_opt() but this element as a child of an element.is_attr_fix ( TAG , ATTR )
Return TRUE if an attribute is FIXED.is_attr_req ( TAG , ATTR )
Return TRUE if an attribute is REQUIRED.is_elem_any ( TAG )
Return TRUE if an element is ANY.is_elem_child_multi ( TAG , CHILD )
Return TRUE if an element can have multiple occurrences as a child of TAG.is_elem_child_opt ( TAG , CHILD )
Return TRUE if an element is optional as a child of TAG.is_elem_child_req ( TAG , CHILD )
Return TRUE if an element is optional as a child of TAG.is_elem_child_uniq ( TAG , CHILD )
Return TRUE if an element is required and unique as a child of TAG.is_elem_pcdata ( TAG )
Return TRUE if an element is PCDATA (have content).is_elem_empty ( TAG )
Return TRUE if an element is EMPTY (doesn't have attributes, content or children).is_elem_multi ( TAG )
Return TRUE if an element can have multiple occurrences globally.is_elem_opt ( TAG )
Return TRUE if an element is optional globally.is_elem_parent ( TAG , @PARENTS )
Return TRUE if the list of @PARENTS can be parent of element TAG.is_elem_req
Return TRUE if an element is required globally.is_elem_uniq
Return TRUE if an element is unique and required globally.root
Return the root name of the DTD.tree
Return the HASH tree of the DTD.AUTHOR
Graciliano M. P. <[email protected]>I will appreciate any type of feedback (include your opinions and/or suggestions). ;-P
COPYRIGHT
The DTD parser was based on XML-DTDParser-1.7 by [email protected] http://Jenda.Krynicky.czThis program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.