def externalEntityRef(context, base, systemId, publicId)
text
tree = nil
if @parse_ext
extp = self.class.new(@document, self, context)
extp.setBase(base) if base
file = systemId
if systemId !~ /^\/|^\.|^http:|^ftp:/ && !base.nil?
file = base + systemId
end
begin
xml = @entityResolver.resolveEntity(nil, file).byteStream.read
tree = extp.parse(xml, @parse_ext)
rescue XML::Parser::Error
raise XML::Parser::Error.new("#{systemId}(#{extp.line}): #{$!}")
rescue Errno::ENOENT
raise
end
extp.done
end
if @createEntityReference
entref = @document.createEntityReference(context)
@current.appendChild(entref)
entref.appendChild(tree) if tree
else
@current.appendChild(tree) if tree
end
end