MathML::Entities::Approximate - Returns approximated ASCII characters for XHTML+MathML Named Entities


MathML-Entities-Approximate documentation  | view source Contained in the MathML-Entities-Approximate distribution.

Index


NAME

Top

  MathML::Entities::Approximate - Returns approximated ASCII characters for XHTML+MathML Named Entities

SYNOPSIS

Top

A subclass of MathML::Entities that supplies ASCII-approximate characters for XHTML+MathML Named Entities.

  use lib (getpwnam('sdadmin'))[7] . '/perlib';
  use MathML::Entities::Approximate;

  $html    = '<strong>avanc&eacute;e</strong>';

  # convert to HTML character reference. Standard MathML::Entities
  $numeric = name2numbered($html)    # <strong>avanc&#x000E9;e</strong>

  # convert to standard ASCII
  $ascii   = name2approximated($html) # <strong>avancee</strong>

  # Muck around with the lookup table...
  MathML::Entities::Approximate::getSet(aacute);    # returns 'a'
  MathML::Entities::Approximate::getSet(aacute, z); # returns 'z'
  MathML::Entities::Approximate::getSet(aacute);    # now returns 'z'

DESCRIPTION

Top

MathML::Entities::Approximate is a content conversion filter for named XHTML+MathML entities. There are over two thousand named entities in the XHTML+MathML DTD, however only a fraction of them are variants on standard ASCII characters.

A string is parsed and every Named Entity is converted to a reasonable ASCII (7-bit ASCII set), or removed from the string.

FUNCTIONS

Top

There two functions, one of which is exported by default.

* name2approximated

(Exported by default)

XHTML+MathML named entities in the argument of name2approximated() are replaced by the corresponding 7-bit ASCII character. Any entitiy which cannot be approximated is removed.

* getSet

(Never Exported)

This method is provided to allow users to extend the internal %APPROXIMATES lookup table: either alter an existing entry [for the life of the process] or add new entities.

Of course, for a large update to the lookup table, you have the option of:

  %MathML::Entities::Approximate:APPROXIMATES = (
    %MathML::Entities::Approximate:APPROXIMATES,
    'foobar' => 'fb',         # LOWERCASE WELL SCUNNERED
    'FooBar' => 'FB',         # UPPERCASE WELL SCUNNERED
    'landrover' => 'landie',  # LOWERCASE PROPER MOTOR
    'LandRover' => 'Landie'   # UPPERCASE PROPER MOTOR
  );




AUTHOR

Top

Ian Stuart <Ian.Stuart@ed.ac.uk>

COPYRIGHT

Top

SEE ALSO

Top

MathML::Entities, HTML::Entities, HTML::Entities::Numbered, http://www.w3.org/TR/REC-html40/sgml/entities.html, http://www.w3.org/Math/characters/


MathML-Entities-Approximate documentation  | view source Contained in the MathML-Entities-Approximate distribution.