ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

xmlGetCharEncodingHandler: : an xmlCharEncoding value.

Search in the registered set the handler able to read/write that encoding.

Returns the handler or NULL if not found

Definition at line 1494 of file encoding.c.

Referenced by xmlSwitchEncoding().

                                               {
    xmlCharEncodingHandlerPtr handler;

    if (handlers == NULL) xmlInitCharEncodingHandlers();
    switch (enc) {
        case XML_CHAR_ENCODING_ERROR:
        return(NULL);
        case XML_CHAR_ENCODING_NONE:
        return(NULL);
        case XML_CHAR_ENCODING_UTF8:
        return(NULL);
        case XML_CHAR_ENCODING_UTF16LE:
        return(xmlUTF16LEHandler);
        case XML_CHAR_ENCODING_UTF16BE:
        return(xmlUTF16BEHandler);
        case XML_CHAR_ENCODING_EBCDIC:
            handler = xmlFindCharEncodingHandler("EBCDIC");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("ebcdic");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("EBCDIC-US");
            if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_UCS4BE:
            handler = xmlFindCharEncodingHandler("ISO-10646-UCS-4");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS-4");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS4");
            if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_UCS4LE:
            handler = xmlFindCharEncodingHandler("ISO-10646-UCS-4");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS-4");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS4");
            if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_UCS4_2143:
        break;
        case XML_CHAR_ENCODING_UCS4_3412:
        break;
        case XML_CHAR_ENCODING_UCS2:
            handler = xmlFindCharEncodingHandler("ISO-10646-UCS-2");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS-2");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("UCS2");
            if (handler != NULL) return(handler);
        break;

        /*
         * We used to keep ISO Latin encodings native in the
         * generated data. This led to so many problems that
         * this has been removed. One can still change this
         * back by registering no-ops encoders for those
         */
        case XML_CHAR_ENCODING_8859_1:
        handler = xmlFindCharEncodingHandler("ISO-8859-1");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_2:
        handler = xmlFindCharEncodingHandler("ISO-8859-2");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_3:
        handler = xmlFindCharEncodingHandler("ISO-8859-3");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_4:
        handler = xmlFindCharEncodingHandler("ISO-8859-4");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_5:
        handler = xmlFindCharEncodingHandler("ISO-8859-5");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_6:
        handler = xmlFindCharEncodingHandler("ISO-8859-6");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_7:
        handler = xmlFindCharEncodingHandler("ISO-8859-7");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_8:
        handler = xmlFindCharEncodingHandler("ISO-8859-8");
        if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_8859_9:
        handler = xmlFindCharEncodingHandler("ISO-8859-9");
        if (handler != NULL) return(handler);
        break;


        case XML_CHAR_ENCODING_2022_JP:
            handler = xmlFindCharEncodingHandler("ISO-2022-JP");
            if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_SHIFT_JIS:
            handler = xmlFindCharEncodingHandler("SHIFT-JIS");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("SHIFT_JIS");
            if (handler != NULL) return(handler);
            handler = xmlFindCharEncodingHandler("Shift_JIS");
            if (handler != NULL) return(handler);
        break;
        case XML_CHAR_ENCODING_EUC_JP:
            handler = xmlFindCharEncodingHandler("EUC-JP");
            if (handler != NULL) return(handler);
        break;
    default:
        break;
    }

#ifdef DEBUG_ENCODING
    xmlGenericError(xmlGenericErrorContext,
        "No handler found for encoding %d\n", enc);
#endif
    return(NULL);
}

Generated on Sat May 26 2012 05:56:26 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.