Texinfo::Convert::NodeNameNormalization
***************************************

NAME
====

Texinfo::Convert::NodeNameNormalization - Normalize and transliterate Texinfo trees

SYNOPSIS
========

  use Texinfo::Convert::NodeNameNormalization qw(normalize_node
                                              transliterate_texinfo);

  my $normalized = normalize_node({'contents' => $node_contents});

  my $file_name = transliterate_texinfo({'contents'
                                            => $section_contents});

DESCRIPTION
===========

Texinfo::Convert::NodeNameNormalization allows to normalize node names, with normalize_node following the specification described in the Texinfo manual for HTML Xref.  This is usefull each time one want a unique identifier for Texinfo content that is only composed of letter, digits, - and _.  In Texinfo::Parser normalize_node is used for node, floats and anchor names normalization, but also float types @acronym and @abbr first argument.

It is also possible to transliterate non ascii letters, instead of mangling them, with transliterate_texinfo, losing the uniqueness feature of normalized node names.

METHODS
=======

$normalized = normalize_node($tree)

     The Texinfo $tree is returned as a string, normalized as described in the Texinfo manual for HTML Xref.

     The result will be poor for Texinfo trees which are not @-command arguments (on an @-command line or in braces), for instance if the tree contains @node or block commands.

$transliterated = transliterate_texinfo($tree, $no_unidecode)

     The Texinfo $tree is returned as a string, with non ascii letters transliterated as ascii, but otherwise similar with normalize_node output.  If the optional $no_unidecode argument is set, Text::Unidecode is not used for characters whose transliteration is not built-in.

AUTHOR
======

Patrice Dumas, <pertusus@free.fr>