NAME

EntityRef.pm - Dereference Entity


SYNOPSIS

    use EntityRef;
    my $text = "EURO € ALPHA Α COPY ©\n";
    my $er = new EntityRef();
    $er->entity2hex( \$text );
    print $text, "\n";


DESCRIPTION


new()

    HTML/XML 用の実体参照の定義マップファイルを読み込みます。
    デフォルトでは HTMLlat1.ent、HTMLspecial.ent、HTMLsymbol.ent の
    3つの標準定義マップファイルを読み込みます。
    これらのファイルは EntityRef.pm と同じディレクトリに設置してください。
    new() の第1引数で定義マップファイルを指定することも可能です。

        my $er = new EntityRef( "EmojiDoCoMo.ent" );

    ドコモ絵文字用の実体参照の定義マップファイルのみを読み込みます。


entity2hex()

    実体参照表記を、Unicodeコード番号表記(16進数)に変換します。

    HTMLspecial €  ->  €    -- euro sign, U+20AC NEW
    HTMLsymbol  Α ->  Α    -- greek capital letter alpha, U+0391
    HTMLlat1    ©  ->  ©    -- copyright sign, U+00A9 ISOnum


.ent

    実体参照の定義マップファイルは、下記の形式となります。

    <!ENTITY 参照名 CDATA "&#コード;" -- コメント -->

    コメントが複数行に渡っても構いません。
    参照名は大文字・小文字を区別しています。
    文字コードは10進数または16進数の Unicode で指定してください。
    複数文字に渡る実体参照は展開できません。(1文字のみ展開します)
    また、文字コード番号が 128以下の文字は展開しません。


SEE ALSO

Extensible Markup Language (XML) 1.0 http://www.w3.org/TR/REC-xml

    4.1 Character and Entity References

    [66]  CharRef  ::=  '&#' [0-9]+ ';'  
                        | '&#x' [0-9a-fA-F]+ ';'
    [67]  Reference  ::=  EntityRef | CharRef 
    [68]  EntityRef  ::=  '&' Name ';'

    If the character reference begins with "&#x", the digits and letters 
    up to the terminating ; provide a hexadecimal representation of the 
    character's code point in ISO/IEC 10646. If it begins just with "&#", 
    the digits up to the terminating ; provide a decimal representation 
    of the character's code point.

http://www.w3.org/TR/html401/HTMLlat1.ent -- Latin-1 entities http://www.w3.org/TR/html401/HTMLsymbol.ent -- Symbol entities http://www.w3.org/TR/html401/HTMLspecial.ent -- Special entities


COPYRIGHT

    Copyright 2004 Kawasaki Yusuke <u-suke [at] kawa.net>
    http://www.kawa.net/