Packages

  • package root
    Definition Classes
    root
  • package microtesia

    Documentation for the Microtesia microdata parsing library.

    Documentation for the Microtesia microdata parsing library.

    Usage

    To use simply put the Microtesia API in scope and call the parseMicrodata function as follows:

    scala> import microtesia._
    import microtesia.
    
    scala> import scala.util.Try
    import scala.util.Try
    
    scala> parseMicrodata("""<div itemscope itemtype="http://schema.org/Movie"><h1 itemprop="name">Avatar</h1></div>""")
    res0: Try[microtesia.MicrodataDocument] = Success(MicrodataDocument(List(MicrodataItem(ArrayBuffer((name,MicrodataString(Avatar))),Some(http://schema.org/Movie),None))))
    Definition Classes
    root
  • package formats

    API to automatically de-serialise MicrodataValue instances into value types and case classes.

    API to automatically de-serialise MicrodataValue instances into value types and case classes.

    Usage

    To use simply put the Microtesia Formats API in scope (with the Microtesia API). This enriches MicrodataValue instances with the EnrichedMicrodataValue.convertTo method which you can use to parse microdata as follows:

    scala> import microtesia._
    import microtesia._
    
    scala> import formats._
    import formats._
    
    scala> import scala.util.Try
    import scala.util.Try
    
    scala> case class Person(name: String, age: Int, adult: Boolean)
    defined class Person
    
    scala>  MicrodataItem(
              Seq(
                ("name", MicrodataString("hello")),
                ("age", MicrodataString("13")),
                ("adult", MicrodataString("true"))
              )
            ).convertTo[Person]
    res0: Try[Person] = Success(Person(hello,13,true))
  • InvalidMicrodata
  • MicrodataDocument
  • MicrodataItem
  • MicrodataLink
  • MicrodataProperty
  • MicrodataQuery
  • MicrodataString
  • MicrodataValue
p

microtesia

package microtesia

Documentation for the Microtesia microdata parsing library.

Usage

To use simply put the Microtesia API in scope and call the parseMicrodata function as follows:

scala> import microtesia._
import microtesia.

scala> import scala.util.Try
import scala.util.Try

scala> parseMicrodata("""<div itemscope itemtype="http://schema.org/Movie"><h1 itemprop="name">Avatar</h1></div>""")
res0: Try[microtesia.MicrodataDocument] = Success(MicrodataDocument(List(MicrodataItem(ArrayBuffer((name,MicrodataString(Avatar))),Some(http://schema.org/Movie),None))))
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. microtesia
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class InvalidMicrodata extends Exception with Product with Serializable

    Represents failure to parse microdata document, including the line and column number of the failing HTML element.

  2. case class MicrodataDocument extends Product with Serializable

    Representation of a document containing microdata mark-up.

    Representation of a document containing microdata mark-up. Returned by the parseMicrodata function. A MicrodataDocument can contain multiple MicrodataItem instances which can be accessed via the rootItems property as follows:

    scala> document.rootItems.foreach{ (m: MicrodataItem) => println(m.itemtype) }
    Some(http://schema.org/Movie)
  3. case class MicrodataItem(properties: Seq[MicrodataProperty], itemtype: Option[URI] = None, id: Option[URI] = None) extends MicrodataValue with MicrodataQuery with Product with Serializable

    Represents a microdata "item".

    Represents a microdata "item". An item consists of a set of properties (name-value pairs) and an optional itemtype and unique id.

    Note Properties are represented by a sequence of MicrodataProperty and not a map as a property name can have multiple values in a microdata document.

    properties

    Map of name-value pairs.

    itemtype

    Optional type of the item defined by a URI.

    id

    Optional unique identifier of the item defined by a URI.

  4. case class MicrodataLink(link: URI) extends MicrodataValue with Product with Serializable

    Represents a microdata link value.

  5. type MicrodataProperty = (String, MicrodataValue)

    Represents a microdata name-value pair.

  6. trait MicrodataQuery extends AnyRef

    Provides support for XPath-like microdata querying.

  7. case class MicrodataString(value: String) extends MicrodataValue with Product with Serializable

    Represents a microdata string value.

  8. sealed trait MicrodataValue extends AnyRef

    Generic microdata value.

    Generic microdata value. You can extract microdata values using for-comprehensions:

    scala> import microtesia._
    import microtesia._
    
    scala> val items = List(MicrodataItem(List(MicrodataProperty("name",MicrodataString("Avatar")))))
    items: List[microtesia.MicrodataItem] = List(MicrodataItem(List((name,MicrodataString(Avatar))),None,None))
    
    scala> for {
             MicrodataItem(properties, _, _) <- items
             MicrodataProperty("name", MicrodataString(string)) <- properties
           } yield string
    res0: Seq[String] = List(Avatar)

Value Members

  1. def parseMicrodata(input: InputStream)(implicit c: ExecutionContext): Future[MicrodataDocument]

    Parses HTML and returns a structured representation of the microdata items in the document.

    Parses HTML and returns a structured representation of the microdata items in the document. If there was an error parsing the microdata it returns a Left[InvalidMicrodata].

  2. def parseMicrodata(html: String): Try[MicrodataDocument]

    Parses HTML and returns a structured representation of the microdata items in the document.

    Parses HTML and returns a structured representation of the microdata items in the document. If there was an error parsing the microdata it returns a Failed(InvalidMicrodata).

  3. object MicrodataProperty

    Utility object to help extract microdata property values in for-comprehensions.

Inherited from AnyRef

Inherited from Any

Ungrouped