# File lib/xml/dom2/dombuilder.rb, line 192
      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