Begin XML Schema Validator
This commit is contained in:
64
lib/xml_schema_validator/src/schema.rs
Normal file
64
lib/xml_schema_validator/src/schema.rs
Normal file
@@ -0,0 +1,64 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsSchema {
|
||||
#[serde(rename = "@xmlns:xs")]
|
||||
pub xmlns_xs: String,
|
||||
#[serde(rename = "@elementFormDefault")]
|
||||
pub element_form_default: String,
|
||||
#[serde(rename = "$text")]
|
||||
pub text: Option<String>,
|
||||
#[serde(rename = "element")]
|
||||
pub xs_element: Vec<XsElement>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsElement {
|
||||
#[serde(rename = "@name")]
|
||||
pub name: String,
|
||||
#[serde(rename = "$text")]
|
||||
pub text: Option<String>,
|
||||
#[serde(rename = "complexType")]
|
||||
pub xs_complex_type: XsComplexType,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsComplexType {
|
||||
#[serde(rename = "@mixed")]
|
||||
pub mixed: Option<String>,
|
||||
#[serde(rename = "$text")]
|
||||
pub text: Option<String>,
|
||||
#[serde(rename = "attribute")]
|
||||
pub xs_attribute: Option<Vec<XsAttribute>>,
|
||||
#[serde(rename = "sequence")]
|
||||
pub xs_sequence: Option<XsSequence>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsAttribute {
|
||||
#[serde(rename = "@name")]
|
||||
pub name: String,
|
||||
#[serde(rename = "@type")]
|
||||
pub xs_attribute_type: String,
|
||||
#[serde(rename = "@use")]
|
||||
pub xs_attribute_use: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsSequence {
|
||||
#[serde(rename = "$text")]
|
||||
pub text: Option<String>,
|
||||
#[serde(rename = "any")]
|
||||
pub xs_any: XsAny,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct XsAny {
|
||||
#[serde(rename = "@minOccurs")]
|
||||
pub min_occurs: String,
|
||||
#[serde(rename = "@maxOccurs")]
|
||||
pub max_occurs: String,
|
||||
#[serde(rename = "@processContents")]
|
||||
pub process_contents: String,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user