# $Id$
# Equivalent to a header guard in C/C++
# Used to prevent the class/module from being loaded more than once
unless defined? LibXMLJRuby
module LibXMLJRuby
# :stopdoc:
VERSION = '1.0.0'
LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR
PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR
# :startdoc:
# Returns the version string for the library.
#
def self.version
VERSION
end
# Returns the library path for the module. If any arguments are given,
# they will be joined to the end of the libray path using
# File.join.
#
def self.libpath( *args )
args.empty? ? LIBPATH : ::File.join(LIBPATH, *args)
end
# Returns the lpath for the module. If any arguments are given,
# they will be joined to the end of the path using
# File.join.
#
def self.path( *args )
args.empty? ? PATH : ::File.join(PATH, *args)
end
# Utility method used to rquire all files ending in .rb that lie in the
# directory below this file that has the same name as the filename passed
# in. Optionally, a specific _directory_ name can be passed in such that
# the _filename_ does not have to be equivalent to the directory.
#
def self.require_all_libs_relative_to( fname, dir = nil )
dir ||= ::File.basename(fname, '.*')
search_me = ::File.expand_path(
::File.join(::File.dirname(fname), dir, '**', '*.rb'))
Dir.glob(search_me).sort.each {|rb| require rb}
end
end # module LibXMLJRuby
require 'java'
require 'stringio'
import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.xpath.XPath
import javax.xml.xpath.XPathFactory
import javax.xml.xpath.XPathConstants
import javax.xml.namespace.NamespaceContext
import java.io.StringReader
import java.io.StringWriter
import javax.xml.validation.Schema
import javax.xml.validation.SchemaFactory
import java.io.ByteArrayInputStream
import javax.xml.transform.stream.StreamSource
import javax.xml.transform.stream.StreamResult
import javax.xml.transform.TransformerFactory
import javax.xml.transform.dom.DOMSource
# these use include_class to avoid conflicts with Rake's top-level
# import method, the issue doesn't seem to occur when not using a
# string.
include_class 'com.sun.org.apache.xml.internal.utils.PrefixResolver'
include_class 'com.sun.org.apache.xml.internal.utils.PrefixResolverDefault'
include_class 'org.xml.sax.InputSource'
LibXMLJRuby.require_all_libs_relative_to __FILE__
::LibXML = ::LibXMLJRuby
end # unless defined?
# EOF