ooxml-core 0.1.0

OOXML 公共基座:OPC 打包层 + DrawingML 公共类型系统,服务于 pptx-rs / xlsx-rs / docx-rs
Documentation
//! ooxml-core:OOXML 公共基座 crate。
//!
//! 本 crate 从 pptx-rs 提取**格式无关**的公共层,服务于 OOXML 三件套:
//! - [`pptx-rs`](https://github.com/WenTao-Love/pptx-rs)(PowerPoint .pptx)
//! - xlsx-rs(Excel .xlsx,Phase 2 规划)
//! - docx-rs(Word .docx,Phase 3 规划)
//!
//! # 提供的能力
//!
//! - **OPC 打包层**([`opc`]):ZIP 容器读写、`[Content_Types].xml`、Part 关系链管理
//! - **OOXML 公共类型**([`oxml`]):命名空间常量、XML writer/reader、SimpleTypes 枚举、
//!   DrawingML 颜色/形状属性/文本体/表格
//! - **单位换算**([`units`]):EMU / Pt / Inches / Cm / RGBColor
//! - **错误类型**([`error`]):统一的 `Error` 枚举 + `Result<T>` 别名
//!
//! # 设计原则
//!
//! 1. **格式无关**:不包含任何 PPTX/XLSX/DOCX 特有逻辑
//! 2. **零 `unsafe`**:crate 级 `#![forbid(unsafe_code)]`
//! 3. **MSRV 1.75+**:与消费者 crate 保持一致
//!
//! # 与 ECMA-376 的对应
//!
//! - OPC 层对应 ECMA-376 Part 2(Open Packaging Conventions)
//! - DrawingML 类型对应 ECMA-376 Part 1 §20.1(DrawingML)
//! - SimpleTypes 对应 ECMA-376 Part 1 §22(Schema)

#![forbid(unsafe_code)]

pub mod error;
pub mod escape;
pub mod opc;
pub mod oxml;
pub mod units;

pub use error::{Error, Result};
pub use escape::xml_escape;
pub use units::*;