All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.thaiopensource.relaxng.parse.sax.SAXSubParser Maven / Gradle / Ivy

The newest version!
package com.thaiopensource.relaxng.parse.sax;

import com.thaiopensource.relaxng.parse.Annotations;
import com.thaiopensource.relaxng.parse.BuildException;
import com.thaiopensource.relaxng.parse.CommentList;
import com.thaiopensource.relaxng.parse.SubParseable;
import com.thaiopensource.relaxng.parse.SubParser;
import com.thaiopensource.resolver.xml.sax.SAXResolver;
import com.thaiopensource.xml.util.WellKnownNamespaces;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;

import java.io.IOException;

public class SAXSubParser, A extends Annotations> implements
        SubParser {
  final SAXResolver resolver;
  final ErrorHandler eh;

  SAXSubParser(SAXResolver resolver, ErrorHandler eh) {
    this.resolver = resolver;
    this.eh = eh;
  }

  public SubParseable createSubParseable(String href, String base) throws BuildException {
    try {
      return new SAXParseable(resolver.resolve(href, base, WellKnownNamespaces.RELAX_NG), resolver, eh);
    }
    catch (SAXException e) {
      throw BuildException.fromSAXException(e);
    }
    catch (IOException e) {
      throw new BuildException(e);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy