com.brightcove.player.captioning

## Class TTMLParser

- java.lang.Object
- - com.brightcove.player.captioning.TTMLParser

-     public class TTMLParser
      extends java.lang.Object

  Implementation of a parser which understands much of the DFXP TTML specification (though not all). Specifically, these items are recognized:
  - Region element definitions
  - Style element definitions
  - Basic body structure with with P tags wrapped in top-level divs which contain spans, br's and unspanned text
  See Also:
    http://www.w3.org/TR/ttaf1-dfxp/

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `TTMLParser.Attributes` All XML attributes recognized in a TTML document.
    `static class` | `TTMLParser.Namespaces` Namespaces specified by TTML specification.
    `static class` | `TTMLParser.Tags` All tags recognized in a TTML document.

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `parseTimeValue(java.lang.String value)` Deprecated.
    `static long` | `parseTimeValueLong(java.lang.String value)` Parses a string representing a time code position within a video following the format: HH:MM:ss.mmm or HH:MM:ss:mm Where the following values are expected: HH - a 2 digit hours value, zero padded MM - a 2 digit minutes value, zero padded ss - a 2 digit seconds value, zero padded mmm - a 2 or 3 digit milliseconds value, zero padded The parsed value is converted to an integer representing the total number of milliseconds represented by this time code expression, relative to the start of a video timeline.
    `static TTMLDocument` | `parseXml(java.io.InputStream inputStream, java.lang.String encoding)` Parses the given `InputStream` using the specified encoding.
    `static TTMLDocument` | `parseXml(java.io.Reader reader)` Parses the given `Reader` into a `TTMLDocument`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### parseXml

          public static TTMLDocument parseXml(java.io.InputStream inputStream,
                                              java.lang.String encoding)
                                       throws org.xmlpull.v1.XmlPullParserException,
                                              java.io.IOException

      Parses the given `InputStream` using the specified encoding.
      Parameters:
        `inputStream` - the stream containing the content to parse
        `encoding` - the character encoding
      Returns:
        a parsed `TTMLDocument`
      Throws:
        `org.xmlpull.v1.XmlPullParserException`
        `java.io.IOException`

    - #### parseXml

          public static TTMLDocument parseXml(java.io.Reader reader)
                                       throws org.xmlpull.v1.XmlPullParserException,
                                              java.io.IOException

      Parses the given `Reader` into a `TTMLDocument`.
      Parameters:
        `reader` - the reader containing the content to parse
      Returns:
        a parsed `TTMLDocument`
      Throws:
        `org.xmlpull.v1.XmlPullParserException`
        `java.io.IOException`

    - #### parseTimeValue

          @Deprecated
          public static int parseTimeValue(java.lang.String value)

      Deprecated.
      Parses a string representing a time code position within a video following the format: HH:MM:ss.mmm or HH:MM:ss:mm Where the following values are expected:
      - HH - a 2 digit hours value, zero padded
      - MM - a 2 digit minutes value, zero padded
      - ss - a 2 digit seconds value, zero padded
      - mmm - a 2 or 3 digit milliseconds value, zero padded
      The parsed value is converted to an integer representing the total number of milliseconds represented by this time code expression, relative to the start of a video timeline.
      Parameters:
        `value` - the time code expression to be parsed
      Returns:
        the value, in milliseconds, parsed by the given input expression

    - #### parseTimeValueLong

          public static long parseTimeValueLong(java.lang.String value)

      Parses a string representing a time code position within a video following the format: HH:MM:ss.mmm or HH:MM:ss:mm Where the following values are expected:
      - HH - a 2 digit hours value, zero padded
      - MM - a 2 digit minutes value, zero padded
      - ss - a 2 digit seconds value, zero padded
      - mmm - a 2 or 3 digit milliseconds value, zero padded
      The parsed value is converted to an integer representing the total number of milliseconds represented by this time code expression, relative to the start of a video timeline.
      Parameters:
        `value` - the time code expression to be parsed
      Returns:
        the value, in milliseconds, parsed by the given input expression