XML::Smart::DTD(3) DTD parser for XML::Smart.

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 attribute

get_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

THANKS

Thanks to [email protected] http://Jenda.Krynicky.cz that is the author of XML::DTDParser.

COPYRIGHT

The DTD parser was based on XML-DTDParser-1.7 by [email protected] http://Jenda.Krynicky.cz

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.