Exemple #1
0
void CCFHtmlTidy::InitTidyDefault()
{
	TidyDoc formatter = tidyImplToDoc(tidy);
	tidyOptSetBool(formatter, TidyShowMarkup, no);
	tidyOptSetBool(formatter, TidyShowWarnings, no);
	tidyOptSetBool(formatter, TidyDropEmptyParas, no);
	tidyOptSetBool(formatter, TidyFixComments, no);
	tidyOptSetBool(formatter, TidyQuoteNbsp, no);
	tidyOptSetBool(formatter, TidyQuoteAmpersand, no);
	tidyOptSetBool(formatter, TidyWrapSection, no);
	tidyOptSetBool(formatter, TidyWrapAsp, no);
	tidyOptSetBool(formatter, TidyWrapJste, no);
	tidyOptSetBool(formatter, TidyWrapPhp, no);
	tidyOptSetBool(formatter, TidyFixBackslash, no);
	tidyOptSetBool(formatter, TidyMark, no);
	tidyOptSetBool(formatter, TidyFixUri, no);
	tidyOptSetBool(formatter, TidyLowerLiterals, no);
	tidyOptSetBool(formatter, TidyJoinStyles, no);
	tidyOptSetBool(formatter, TidyNCR, no);
	tidyOptSetBool(formatter, TidyAnchorAsName, no);
	tidyOptSetInt(formatter, TidyNewline, 0);
}
static void messagePos( TidyDocImpl* doc, TidyReportLevel level, uint code,
                        int line, int col, ctmbstr msg, va_list args )
{
    enum { sizeMessageBuf=2048 };
    char *messageBuf = TidyDocAlloc(doc,sizeMessageBuf);
    Bool go = UpdateCount( doc, level );

    if ( go )
    {
        va_list args_copy;
        va_copy(args_copy, args);
        TY_(tmbvsnprintf)(messageBuf, sizeMessageBuf, msg, args);
        if ( doc->mssgFilt )
        {
            TidyDoc tdoc = tidyImplToDoc( doc );
            go = doc->mssgFilt( tdoc, level, line, col, messageBuf );
        }
        if ( doc->mssgFilt2 )
        {
            /* mssgFilt2 is intended to allow LibTidy users to localize
               messages via their own means by providing a key string and
               the parameters to fill it. For the key string to remain
               consistent, we have to ensure that we only ever return the
               built-in English version of this string. */
            TidyDoc tdoc = tidyImplToDoc( doc );
            go = go | doc->mssgFilt2( tdoc, level, line, col, tidyDefaultString(code), args_copy );
        }
        if ( doc->mssgFilt3 )
        {
            /* mssgFilt3 is intended to allow LibTidy users to localize
               messages via their own means by providing a key string and
               the parameters to fill it. */
            TidyDoc tdoc = tidyImplToDoc( doc );
            go = go | doc->mssgFilt3( tdoc, level, line, col, tidyErrorCodeAsString(code), args_copy );
        }
    }

    if ( go )
    {
        enum { sizeBuf=1024 };
        char *buf = TidyDocAlloc(doc,sizeBuf);
        const char *cp;
        if ( line > 0 && col > 0 )
        {
            ReportPosition(doc, line, col, buf, sizeBuf);
#if !defined(NDEBUG) && defined(_MSC_VER)
            SPRTF("%s",buf);
#endif
            for ( cp = buf; *cp; ++cp )
                TY_(WriteChar)( *cp, doc->errout );
        }

        LevelPrefix( level, buf, sizeBuf );
#if !defined(NDEBUG) && defined(_MSC_VER)
            SPRTF("%s",buf);
            SPRTF("%s\n",messageBuf);
#else
        for ( cp = buf; *cp; ++cp )
            TY_(WriteChar)( *cp, doc->errout );

        for ( cp = messageBuf; *cp; ++cp )
            TY_(WriteChar)( *cp, doc->errout );
        TY_(WriteChar)( '\n', doc->errout );
#endif
        TidyDocFree(doc, buf);
    }
    TidyDocFree(doc, messageBuf);
}
Exemple #3
0
TidyDoc TIDY_CALL tidyCreateWithAllocator( TidyAllocator *allocator )
{
    TidyDocImpl* impl = tidyDocCreate( allocator );
    return tidyImplToDoc( impl );
}
Exemple #4
0
TidyDoc TIDY_CALL       tidyCreate(void)
{
    TidyDocImpl* impl = tidyDocCreate( &TY_(g_default_allocator) );
    return tidyImplToDoc( impl );
}
Exemple #5
0
TidyDoc TIDY_CALL       tidyCreate(void)
{
  TidyDocImpl* impl = tidyDocCreate();
  return tidyImplToDoc( impl );
}
Exemple #6
0
void CCFHtmlTidy::SetTidyProp(const std::string& strParam, int nNumValue, const std::string& /*strNumValue*/, const std::string& strTextValue)
{
	TidyDoc formatter = tidyImplToDoc(tidy);
	if ("axd" == strParam)
	{
		tidyOptSetBool(formatter, TidyXmlDecl, yes);
	}
	else if ("axs" == strParam)
	{
		tidyOptSetBool(formatter, TidyXmlSpace, yes);
	}
	else if ("aan" == strParam)
	{
		tidyOptSetBool(formatter, TidyAnchorAsName, yes);
	}
	else if ("axp" == strParam)
	{
		tidyOptSetBool(formatter, TidyXmlPIs, yes);
	}
	else if ("b" == strParam)
	{
		tidyOptSetBool(formatter, TidyMakeBare, yes);
	}
	else if ("c" == strParam)
	{
		tidyOptSetBool(formatter, TidyMakeClean, yes);
	}
	else if ("diu" == strParam)
	{
		tidyOptSetBool(formatter, TidyDecorateInferredUL, yes);
	}
	else if ("dep" == strParam)
	{
		tidyOptSetBool(formatter, TidyDropEmptyParas, yes);
	}
	else if ("dft" == strParam)
	{
		tidyOptSetBool(formatter, TidyDropFontTags, yes);
	}
	else if ("dpa" == strParam)
	{
		tidyOptSetBool(formatter, TidyDropPropAttrs, yes);
	}
	else if ("ebt" == strParam)
	{
		tidyOptSetBool(formatter, TidyEncloseBlockText, yes);
	}
	else if ("et" == strParam)
	{
		tidyOptSetBool(formatter, TidyEncloseBodyText, yes);
	}
	else if ("ec" == strParam)
	{
		tidyOptSetBool(formatter, TidyEscapeCdata, yes);
	}
	else if ("fb" == strParam)
	{
		tidyOptSetBool(formatter, TidyFixBackslash, yes);
	}
	else if ("fbc" == strParam)
	{
		tidyOptSetBool(formatter, TidyFixComments, yes);
	}
	else if ("fu" == strParam)
	{
		tidyOptSetBool(formatter, TidyFixUri, yes);
	}
	else if ("hc" == strParam)
	{
		tidyOptSetBool(formatter, TidyHideComments, yes);
	}
	else if ("he" == strParam)
	{
		tidyOptSetBool(formatter, TidyHideEndTags, yes);
	}
	else if ("ic" == strParam)
	{
		tidyOptSetBool(formatter, TidyIndentCdata, yes);
	}
	else if ("ix" == strParam)
	{
		tidyOptSetBool(formatter, TidyXmlTags, yes);
	}
	else if ("jc" == strParam)
	{
		tidyOptSetBool(formatter, TidyJoinClasses, yes);
	}
	else if ("js" == strParam)
	{
		tidyOptSetBool(formatter, TidyJoinStyles, yes);
	}
	else if ("la" == strParam)
	{
		tidyOptSetBool(formatter, TidyLiteralAttribs, yes);
	}
	else if ("le" == strParam)
	{
		tidyOptSetBool(formatter, TidyLogicalEmphasis, yes);
	}
	else if ("ll" == strParam)
	{
		tidyOptSetBool(formatter, TidyLowerLiterals, yes);
	}
	else if ("n" == strParam)
	{
		tidyOptSetBool(formatter, TidyNCR, yes);
	}
	else if ("ne" == strParam)
	{
		tidyOptSetBool(formatter, TidyNumEntities, yes);
	}
	else if ("oh" == strParam)
	{
		tidyOptSetBool(formatter, TidyHtmlOut, yes);
	}
	else if ("ox" == strParam)
	{
		tidyOptSetBool(formatter, TidyXhtmlOut, yes);
	}
	else if ("oxm" == strParam)
	{
		tidyOptSetBool(formatter, TidyXmlOut, yes);
	}
	else if ("pe" == strParam)
	{
		tidyOptSetBool(formatter, TidyPreserveEntities, yes);
	}
	else if ("qa" == strParam)
	{
		tidyOptSetBool(formatter, TidyQuoteAmpersand, yes);
	}
	else if ("qm" == strParam)
	{
		tidyOptSetBool(formatter, TidyQuoteMarks, yes);
	}
	else if ("qn" == strParam)
	{
		tidyOptSetBool(formatter, TidyQuoteNbsp, yes);
	}
	else if ("rc" == strParam)
	{
		tidyOptSetBool(formatter, TidyReplaceColor, yes);
	}
	else if ("ua" == strParam)
	{
		tidyOptSetBool(formatter, TidyUpperCaseAttrs, yes);
	}
	else if ("ut" == strParam)
	{
		tidyOptSetBool(formatter, TidyUpperCaseTags, yes);
	}
	else if ("wo" == strParam)
	{
		tidyOptSetBool(formatter, TidyWord2000, yes);
	}
	else if ("bbb" == strParam)
	{
		tidyOptSetBool(formatter, TidyBreakBeforeBR, yes);
	}
	else if ("ia" == strParam)
	{
		tidyOptSetBool(formatter, TidyIndentAttributes, yes);
	}
	else if ("m" == strParam)
	{
		tidyOptSetBool(formatter, TidyShowMarkup, yes);
	}
	else if ("pw" == strParam)
	{
		tidyOptSetBool(formatter, TidyPunctWrap, yes);
	}
	else if ("vs" == strParam)
	{
		tidyOptSetBool(formatter, TidyVertSpace, yes);
	}
	else if ("wa" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapAsp, yes);
	}
	else if ("wat" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapAttVals, yes);
	}
	else if ("wj" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapJste, yes);
	}
	else if ("wp" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapPhp, yes);
	}
	else if ("wsl" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapScriptlets, yes);
	}
	else if ("ws" == strParam)
	{
		tidyOptSetBool(formatter, TidyWrapSection, yes);
	}
	else if ("ac" == strParam)
	{
		tidyOptSetBool(formatter, TidyAsciiChars, yes);
	}
	else if ("sw" == strParam)
	{
		tidyOptSetBool(formatter, TidyShowWarnings, yes);
	}
	else if ("fo" == strParam)
	{
		tidyOptSetBool(formatter, TidyForceOutput, yes);
	}
	else if ("i" == strParam)
	{
		tidyOptSetInt(formatter, TidyIndentContent, abs(nNumValue - 2) % 3);
	}
	else if ("md" == strParam)
	{
		tidyOptSetInt(formatter, TidyMergeDivs, abs(nNumValue - 2) % 3);
	}
	else if ("ms" == strParam)
	{
		tidyOptSetInt(formatter, TidyMergeSpans, abs(nNumValue - 2) % 3);
	}
	else if ("sbo" == strParam)
	{
		tidyOptSetInt(formatter, TidyBodyOnly, abs(nNumValue - 2) % 3);
	}
	else if ("d" == strParam)
	{
		tidyOptSetInt(formatter, TidyDoctypeMode, nNumValue % 5);
	}
	else if ("du" == strParam)
	{
		tidyOptSetValue(formatter, TidyDoctype, strTextValue.c_str());
	}
	else if ("ra" == strParam)
	{
		tidyOptSetInt(formatter, TidyDuplicateAttrs, nNumValue % 2);
	}
	else if ("sa" == strParam)
	{
		tidyOptSetInt(formatter, TidySortAttributes, nNumValue % 2);
	}
	else if ("ce" == strParam)
	{
		tidySetCharEncoding(formatter, TY_(GetEncodingOptNameFromTidyId)(nNumValue));
	}
	else if ("ie" == strParam)
	{
		tidySetInCharEncoding(formatter, TY_(GetEncodingOptNameFromTidyId)(nNumValue));
	}
	else if ("oe" == strParam)
	{
		tidySetOutCharEncoding(formatter, TY_(GetEncodingOptNameFromTidyId)(nNumValue));
	}
	else if ("se" == strParam)
	{
		tidyOptSetInt(formatter, TidyShowErrors, nNumValue);
	}
	else if ("is" == strParam)
	{
		tidyOptSetInt(formatter, TidyIndentSpaces, nNumValue);
	}
	else if ("ts" == strParam)
	{
		tidyOptSetInt(formatter, TidyTabSize, nNumValue);
	}
	else if ("w" == strParam)
	{
		tidyOptSetInt(formatter, TidyWrapLen, nNumValue);
	}
	else if ("at" == strParam)
	{
		tidyOptSetValue(formatter, TidyAltText, strTextValue.c_str());
	}
	else if ("cp" == strParam)
	{
		tidyOptSetValue(formatter, TidyCSSPrefix, strTextValue.c_str());
	}
	else if ("nbt" == strParam)
	{
		tidyOptSetValue(formatter, TidyBlockTags, strTextValue.c_str());
	}
	else if ("net" == strParam)
	{
		tidyOptSetValue(formatter, TidyEmptyTags, strTextValue.c_str());
	}
	else if ("nit" == strParam)
	{
		tidyOptSetValue(formatter, TidyInlineTags, strTextValue.c_str());
	}
	else if ("npt" == strParam)
	{
		tidyOptSetValue(formatter, TidyPreTags, strTextValue.c_str());
	}
}
Exemple #7
0
static void messagePos( TidyDocImpl* doc, TidyReportLevel level, uint code,
                        int line, int col, ctmbstr msg, va_list args )
{
    enum { sizeMessageBuf=2048 };
    char *messageBuf = TidyDocAlloc(doc,sizeMessageBuf);
    Bool go = UpdateCount( doc, level );

    if ( go )
    {
        va_list args_copy;
        va_copy(args_copy, args);
        TY_(tmbvsnprintf)(messageBuf, sizeMessageBuf, msg, args_copy);
        if ( doc->mssgFilt )
        {
            TidyDoc tdoc = tidyImplToDoc( doc );
            go = doc->mssgFilt( tdoc, level, line, col, messageBuf );
        }
        if ( doc->mssgFilt2 )
        {
            /* mssgFilt2 is intended to allow LibTidy users to localize
               messages via their own means by providing a key string and
               the parameters to fill it. For the key string to remain
               consistent, we have to ensure that we only ever return the
               built-in English version of this string. */
            TidyDoc tdoc = tidyImplToDoc( doc );
            va_end(args_copy);
            va_copy(args_copy, args);
            go = go | doc->mssgFilt2( tdoc, level, line, col, tidyDefaultString(code), args_copy );
        }
        if ( doc->mssgFilt3 )
        {
            /* mssgFilt3 is intended to allow LibTidy users to localize
               messages via their own means by providing a key string and
               the parameters to fill it. */
            TidyDoc tdoc = tidyImplToDoc( doc );
            va_end(args_copy);
            va_copy(args_copy, args);
            go = go | doc->mssgFilt3( tdoc, level, line, col, tidyErrorCodeAsString(code), args_copy );
        }
        va_end(args_copy);
    }

    if ( go )
    {
        enum { sizeBuf=1024 };
        TidyOutputSink *outp = &doc->errout->sink;
        char *buf = (char *)TidyDocAlloc(doc,sizeBuf);
        const char *cp;
        byte b;
        if ( line > 0 && col > 0 )
        {
            ReportPosition(doc, line, col, buf, sizeBuf);
            for ( cp = buf; *cp; ++cp )
            {
                b = (*cp & 0xff);
                outp->putByte( outp->sinkData, b );
            }
        }

        LevelPrefix( level, buf, sizeBuf );
        for ( cp = buf; *cp; ++cp )
        {
            b = (*cp & 0xff);
            outp->putByte( outp->sinkData, b );
        }
        for ( cp = messageBuf; *cp; ++cp )
        {
            b = (*cp & 0xff);
            outp->putByte( outp->sinkData, b );
        }
        TY_(WriteChar)( '\n', doc->errout );
        TidyDocFree(doc, buf);
    }
    TidyDocFree(doc, messageBuf);
}