 /// - missingFile: A file is missing from the container at `path`.
 /// - xmlParse: An XML parsing error occurred.
 /// - missingElement: An XML element is missing.
+/// - unsupportedDrm: ACS and URMS.
 public enum EpubParserError: Error {
     case wrongMimeType
     case missingFile(path: String)
     case xmlParse(underlyingError: Error)
     case missingElement(message: String)
+    case unsupportedDrm
 }
 
 extension EpubParser: Loggable {}

        // Parse OPF file (Metadata, Spine, Resource) and return the Publication.
        var publication = try opfp.parseOPF(from: document, with: container, and: epubVersion)
        // Parse the META-INF/Encryption.xml.
        parseEncryption(from: container, to: &publication)
        // Parse Navigation Document.
        parseNavigationDocument(from: container, to: &publication)
        // Parse the NCX Document (if any).

    ///   - container: The EPUB Container.
    ///   - publication: The Publication.
    /// - Throws: 
    internal func parseEncryption(from container: EpubContainer, to publication: inout Publication) throws {
        //if publication.metadata.title ==
        // Check if there is an encryption file.
        let document: AEXMLDocument
