osf 0.1.0

Parser for Open Screenplay Format (OSF) files used by Fade In Pro screenwriting software
Documentation
/// Errors that can occur when parsing an OSF document.
#[derive(Debug, thiserror::Error)]
pub enum OsfError {
    /// The input is not a valid ZIP archive.
    #[error("not a valid ZIP archive: {0}")]
    InvalidZip(#[from] zip::result::ZipError),

    /// The ZIP archive does not contain a `document.xml` file.
    #[error("document.xml not found in archive")]
    MissingDocument,

    /// An I/O error occurred while reading the file.
    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    /// The XML content could not be parsed.
    #[error("XML parse error: {0}")]
    Xml(String),

    /// The input is not a valid OSF document (neither ZIP nor XML).
    #[error("not an OSF document")]
    NotOsf,
}