Provided by: libparse-man-perl_0.03-2_all
NAME
"Parse::Man::DOM" - parse nroff-formatted manpages and return a DOM tree
SYNOPSIS
use Parse::Man::DOM; my $parser = Parse::Man::DOM->new; my $document = $parser->from_file( "my_manpage.1" ); print "The manpage name is", $document->meta( "name" ), "\n";
DESCRIPTION
This subclass of Parse::Man returns an object tree representing the parsed content of the input file. The returned result will be an object of the "Parse::Man::DOM::Document" class, which itself will contain other objects nested within it.
Parse::Man::DOM::Document
Represents the document as a whole. meta $meta = $document->meta( $key ) Returns a "Parse::Man::DOM::Metadata" object for the named item of metadata. • name The page name given to the ".TH" directive. • section The section number given to the ".TH" directive. paras @paras = $document->paras Returns a list of "Parse::Man::DOM::Heading" or "Parse::Man::DOM::Para" or subclass objects, containing the actual page content.
Parse::Man::DOM::Metadata
Represents a single item of metadata about the page. name $name = $metadata->name The string name of the metadata value $value = $metadata->value The string value of the metadata
Parse::Man::DOM::Heading
Represents the contents of a ".SH" or ".SS" heading level $level = $heading->level The heading level number; 1 for ".SH", 2 for ".SS" text $text = $heading->text The plain text string of the heading title
Parse::Man::DOM::Para
Represents a paragraph of formatted text content. Will be one of the following subclasses. filling $filling = $para->filling Returns true if filling (".fi") is in effect, or false if no-filling (".nf") is in effect. body $chunklist = $para->body Returns a "Parse::Man::DOM::Chunklist" to represent the actual content of the paragraph. indent $indent = $para->indent Returns the indentation size in column count, if defined.
Parse::Man::DOM::Para::Plain
Represent a plain (".P" or ".PP") paragraph. type $type = $para->type Returns "plain".
Parse::Man::DOM::Para::Term
Represents a term paragraph (".TP"). type $type = $para->type Returns "term". term $chunklist = $para->term Returns a "Parse::Man::DOM::Chunklist" for the defined term name. definition $chunklist = $para->definition Returns a "Parse::Man::DOM::Chunklist" for the defined term definition.
Parse::Man::DOM::Para::Indent
Represents an indented paragraph (".IP"). type $type = $para->type Returns "indent". marker $marker = $para->marker Returns the indentation marker text, if defined.
Parse::Man::DOM::Para::Example
Represents an example paragraph (".EX" / ".EE"). type $type = $para->type Returns "example".
Parse::Man::DOM::Chunklist
Contains a list of "Parse::Man::DOM::Chunk" objects to represent paragraph content. chunks @chunks = $chunklist->chunks Returns a list of "Parse::Man::DOM::Chunk" objects.
Parse::Man::DOM::Chunk
Represents a chunk of text with a particular format applied. text $text = $chunk->text The plain string value of the text for this chunk. font $font = $chunk->font The font name in effect for this chunk. One of "R", "B", "I" or "SM". size $size = $chunk->size The size of this chunk, relative to the paragraph base of 0.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>