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

scala.xml.parsing.ExternalSources.scala Maven / Gradle / Ivy

The newest version!
/*
 * Scala (https://www.scala-lang.org)
 *
 * Copyright EPFL and Lightbend, Inc.
 *
 * Licensed under Apache License 2.0
 * (http://www.apache.org/licenses/LICENSE-2.0).
 *
 * See the NOTICE file distributed with this work for
 * additional information regarding copyright ownership.
 */

package scala
package xml
package parsing

import java.net.URL
import java.io.File.separator

import scala.io.Source

/**
 *  @author  Burak Emir
 */
trait ExternalSources {
  self: ExternalSources with MarkupParser with MarkupHandler =>

  def externalSource(systemId: String): Source = {
    if (systemId.startsWith("http:"))
      return Source.fromURL(new URL(systemId))

    val fileStr: String = input.descr match {
      case x if x.startsWith("file:") => x.drop(5)
      case x                          => x.take(x.lastIndexOf(separator) + 1)
    }

    Source.fromFile(s"$fileStr$systemId")
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy