当前位置: 首页>>代码示例>>Java>>正文


Java XMLDocumentFilter类代码示例

本文整理汇总了Java中org.apache.xerces.xni.parser.XMLDocumentFilter的典型用法代码示例。如果您正苦于以下问题:Java XMLDocumentFilter类的具体用法?Java XMLDocumentFilter怎么用?Java XMLDocumentFilter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


XMLDocumentFilter类属于org.apache.xerces.xni.parser包,在下文中一共展示了XMLDocumentFilter类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initParser

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
@Override
protected void initParser(Ruby runtime) {
    XMLParserConfiguration config = new HTMLConfiguration();
    XMLDocumentFilter removeNSAttrsFilter = new RemoveNSAttrsFilter();
    XMLDocumentFilter elementValidityCheckFilter = new ElementValidityCheckFilter(errorHandler);
    //XMLDocumentFilter[] filters = { removeNSAttrsFilter,  elementValidityCheckFilter};
    XMLDocumentFilter[] filters = { elementValidityCheckFilter};

    config.setErrorHandler(this.errorHandler);

    parser = new NokogiriDomParser(config);

    // see http://nekohtml.sourceforge.net/settings.html for details
    setProperty("http://cyberneko.org/html/properties/default-encoding", java_encoding);
    setProperty("http://cyberneko.org/html/properties/names/elems", "lower");
    setProperty("http://cyberneko.org/html/properties/names/attrs", "lower");
    setProperty("http://cyberneko.org/html/properties/filters", filters);
    setFeature("http://cyberneko.org/html/features/report-errors", true);
    setFeature("http://xml.org/sax/features/namespaces", false);
}
 
开发者ID:gocd,项目名称:gocd,代码行数:21,代码来源:HtmlDomParserContext.java

示例2: setProperty

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
/** Sets a property. */
public void setProperty(String propertyId, Object value)
    throws XMLConfigurationException {
    super.setProperty(propertyId, value);

    if (propertyId.equals(FILTERS)) {
        XMLDocumentFilter[] filters = (XMLDocumentFilter[])getProperty(FILTERS);
        if (filters != null) {
            for (int i = 0; i < filters.length; i++) {
                XMLDocumentFilter filter = filters[i];
                if (filter instanceof HTMLComponent) {
                    addComponent((HTMLComponent)filter);
                }
            }
        }
    }

    int size = fHTMLComponents.size();
    for (int i = 0; i < size; i++) {
        HTMLComponent component = (HTMLComponent)fHTMLComponents.elementAt(i);
        component.setProperty(propertyId, value);
    }
}
 
开发者ID:ecologylab,项目名称:BigSemanticsJava,代码行数:24,代码来源:HTMLConfiguration.java

示例3: TemplateParserConfiguration

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
public TemplateParserConfiguration(HTMLScanner scanner, String templateDefaultCharset, boolean balanceTag) {
    AdditionalHandlerFilter starter = new AdditionalHandlerFilter();
    addComponent(starter);
    setProperty(TemplateScanner.HTML_NAMES_ELEMS, "match");
    setProperty(TemplateScanner.HTML_NAMES_ATTRS, "no-change");
    /* テンプレート上にエンコーディング指定がなければUTF-8と見なす */
    setProperty(TemplateScanner.HTML_DEFAULT_ENCODING, templateDefaultCharset);
    setProperty(TemplateScanner.FILTERS, new XMLDocumentFilter[] { starter });
    /* 元のテンプレート内容を忠実に再現させるオプション。
     * ただし、</html>の後ろは無視される。false(デフォルト)の場合は、
     * </body>と</html>の後につづくものをnekoがむりやり前に持ってくる */
    setFeature(IGNORE_OUTSIDE_CONTENT, true);
    /* <html>や<body>が無い場合もそのままにするオプション。
     * これが無いと勝手に付与されてしまう。 */
    setFeature(DOCUMENT_FRAGMENT, true);
    /* HTMLの省略可能な閉じタグなどを自動的に付与するオプション。
     * これをfalseにするべきではないが、HTML5の場合にはaタグがblock要素になっているが
     * NekoHTMLはinlineとして見てしまうため意図しない動きをするため、HTMLのバランスを
     * 作成者側で保証することとしてfalseにする。 */
    setFeature(BALANCE_TAGS, balanceTag);
    fDocumentScanner = scanner;
    fDocumentScanner.reset(this);
}
 
