org.apache.cocoon.components.serializers.encoding.XHTMLEncoder Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.cocoon.components.serializers.encoding;
/**
*
*
* @version $Id: XHTMLEncoder.java 736314 2009-01-21 14:07:19Z andreas $
*/
public class XHTMLEncoder extends XMLEncoder {
/**
* Create a new instance of this XHTMLEncoder
.
*/
public XHTMLEncoder() {
super("X-W3C-XHTML");
}
/**
* Create a new instance of this XHTMLEncoder
.
*
* @param name A name for this Encoding
.
* @throws NullPointerException If one of the arguments is null.
*/
protected XHTMLEncoder(String name) {
super(name);
}
/**
* Return true or false whether this encoding can encode the specified
* character or not.
*
* This method will return true for the following character range:
*
*
* #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
*
*
*
* @see W3C XML 1.0
*/
protected boolean compile(char c) {
for (int x = 0; x < ENCODINGS.length; x++) {
if (ENCODINGS[x][0][0] == c) return(false);
}
return(super.compile(c));
}
/**
* Return an array of characters representing the encoding for the
* specified character.
*/
public char[] encode(char c) {
for (int x = 0; x < ENCODINGS.length; x++) {
if (ENCODINGS[x][0][0] == c) return(ENCODINGS[x][1]);
}
return(super.encode(c));
}
/**
* The table of all configured HTML/4.0 character encodings.
*/
private static final char ENCODINGS[][][] = {
{ { 160 } , " ".toCharArray() },
{ { 161 } , "¡".toCharArray() },
{ { 162 } , "¢".toCharArray() },
{ { 163 } , "£".toCharArray() },
{ { 164 } , "¤".toCharArray() },
{ { 165 } , "¥".toCharArray() },
{ { 166 } , "¦".toCharArray() },
{ { 167 } , "§".toCharArray() },
{ { 168 } , "¨".toCharArray() },
{ { 169 } , "©".toCharArray() },
{ { 170 } , "ª".toCharArray() },
{ { 171 } , "«".toCharArray() },
{ { 172 } , "¬".toCharArray() },
{ { 173 } , "".toCharArray() },
{ { 174 } , "®".toCharArray() },
{ { 175 } , "¯".toCharArray() },
{ { 176 } , "°".toCharArray() },
{ { 177 } , "±".toCharArray() },
{ { 178 } , "²".toCharArray() },
{ { 179 } , "³".toCharArray() },
{ { 180 } , "´".toCharArray() },
{ { 181 } , "µ".toCharArray() },
{ { 182 } , "¶".toCharArray() },
{ { 183 } , "·".toCharArray() },
{ { 184 } , "¸".toCharArray() },
{ { 185 } , "¹".toCharArray() },
{ { 186 } , "º".toCharArray() },
{ { 187 } , "»".toCharArray() },
{ { 188 } , "¼".toCharArray() },
{ { 189 } , "½".toCharArray() },
{ { 190 } , "¾".toCharArray() },
{ { 191 } , "¿".toCharArray() },
{ { 192 } , "À".toCharArray() },
{ { 193 } , "Á".toCharArray() },
{ { 194 } , "Â".toCharArray() },
{ { 195 } , "Ã".toCharArray() },
{ { 196 } , "Ä".toCharArray() },
{ { 197 } , "Å".toCharArray() },
{ { 198 } , "Æ".toCharArray() },
{ { 199 } , "Ç".toCharArray() },
{ { 200 } , "È".toCharArray() },
{ { 201 } , "É".toCharArray() },
{ { 202 } , "Ê".toCharArray() },
{ { 203 } , "Ë".toCharArray() },
{ { 204 } , "Ì".toCharArray() },
{ { 205 } , "Í".toCharArray() },
{ { 206 } , "Î".toCharArray() },
{ { 207 } , "Ï".toCharArray() },
{ { 208 } , "Ð".toCharArray() },
{ { 209 } , "Ñ".toCharArray() },
{ { 210 } , "Ò".toCharArray() },
{ { 211 } , "Ó".toCharArray() },
{ { 212 } , "Ô".toCharArray() },
{ { 213 } , "Õ".toCharArray() },
{ { 214 } , "Ö".toCharArray() },
{ { 215 } , "×".toCharArray() },
{ { 216 } , "Ø".toCharArray() },
{ { 217 } , "Ù".toCharArray() },
{ { 218 } , "Ú".toCharArray() },
{ { 219 } , "Û".toCharArray() },
{ { 220 } , "Ü".toCharArray() },
{ { 221 } , "Ý".toCharArray() },
{ { 222 } , "Þ".toCharArray() },
{ { 223 } , "ß".toCharArray() },
{ { 224 } , "à".toCharArray() },
{ { 225 } , "á".toCharArray() },
{ { 226 } , "â".toCharArray() },
{ { 227 } , "ã".toCharArray() },
{ { 228 } , "ä".toCharArray() },
{ { 229 } , "å".toCharArray() },
{ { 230 } , "æ".toCharArray() },
{ { 231 } , "ç".toCharArray() },
{ { 232 } , "è".toCharArray() },
{ { 233 } , "é".toCharArray() },
{ { 234 } , "ê".toCharArray() },
{ { 235 } , "ë".toCharArray() },
{ { 236 } , "ì".toCharArray() },
{ { 237 } , "í".toCharArray() },
{ { 238 } , "î".toCharArray() },
{ { 239 } , "ï".toCharArray() },
{ { 240 } , "ð".toCharArray() },
{ { 241 } , "ñ".toCharArray() },
{ { 242 } , "ò".toCharArray() },
{ { 243 } , "ó".toCharArray() },
{ { 244 } , "ô".toCharArray() },
{ { 245 } , "õ".toCharArray() },
{ { 246 } , "ö".toCharArray() },
{ { 247 } , "÷".toCharArray() },
{ { 248 } , "ø".toCharArray() },
{ { 249 } , "ù".toCharArray() },
{ { 250 } , "ú".toCharArray() },
{ { 251 } , "û".toCharArray() },
{ { 252 } , "ü".toCharArray() },
{ { 253 } , "ý".toCharArray() },
{ { 254 } , "þ".toCharArray() },
{ { 255 } , "ÿ".toCharArray() },
{ { 338 } , "Œ".toCharArray() },
{ { 339 } , "œ".toCharArray() },
{ { 352 } , "Š".toCharArray() },
{ { 353 } , "š".toCharArray() },
{ { 376 } , "Ÿ".toCharArray() },
{ { 402 } , "ƒ".toCharArray() },
{ { 710 } , "ˆ".toCharArray() },
{ { 732 } , "˜".toCharArray() },
{ { 913 } , "Α".toCharArray() },
{ { 914 } , "Β".toCharArray() },
{ { 915 } , "Γ".toCharArray() },
{ { 916 } , "Δ".toCharArray() },
{ { 917 } , "Ε".toCharArray() },
{ { 918 } , "Ζ".toCharArray() },
{ { 919 } , "Η".toCharArray() },
{ { 920 } , "Θ".toCharArray() },
{ { 921 } , "Ι".toCharArray() },
{ { 922 } , "Κ".toCharArray() },
{ { 923 } , "Λ".toCharArray() },
{ { 924 } , "Μ".toCharArray() },
{ { 925 } , "Ν".toCharArray() },
{ { 926 } , "Ξ".toCharArray() },
{ { 927 } , "Ο".toCharArray() },
{ { 928 } , "Π".toCharArray() },
{ { 929 } , "Ρ".toCharArray() },
{ { 931 } , "Σ".toCharArray() },
{ { 932 } , "Τ".toCharArray() },
{ { 933 } , "Υ".toCharArray() },
{ { 934 } , "Φ".toCharArray() },
{ { 935 } , "Χ".toCharArray() },
{ { 936 } , "Ψ".toCharArray() },
{ { 937 } , "Ω".toCharArray() },
{ { 945 } , "α".toCharArray() },
{ { 946 } , "β".toCharArray() },
{ { 947 } , "γ".toCharArray() },
{ { 948 } , "δ".toCharArray() },
{ { 949 } , "ε".toCharArray() },
{ { 950 } , "ζ".toCharArray() },
{ { 951 } , "η".toCharArray() },
{ { 952 } , "θ".toCharArray() },
{ { 953 } , "ι".toCharArray() },
{ { 954 } , "κ".toCharArray() },
{ { 955 } , "λ".toCharArray() },
{ { 956 } , "μ".toCharArray() },
{ { 957 } , "ν".toCharArray() },
{ { 958 } , "ξ".toCharArray() },
{ { 959 } , "ο".toCharArray() },
{ { 960 } , "π".toCharArray() },
{ { 961 } , "ρ".toCharArray() },
{ { 962 } , "ς".toCharArray() },
{ { 963 } , "σ".toCharArray() },
{ { 964 } , "τ".toCharArray() },
{ { 965 } , "υ".toCharArray() },
{ { 966 } , "φ".toCharArray() },
{ { 967 } , "χ".toCharArray() },
{ { 968 } , "ψ".toCharArray() },
{ { 969 } , "ω".toCharArray() },
{ { 977 } , "ϑ".toCharArray() },
{ { 978 } , "ϒ".toCharArray() },
{ { 982 } , "ϖ".toCharArray() },
{ { 8194 } , " ".toCharArray() },
{ { 8195 } , " ".toCharArray() },
{ { 8201 } , " ".toCharArray() },
{ { 8204 } , "".toCharArray() },
{ { 8205 } , "".toCharArray() },
{ { 8206 } , "".toCharArray() },
{ { 8207 } , "".toCharArray() },
{ { 8211 } , "–".toCharArray() },
{ { 8212 } , "—".toCharArray() },
{ { 8216 } , "‘".toCharArray() },
{ { 8217 } , "’".toCharArray() },
{ { 8218 } , "‚".toCharArray() },
{ { 8220 } , "“".toCharArray() },
{ { 8221 } , "”".toCharArray() },
{ { 8222 } , "„".toCharArray() },
{ { 8224 } , "†".toCharArray() },
{ { 8225 } , "‡".toCharArray() },
{ { 8226 } , "•".toCharArray() },
{ { 8230 } , "…".toCharArray() },
{ { 8240 } , "‰".toCharArray() },
{ { 8242 } , "′".toCharArray() },
{ { 8243 } , "″".toCharArray() },
{ { 8249 } , "‹".toCharArray() },
{ { 8250 } , "›".toCharArray() },
{ { 8254 } , "‾".toCharArray() },
{ { 8260 } , "⁄".toCharArray() },
{ { 8364 } , "€".toCharArray() },
{ { 8465 } , "ℑ".toCharArray() },
{ { 8472 } , "℘".toCharArray() },
{ { 8476 } , "ℜ".toCharArray() },
{ { 8482 } , "™".toCharArray() },
{ { 8501 } , "ℵ".toCharArray() },
{ { 8592 } , "←".toCharArray() },
{ { 8593 } , "↑".toCharArray() },
{ { 8594 } , "→".toCharArray() },
{ { 8595 } , "↓".toCharArray() },
{ { 8596 } , "↔".toCharArray() },
{ { 8629 } , "↵".toCharArray() },
{ { 8656 } , "⇐".toCharArray() },
{ { 8657 } , "⇑".toCharArray() },
{ { 8658 } , "⇒".toCharArray() },
{ { 8659 } , "⇓".toCharArray() },
{ { 8660 } , "⇔".toCharArray() },
{ { 8704 } , "∀".toCharArray() },
{ { 8706 } , "∂".toCharArray() },
{ { 8707 } , "∃".toCharArray() },
{ { 8709 } , "∅".toCharArray() },
{ { 8711 } , "∇".toCharArray() },
{ { 8712 } , "∈".toCharArray() },
{ { 8713 } , "∉".toCharArray() },
{ { 8715 } , "∋".toCharArray() },
{ { 8719 } , "∏".toCharArray() },
{ { 8721 } , "∑".toCharArray() },
{ { 8722 } , "−".toCharArray() },
{ { 8727 } , "∗".toCharArray() },
{ { 8730 } , "√".toCharArray() },
{ { 8733 } , "∝".toCharArray() },
{ { 8734 } , "∞".toCharArray() },
{ { 8736 } , "∠".toCharArray() },
{ { 8743 } , "∧".toCharArray() },
{ { 8744 } , "∨".toCharArray() },
{ { 8745 } , "∩".toCharArray() },
{ { 8746 } , "∪".toCharArray() },
{ { 8747 } , "∫".toCharArray() },
{ { 8756 } , "∴".toCharArray() },
{ { 8764 } , "∼".toCharArray() },
{ { 8773 } , "≅".toCharArray() },
{ { 8776 } , "≈".toCharArray() },
{ { 8800 } , "≠".toCharArray() },
{ { 8801 } , "≡".toCharArray() },
{ { 8804 } , "≤".toCharArray() },
{ { 8805 } , "≥".toCharArray() },
{ { 8834 } , "⊂".toCharArray() },
{ { 8835 } , "⊃".toCharArray() },
{ { 8836 } , "⊄".toCharArray() },
{ { 8838 } , "⊆".toCharArray() },
{ { 8839 } , "⊇".toCharArray() },
{ { 8853 } , "⊕".toCharArray() },
{ { 8855 } , "⊗".toCharArray() },
{ { 8869 } , "⊥".toCharArray() },
{ { 8901 } , "⋅".toCharArray() },
{ { 8968 } , "⌈".toCharArray() },
{ { 8969 } , "⌉".toCharArray() },
{ { 8970 } , "⌊".toCharArray() },
{ { 8971 } , "⌋".toCharArray() },
{ { 9001 } , "〈".toCharArray() },
{ { 9002 } , "〉".toCharArray() },
{ { 9674 } , "◊".toCharArray() },
{ { 9824 } , "♠".toCharArray() },
{ { 9827 } , "♣".toCharArray() },
{ { 9829 } , "♥".toCharArray() },
{ { 9830 } , "♦".toCharArray() },
};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy