logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

XML::Smart::DTD - DTD parser for XML::Smart.

Author

       Graciliano M. P. <gm@virtuasites.com.br>

       I will appreciate any type of feedback (include your opinions and/or suggestions). ;-P

Description

       This will parse DTD and provides methods to access the information stored in the DTD.

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.

Name

       XML::Smart::DTD - DTD parser for XML::Smart.

New

See Also

       XML::Smart, XML::DTDParser.

Thanks

       Thanks to Jenda@Krynicky.czhttp://Jenda.Krynicky.cz that is the author of XML::DTDParser.

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 ) ;

See Also