开发者ID:seasarorg,项目名称:mayaa,代码行数:24,代码来源:TemplateParser.java

示例4: reset

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
/** Resets the parser configuration. */
protected void reset() throws XMLConfigurationException {

    // reset components
    int size = fHTMLComponents.size();
    for (int i = 0; i < size; i++) {
        HTMLComponent component = (HTMLComponent)fHTMLComponents.elementAt(i);
        component.reset(this);
    }

    // configure pipeline
    XMLDocumentSource lastSource = fDocumentScanner;
    if (getFeature(NAMESPACES)) {
        lastSource.setDocumentHandler(fNamespaceBinder);
        fNamespaceBinder.setDocumentSource(fTagBalancer);
        lastSource = fNamespaceBinder;
    }
    if (getFeature(BALANCE_TAGS)) {
        lastSource.setDocumentHandler(fTagBalancer);
        fTagBalancer.setDocumentSource(fDocumentScanner);
        lastSource = fTagBalancer;
    }
    XMLDocumentFilter[] filters = (XMLDocumentFilter[])getProperty(FILTERS);
    if (filters != null) {
        for (int i = 0; i < filters.length; i++) {
            XMLDocumentFilter filter = filters[i];
            XercesBridge.getInstance().XMLDocumentFilter_setDocumentSource(filter, lastSource);
            lastSource.setDocumentHandler(filter);
            lastSource = filter;
        }
    }
    lastSource.setDocumentHandler(fDocumentHandler);

}
 
开发者ID:ecologylab,项目名称:BigSemanticsJava,代码行数:35,代码来源:HTMLConfiguration.java

示例5: XMLDocumentFilter_setDocumentSource

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
public void XMLDocumentFilter_setDocumentSource(XMLDocumentFilter filter,
		XMLDocumentSource lastSource) {
	filter.setDocumentSource(lastSource);
}
 
开发者ID:ecologylab,项目名称:BigSemanticsJava,代码行数:5,代码来源:XercesBridge_2_1.java

示例6: XMLDocumentFilter_setDocumentSource

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
/**
 * Calls setDocumentSource (if available in the Xerces version used) on the {@link XMLDocumentFilter}.
 * This implementation does nothing.
 */
public void XMLDocumentFilter_setDocumentSource(XMLDocumentFilter filter,
		XMLDocumentSource lastSource)
{
	// nothing, it didn't exist on old Xerces versions
}
 
开发者ID:ecologylab,项目名称:BigSemanticsJava,代码行数:10,代码来源:XercesBridge.java

示例7: main

import org.apache.xerces.xni.parser.XMLDocumentFilter; //导入依赖的package包/类
/** Main. */
public static void main(String[] argv) throws Exception {
    if (argv.length == 0) {
        printUsage();
        System.exit(1);
    }
    XMLParserConfiguration parser = new HTMLConfiguration();
    parser.setFeature(NOTIFY_CHAR_REFS, true);
    parser.setFeature(NOTIFY_HTML_BUILTIN_REFS, true);
    String iencoding = null;
    String oencoding = "Windows-1252";
    boolean identity = false;
    boolean purify = false;
    for (int i = 0; i < argv.length; i++) {
        String arg = argv[i];
        if (arg.equals("-ie")) {
            iencoding = argv[++i];
            continue;
        }
        if (arg.equals("-e") || arg.equals("-oe")) {
            oencoding = argv[++i];
            continue;
        }
        if (arg.equals("-i")) {
            identity = true;
            continue;
        }
        if (arg.equals("-p")) {
            purify = true;
            continue;
        }
        if (arg.equals("-h")) {
            printUsage();
            System.exit(1);
        }
        java.util.Vector filtersVector = new java.util.Vector(2);
        if (identity) {
            filtersVector.addElement(new Identity());
        }
        else if (purify) {
            filtersVector.addElement(new Purifier());
        }
        filtersVector.addElement(new Writer(System.out, oencoding));
        XMLDocumentFilter[] filters = 
            new XMLDocumentFilter[filtersVector.size()];
        filtersVector.copyInto(filters);
        parser.setProperty(FILTERS, filters);
        XMLInputSource source = new XMLInputSource(null, arg, null);
        source.setEncoding(iencoding);
        parser.parse(source);
    }
}
 
开发者ID:ecologylab,项目名称:BigSemanticsJava,代码行数:53,代码来源:Writer.java


注:本文中的org.apache.xerces.xni.parser.XMLDocumentFilter类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。