Here are XML versions of the most common entities. (I have not included the other entity sets, because they require a font change, and there is no standard way to do this in XML yet.)
"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
"ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
"ISO 9573-15:1993//ENTITIES Monotoniko Greek//EN//XML"
"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
"ISO 8879:1986//ENTITIES Publishing//EN//XML"
"ISO 8879:1986//ENTITIES General Technical//EN//XML"
You can invoke the entities as follows:
<!ENTITY % ISOlat1 PUBLIC
"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOlat1.pen" >
%ISOlat1;
<!ENTITY % ISOlat2 PUBLIC
"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOlat2.pen" >
%ISOlat2;
<!ENTITY % ISOnum PUBLIC
"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOnum.pen" >
%ISOnum;
<!ENTITY % ISOtech PUBLIC
"ISO 8879:1986//ENTITIES General Technical//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOtech.pen" >
%ISOtech;
<!ENTITY % ISOgrk1 PUBLIC
"ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOgrk1.pen" >
%ISOgrk1;
<!ENTITY % ISOgrk2 PUBLIC
"ISO 9573-15:1993//ENTITIES Monotoniko Greek//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOgrk2.pen" >
%ISOgrk2;
<!ENTITY % ISOgrk3 PUBLIC
"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
"http://www.ascc.net/xml/resource/entities/ISO/ISOgrk3.pen" >
%ISOgrk3;
The SPREAD-2 entities allow all the ISO 10646 characters to be used in an SGML document. XML uses 10646, so you dont need these with XML: just use numeric character references. But if you need to bring in SGML documents which use the SPREAD entities into XML, the following declarations will be helpful to you.
<!-- This file contains SPREAD-2 entities resolved for ISO10646 -->
<!--
SPREAD-2 - Standardisation Project Regarding East Asian Documents
Universal Public Entity Set, 1 April, 1997
XMLized: RJ, 1 March, 1999
-->
<!--
This public entity set has the ISO 9070 formal public identifier:
-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 BMP (U 2.0)//EN//XML
or
-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 BMP (U 2.0)//EN//WWW
The first version expects locally-installed versions of the public
entities. The second version downloads the entities over the WWW.
(Note that Academia Sinica does not guarantee access to the WWW
versions of the entities.)
This set brings in all characters defined in ISO/IEC 10646-1 BMP,
as revised in 1996, and the Unicode Standard 2.0 worldwide
character encoding of the Unicode Consortium.
It is strongly recommended that these entity reference to these
entities should always have an explicit Entity Reference Close
delimiter (ERC).
You can invoke this entity set as follows:
>
%SPREAD2;
A networked version of this may be available at Academia Sinica's Web server.
However, please use local versions if possible:
>
%SPREAD2;
-->
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Arabic" -->
<!ENTITY % arabic
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ARABIC)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/arabic.pen">
%arabic;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Armenian" -->
<!ENTITY % armenian
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ARMENIAN)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/armenian.pen">
%armenian;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Bengali" -->
<!ENTITY % bengali
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (BENGALI)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/bengali.pen">
%bengali;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Bopomofo" -->
<!ENTITY % bopomofo
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (BOPOMOFO)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/bopomofo.pen">
%bopomofo;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::??" -->
<!ENTITY % cjk-misc
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (CJK-MISC)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/cjk-misc.pen">
%cjk-misc;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Cyrillic" -->
<!ENTITY % cyrillic
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (CYRILLIC)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/cyrillic.pen">
%cyrillic;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Devanagari" -->
<!ENTITY % devanagari
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DEVANAGARI)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/devanagari.pen">
%devanagari;
<!ENTITY % diacrits
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DIACRITICALS)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/diacriticals.pen">
%diacrits;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % dingbats
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DINGBATS)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/dingbats.pen">
%dingbats;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Georgian" -->
<!ENTITY % georgian
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GEORGIAN)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/georgian.pen">
%georgian;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Greek" -->
<!ENTITY % greek
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GREEK)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/greek.pen">
%greek;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Gujarati" -->
<!ENTITY % gujarati
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GUJARATI)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/gujarati.pen">
%gujarati;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Gurmukhi" -->
<!ENTITY % gurmukhi
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GURMUKHI)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/gurmukhi.pen">
%gurmukhi;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Han" -->
<!ENTITY % han
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HAN)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/han.pen">
%han;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Hangul" -->
<!ENTITY % hangul
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HANGUL)//EN//XML"
>
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Hebrew" -->
<!ENTITY % hebrew
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HEBREW)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/hebrew.pen">
%hebrew;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Hiragana" -->
<!ENTITY % hiragana
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HIRAGANA)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/hiragana.pen">
%hiragana;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % ipa
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (IPA)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/ipa.pen">
%ipa;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Hangul" -->
<!ENTITY % jamo
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (JAMO)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/jamo.pen">
%jamo;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Kannada" -->
<!ENTITY % kannada
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (KANNADA)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/kannada.pen">
%kannada;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Katakana" -->
<!ENTITY % katakana
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (KATAKANA)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/katakana.pen">
%katakana;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Lao" -->
<!ENTITY % lao
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (LAO)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/lao.pen">
%lao;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Latin" -->
<!ENTITY % latin
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (LATIN)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/latin.pen">
%latin;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Malayam" -->
<!ENTITY % malayam
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (MALAYAM)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/malayam.pen">
%malayam;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Oriya" -->
<!ENTITY % oriya
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ORIYA)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/oriya.pen">
%oriya;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Punctuation" -->
<!ENTITY % punctuation
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (PUNCTUATION)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/punctuation.pen">
%punctuation;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % symbol
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (SYMBOL)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/symbol.pen">
%symbol;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Tamil" -->
<!ENTITY % tamil
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TAMIL)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/tamil.pen">
%tamil;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Telugu" -->
<!ENTITY % telugu
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TELUGU)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/telugu.pen">
%telugu;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Thai" -->
<!ENTITY % thai
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (THAI)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/thai.pen">
%thai;
<!-- DSSSL script "ISO/IEC 10179:1996//Script::Tibetan" -->
<!ENTITY % tibetan
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TIBETAN)//EN//XML"
"http://www.ascc.net/xml/resource/entities/SPREAD-2/tibetan.pen">
%tibetan;
Note: These files were originally prepared for the CD accompanying
my book "The XML & SGML Cookbook", ISBN 0-13-614223-0. Rick Jelliffe.
Corrections to ricko@gate.sinica.edu.tw.