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