Example #1
0
  /**
   * Parse an AXML chunk.
   *
   * @param jhove2 JHOVE2 framework
   * @param source WAVE source unit
   * @param input WAVE source input
   * @return Number of bytes consumed
   * @throws JHOVE2Exception
   * @throws IOException
   * @throws EOFException
   */
  @Override
  public long parse(JHOVE2 jhove2, Source source, Input input)
      throws EOFException, IOException, JHOVE2Exception {
    long consumed = super.parse(jhove2, source, input);

    /* The chunk contents are in XML; invoke the XML module. */
    ByteStreamSource child =
        jhove2
            .getSourceFactory()
            .getByteStreamSource(jhove2, source, input.getPosition(), this.size, ".xml");
    I8R xml = this.xmlFormat.getIdentifier();
    FormatIdentification id = new FormatIdentification(xml, Confidence.PositiveGeneric);
    child.addPresumptiveFormat(id);
    jhove2.characterize(child, input);
    consumed += this.size;

    return consumed;
  }