277 lines
7.1 KiB
Factor
277 lines
7.1 KiB
Factor
! Copyright (C) 2005, 2006 Daniel Ehrenberg
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: namespaces kernel ;
|
|
IN: xml.entities
|
|
|
|
: entities
|
|
H{
|
|
{ "lt" CHAR: < }
|
|
{ "gt" CHAR: > }
|
|
{ "amp" CHAR: & }
|
|
{ "apos" CHAR: ' }
|
|
{ "quot" CHAR: " }
|
|
} ;
|
|
|
|
: html-entities
|
|
#! generated from:
|
|
#! http://www.w3.org/TR/REC-html40/sgml/entities.html
|
|
H{
|
|
{ "nbsp" 160 }
|
|
{ "iexcl" 161 }
|
|
{ "cent" 162 }
|
|
{ "pound" 163 }
|
|
{ "curren" 164 }
|
|
{ "yen" 165 }
|
|
{ "brvbar" 166 }
|
|
{ "sect" 167 }
|
|
{ "uml" 168 }
|
|
{ "copy" 169 }
|
|
{ "ordf" 170 }
|
|
{ "laquo" 171 }
|
|
{ "not" 172 }
|
|
{ "shy" 173 }
|
|
{ "reg" 174 }
|
|
{ "macr" 175 }
|
|
{ "deg" 176 }
|
|
{ "plusmn" 177 }
|
|
{ "sup2" 178 }
|
|
{ "sup3" 179 }
|
|
{ "acute" 180 }
|
|
{ "micro" 181 }
|
|
{ "para" 182 }
|
|
{ "middot" 183 }
|
|
{ "cedil" 184 }
|
|
{ "sup1" 185 }
|
|
{ "ordm" 186 }
|
|
{ "raquo" 187 }
|
|
{ "frac14" 188 }
|
|
{ "frac12" 189 }
|
|
{ "frac34" 190 }
|
|
{ "iquest" 191 }
|
|
{ "Agrave" 192 }
|
|
{ "Aacute" 193 }
|
|
{ "Acirc" 194 }
|
|
{ "Atilde" 195 }
|
|
{ "Auml" 196 }
|
|
{ "Aring" 197 }
|
|
{ "AElig" 198 }
|
|
{ "Ccedil" 199 }
|
|
{ "Egrave" 200 }
|
|
{ "Eacute" 201 }
|
|
{ "Ecirc" 202 }
|
|
{ "Euml" 203 }
|
|
{ "Igrave" 204 }
|
|
{ "Iacute" 205 }
|
|
{ "Icirc" 206 }
|
|
{ "Iuml" 207 }
|
|
{ "ETH" 208 }
|
|
{ "Ntilde" 209 }
|
|
{ "Ograve" 210 }
|
|
{ "Oacute" 211 }
|
|
{ "Ocirc" 212 }
|
|
{ "Otilde" 213 }
|
|
{ "Ouml" 214 }
|
|
{ "times" 215 }
|
|
{ "Oslash" 216 }
|
|
{ "Ugrave" 217 }
|
|
{ "Uacute" 218 }
|
|
{ "Ucirc" 219 }
|
|
{ "Uuml" 220 }
|
|
{ "Yacute" 221 }
|
|
{ "THORN" 222 }
|
|
{ "szlig" 223 }
|
|
{ "agrave" 224 }
|
|
{ "aacute" 225 }
|
|
{ "acirc" 226 }
|
|
{ "atilde" 227 }
|
|
{ "auml" 228 }
|
|
{ "aring" 229 }
|
|
{ "aelig" 230 }
|
|
{ "ccedil" 231 }
|
|
{ "egrave" 232 }
|
|
{ "eacute" 233 }
|
|
{ "ecirc" 234 }
|
|
{ "euml" 235 }
|
|
{ "igrave" 236 }
|
|
{ "iacute" 237 }
|
|
{ "icirc" 238 }
|
|
{ "iuml" 239 }
|
|
{ "eth" 240 }
|
|
{ "ntilde" 241 }
|
|
{ "ograve" 242 }
|
|
{ "oacute" 243 }
|
|
{ "ocirc" 244 }
|
|
{ "otilde" 245 }
|
|
{ "ouml" 246 }
|
|
{ "divide" 247 }
|
|
{ "oslash" 248 }
|
|
{ "ugrave" 249 }
|
|
{ "uacute" 250 }
|
|
{ "ucirc" 251 }
|
|
{ "uuml" 252 }
|
|
{ "yacute" 253 }
|
|
{ "thorn" 254 }
|
|
{ "yuml" 255 }
|
|
{ "fnof" 402 }
|
|
{ "Alpha" 913 }
|
|
{ "Beta" 914 }
|
|
{ "Gamma" 915 }
|
|
{ "Delta" 916 }
|
|
{ "Epsilon" 917 }
|
|
{ "Zeta" 918 }
|
|
{ "Eta" 919 }
|
|
{ "Theta" 920 }
|
|
{ "Iota" 921 }
|
|
{ "Kappa" 922 }
|
|
{ "Lambda" 923 }
|
|
{ "Mu" 924 }
|
|
{ "Nu" 925 }
|
|
{ "Xi" 926 }
|
|
{ "Omicron" 927 }
|
|
{ "Pi" 928 }
|
|
{ "Rho" 929 }
|
|
{ "Sigma" 931 }
|
|
{ "Tau" 932 }
|
|
{ "Upsilon" 933 }
|
|
{ "Phi" 934 }
|
|
{ "Chi" 935 }
|
|
{ "Psi" 936 }
|
|
{ "Omega" 937 }
|
|
{ "alpha" 945 }
|
|
{ "beta" 946 }
|
|
{ "gamma" 947 }
|
|
{ "delta" 948 }
|
|
{ "epsilon" 949 }
|
|
{ "zeta" 950 }
|
|
{ "eta" 951 }
|
|
{ "theta" 952 }
|
|
{ "iota" 953 }
|
|
{ "kappa" 954 }
|
|
{ "lambda" 955 }
|
|
{ "mu" 956 }
|
|
{ "nu" 957 }
|
|
{ "xi" 958 }
|
|
{ "omicron" 959 }
|
|
{ "pi" 960 }
|
|
{ "rho" 961 }
|
|
{ "sigmaf" 962 }
|
|
{ "sigma" 963 }
|
|
{ "tau" 964 }
|
|
{ "upsilon" 965 }
|
|
{ "phi" 966 }
|
|
{ "chi" 967 }
|
|
{ "psi" 968 }
|
|
{ "omega" 969 }
|
|
{ "thetasym" 977 }
|
|
{ "upsih" 978 }
|
|
{ "piv" 982 }
|
|
{ "bull" 8226 }
|
|
{ "hellip" 8230 }
|
|
{ "prime" 8242 }
|
|
{ "Prime" 8243 }
|
|
{ "oline" 8254 }
|
|
{ "frasl" 8260 }
|
|
{ "weierp" 8472 }
|
|
{ "image" 8465 }
|
|
{ "real" 8476 }
|
|
{ "trade" 8482 }
|
|
{ "alefsym" 8501 }
|
|
{ "larr" 8592 }
|
|
{ "uarr" 8593 }
|
|
{ "rarr" 8594 }
|
|
{ "darr" 8595 }
|
|
{ "harr" 8596 }
|
|
{ "crarr" 8629 }
|
|
{ "lArr" 8656 }
|
|
{ "uArr" 8657 }
|
|
{ "rArr" 8658 }
|
|
{ "dArr" 8659 }
|
|
{ "hArr" 8660 }
|
|
{ "forall" 8704 }
|
|
{ "part" 8706 }
|
|
{ "exist" 8707 }
|
|
{ "empty" 8709 }
|
|
{ "nabla" 8711 }
|
|
{ "isin" 8712 }
|
|
{ "notin" 8713 }
|
|
{ "ni" 8715 }
|
|
{ "prod" 8719 }
|
|
{ "sum" 8721 }
|
|
{ "minus" 8722 }
|
|
{ "lowast" 8727 }
|
|
{ "radic" 8730 }
|
|
{ "prop" 8733 }
|
|
{ "infin" 8734 }
|
|
{ "ang" 8736 }
|
|
{ "and" 8743 }
|
|
{ "or" 8744 }
|
|
{ "cap" 8745 }
|
|
{ "cup" 8746 }
|
|
{ "int" 8747 }
|
|
{ "there4" 8756 }
|
|
{ "sim" 8764 }
|
|
{ "cong" 8773 }
|
|
{ "asymp" 8776 }
|
|
{ "ne" 8800 }
|
|
{ "equiv" 8801 }
|
|
{ "le" 8804 }
|
|
{ "ge" 8805 }
|
|
{ "sub" 8834 }
|
|
{ "sup" 8835 }
|
|
{ "nsub" 8836 }
|
|
{ "sube" 8838 }
|
|
{ "supe" 8839 }
|
|
{ "oplus" 8853 }
|
|
{ "otimes" 8855 }
|
|
{ "perp" 8869 }
|
|
{ "sdot" 8901 }
|
|
{ "lceil" 8968 }
|
|
{ "rceil" 8969 }
|
|
{ "lfloor" 8970 }
|
|
{ "rfloor" 8971 }
|
|
{ "lang" 9001 }
|
|
{ "rang" 9002 }
|
|
{ "loz" 9674 }
|
|
{ "spades" 9824 }
|
|
{ "clubs" 9827 }
|
|
{ "hearts" 9829 }
|
|
{ "diams" 9830 }
|
|
{ "OElig" 338 }
|
|
{ "oelig" 339 }
|
|
{ "Scaron" 352 }
|
|
{ "scaron" 353 }
|
|
{ "Yuml" 376 }
|
|
{ "circ" 710 }
|
|
{ "tilde" 732 }
|
|
{ "ensp" 8194 }
|
|
{ "emsp" 8195 }
|
|
{ "thinsp" 8201 }
|
|
{ "zwnj" 8204 }
|
|
{ "zwj" 8205 }
|
|
{ "lrm" 8206 }
|
|
{ "rlm" 8207 }
|
|
{ "ndash" 8211 }
|
|
{ "mdash" 8212 }
|
|
{ "lsquo" 8216 }
|
|
{ "rsquo" 8217 }
|
|
{ "sbquo" 8218 }
|
|
{ "ldquo" 8220 }
|
|
{ "rdquo" 8221 }
|
|
{ "bdquo" 8222 }
|
|
{ "dagger" 8224 }
|
|
{ "Dagger" 8225 }
|
|
{ "permil" 8240 }
|
|
{ "lsaquo" 8249 }
|
|
{ "rsaquo" 8250 }
|
|
{ "euro" 8364 }
|
|
} ;
|
|
|
|
SYMBOL: extra-entities
|
|
f extra-entities set-global
|
|
|
|
: with-entities ( entities quot -- )
|
|
[ swap extra-entities set call ] with-scope ; inline
|
|
|
|
: with-html-entities ( quot -- )
|
|
html-entities swap with-entities ; inline
|