mf_core/schema_parser/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
5pub enum XmlSchemaError {
6 #[error("XML 解析错误: {0}")]
7 XmlParseError(#[from] quick_xml::Error),
8
9 #[error("XML 反序列化错误: {0}")]
10 DeserializeError(#[from] quick_xml::DeError),
11
12 #[error("JSON 值解析错误: {0}")]
13 JsonError(#[from] serde_json::Error),
14
15 #[error("缺少必需的属性: {0}")]
16 MissingAttribute(String),
17
18 #[error("无效的节点定义: {0}")]
19 InvalidNodeDefinition(String),
20
21 #[error("无效的标记定义: {0}")]
22 InvalidMarkDefinition(String),
23
24 #[error("重复的节点名称: {0}")]
25 DuplicateNodeName(String),
26
27 #[error("重复的标记名称: {0}")]
28 DuplicateMarkName(String),
29
30 #[error("文件引用错误: {0}")]
31 FileReferenceError(String),
32
33 #[error("循环引用检测到: {0}")]
34 CircularReference(String),
35
36 #[error("文件不存在: {0}")]
37 FileNotFound(String),
38
39 #[error("相对路径解析错误: {0}")]
40 PathResolutionError(String),
41}
42
43pub type XmlSchemaResult<T> = Result<T, XmlSchemaError>;