o Made several changes in response to suggestions in Wiki.
[project-aon.git] / scripts / gb-convert-entities.pl
1 #!/usr/bin/perl
2
3 while( <> ) {
4     if( /"[^">]*&([^;]+);/ && $1 !~ /^link/ ) {
5         warn "Entity $1 in attribute";
6     }
7     s{\&(apos|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|ampersand|lsquot|rsquot|ldquot|rdquot|minus|endash|emdash|ellips|lellips|blankline|percent|thinspace|frac116|plus);}{<ch.$1/>}g;
8
9     s{\240}{<ch.nbsp/>}g;
10     s{\241}{<ch.iexcl/>}g;
11     s{\242}{<ch.cent/>}g;
12     s{\243}{<ch.pound/>}g;
13     s{\244}{<ch.curren/>}g;
14     s{\245}{<ch.yen/>}g;
15     s{\246}{<ch.brvbar/>}g;
16     s{\247}{<ch.sect/>}g;
17     s{\250}{<ch.uml/>}g;
18     s{\251}{<ch.copy/>}g;
19     s{\252}{<ch.ordf/>}g;
20     s{\253}{<ch.laquo/>}g;
21     s{\254}{<ch.not/>}g;
22     s{\255}{<ch.shy/>}g;
23     s{\256}{<ch.reg/>}g;
24     s{\257}{<ch.macr/>}g;
25     s{\260}{<ch.deg/>}g;
26     s{\261}{<ch.plusmn/>}g;
27     s{\262}{<ch.sup2/>}g;
28     s{\263}{<ch.sup3/>}g;
29     s{\264}{<ch.acute/>}g;
30     s{\265}{<ch.micro/>}g;
31     s{\266}{<ch.para/>}g;
32     s{\267}{<ch.middot/>}g;
33     s{\270}{<ch.cedil/>}g;
34     s{\271}{<ch.sup1/>}g;
35     s{\272}{<ch.ordm/>}g;
36     s{\273}{<ch.raquo/>}g;
37     s{\274}{<ch.frac14/>}g;
38     s{\275}{<ch.frac12/>}g;
39     s{\276}{<ch.frac34/>}g;
40     s{\277}{<ch.iquest/>}g;
41     s{\300}{<ch.Agrave/>}g;
42     s{\301}{<ch.Aacute/>}g;
43     s{\302}{<ch.Acirc/>}g;
44     s{\303}{<ch.Atilde/>}g;
45     s{\304}{<ch.Auml/>}g;
46     s{\305}{<ch.Aring/>}g;
47     s{\306}{<ch.AElig/>}g;
48     s{\307}{<ch.Ccedil/>}g;
49     s{\310}{<ch.Egrave/>}g;
50     s{\311}{<ch.Eacute/>}g;
51     s{\312}{<ch.Ecirc/>}g;
52     s{\313}{<ch.Euml/>}g;
53     s{\314}{<ch.Igrave/>}g;
54     s{\315}{<ch.Iacute/>}g;
55     s{\316}{<ch.Icirc/>}g;
56     s{\317}{<ch.Iuml/>}g;
57     s{\320}{<ch.ETH/>}g;
58     s{\321}{<ch.Ntilde/>}g;
59     s{\322}{<ch.Ograve/>}g;
60     s{\323}{<ch.Oacute/>}g;
61     s{\324}{<ch.Ocirc/>}g;
62     s{\325}{<ch.Otilde/>}g;
63     s{\326}{<ch.Ouml/>}g;
64     s{\327}{<ch.times/>}g;
65     s{\330}{<ch.Oslash/>}g;
66     s{\331}{<ch.Ugrave/>}g;
67     s{\332}{<ch.Uacute/>}g;
68     s{\333}{<ch.Ucirc/>}g;
69     s{\334}{<ch.Uuml/>}g;
70     s{\335}{<ch.Yacute/>}g;
71     s{\336}{<ch.THORN/>}g;
72     s{\337}{<ch.szlig/>}g;
73     s{\340}{<ch.agrave/>}g;
74     s{\341}{<ch.aacute/>}g;
75     s{\342}{<ch.acirc/>}g;
76     s{\343}{<ch.atilde/>}g;
77     s{\344}{<ch.auml/>}g;
78     s{\345}{<ch.aring/>}g;
79     s{\346}{<ch.aelig/>}g;
80     s{\347}{<ch.ccedil/>}g;
81     s{\350}{<ch.egrave/>}g;
82     s{\351}{<ch.eacute/>}g;
83     s{\352}{<ch.ecirc/>}g;
84     s{\353}{<ch.euml/>}g;
85     s{\354}{<ch.igrave/>}g;
86     s{\355}{<ch.iacute/>}g;
87     s{\356}{<ch.icirc/>}g;
88     s{\357}{<ch.iuml/>}g;
89     s{\360}{<ch.eth/>}g;
90     s{\361}{<ch.ntilde/>}g;
91     s{\362}{<ch.ograve/>}g;
92     s{\363}{<ch.oacute/>}g;
93     s{\364}{<ch.ocirc/>}g;
94     s{\365}{<ch.otilde/>}g;
95     s{\366}{<ch.ouml/>}g;
96     s{\367}{<ch.divide/>}g;
97     s{\370}{<ch.oslash/>}g;
98     s{\371}{<ch.ugrave/>}g;
99     s{\372}{<ch.uacute/>}g;
100     s{\373}{<ch.ucirc/>}g;
101     s{\374}{<ch.uuml/>}g;
102     s{\375}{<ch.yacute/>}g;
103     s{\376}{<ch.thorn/>}g;
104     s{\377}{<ch.yuml/>}g;
105
106     print;
107 }