Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xml::smart::dtd(3pm) [debian man page]

XML::Smart::DTD(3pm)					User Contributed Perl Documentation				      XML::Smart::DTD(3pm)

NAME
XML::Smart::DTD - 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. SEE ALSO
XML::Smart, XML::DTDParser. AUTHOR
Graciliano M. P. <gm@virtuasites.com.br> I will appreciate any type of feedback (include your opinions and/or suggestions). ;-P THANKS
Thanks to Jenda@Krynicky.cz http://Jenda.Krynicky.cz that is the author of XML::DTDParser. COPYRIGHT
The DTD parser was based on XML-DTDParser-1.7 by Jenda@Krynicky.cz http://Jenda.Krynicky.cz This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2004-09-01 XML::Smart::DTD(3pm)

Check Out this Related Man Page

XML::Doctype(3pm)					User Contributed Perl Documentation					 XML::Doctype(3pm)

NAME
XML::Doctype - A DTD object class SYNOPSIS
# To parse an external DTD at compile time, useful when # using XML::ValidWriter use XML::Doctype NAME => 'FooML', SYSTEM_ID => 'FooML.dtd' ; use XML::Doctype NAME => 'FooML', DTD_TEXT => $dtd ; # Parsing at run-time $doctype = XML::Doctype->new( 'FooML', SYSTEM_ID => 'FooML.dtd' ) ; # or $doctype = XML::Doctype->new() ; $doctype->parse( 'FooML', 'FooML.dtd' ) ; # Saving the parsed object open( PM, ">FooML/DTD/v1_000.pm" ) or die $! ; print PM $doctype->as_pm( 'FooML::DTD::v1_000' ) ; # Using a saved parsed DTD use FooML::DTD::v1_000 ; $doctype = FooML::DTD::v1_000->new() ; DESCRIPTION
This module parses DTDs and allows them to be saved as .pm files and reloaded. The ability to save and reload is intended to aid in packaging parsed DTDs with XML tools so that XML::Parser need not be installed. STATUS
This module is alpha code. It's developed enough to support XML::ValidWriter, but need a lot of work. Some big things that are lacking are: o methods or objects to build / traverse the DTD o XML::Doctype::ELEMENT o XML::Doctype::ATTLIST o XML::Doctype::ENITITY METHODS
new $doctype = XML::Doctype->new() ; $doctype = XML::Doctype->new( 'FooML', DTD_TEXT => $doctype_text ) ; $doctype = XML::Doctype->new( 'FooML', SYSTEM_ID => 'FooML.dtd' ) ; name $name = $doctype->name() ; Sets/gets the name. parse_dtd $doctype->parse_dtd( $name, $doctype_text ) ; $doctype->parse_dtd( $name, $doctype_text, 'internal' ) ; Parses the text of a DTD from a scalar. $name is used to indicate the name of the DOCTYPE, and thus the root node. The DTD is considered to be external unless the third parameter is TRUE. parse_dtd_file $doctype->parse_dtd_file( $name, $system_id [, $public_id] ) ; $doctype->parse_dtd_file( $name, $system_id [, $public_id], 'internal' ) ; Parses a DTD from a file. Eventually will support full URL syntax. $public_id is ignored for now, and $system_id is used to locate the DTD. This routine requires XML::Parser. XML::Parser is not loaded at any other time and is not needed to use the resulting DTD object. The DTD is considered to be external unless the fourth parameter is TRUE. $doctype->parse_dtd_file( $name, $system_id, $p_id, 'internal' ) ; $doctype->parse_dtd_file( $name, $system_id, undef, 'internal' ) ; system_id $system_id = $doctype->system_id() ; Sets/gets the system ID. public_id $public_id = $doctype->public_id() ; Sets/gets the public_id. element_decl $elt_decl = $doctype->element_decl( $name ) ; Returns the XML::Doctype:Element object associated with $name. These can be defined by <!ELEMENT> tags or undefined, which can happen if they were just referred-to by <!ELEMENT> or <!ATTLIST> tags. element_names Returns an unsorted list of element names. This list includes names that are declared and undeclared (but referred to in element declarations or attribute definitions). as_pm open( PM, "FooML/DTD/v1_001.pm" ) or die $! ; print PM $doctype->as_pm( 'FooML::DTD::v1_001' ) or die $! ; close PM or die $! ; Then, later: use FooML::DTD::v1_001 ; # Do *not* use () as a parameter list! Returns string containing the DTD as an independant module, allowing the DTD to be parsed in the development environment and shipped as Perl code, so that the target environment need not have XML::Parser installed. This is useful for XML creation-only tools and as an efficiency tuning measure if you will be rereading the same set of DTDs over and over again. import use use XML::Doctype NAME => 'FooML', SYSTEM_ID => 'dtds/FooML.dtd' ; import() constructs a default DTD object for the calling package so that XML::ValidWriter's functional interface can use it. If XML::Doctype is subclassed, the subclasses' constructor is called with all parameters. SUBCLASSING
This object uses the fields pragma, so you should use base and fields for any subclasses. AUTHOR
Barrie Slaymaker <barries@slaysys.com> COPYRIGHT
This module is Copyright 2000, 2005 Barrie Slaymaker. All rights reserved. This module is licensed under your choice of the Artistic, BSD or General Public License. perl v5.12.4 2011-09-15 XML::Doctype(3pm)
Man Page