#![forbid(unsafe_code)]
mod document;
mod domain;
mod model;
mod parser;
mod value;
pub use document::{Attribute, Document, Element, Node, WriteError, XmlDeclaration};
pub use domain::{
DataTemplate, DataType, DataTypeConstraint, DataValue, Dimension, GroupOfProperties,
ObjectType, Property, QuantityKind, ReferenceDocument, Subject, Unit, ValueList,
};
pub use model::{
ConceptRef, DataTemplateElement, DataTemplateRef, DataTypeRef, Diagnostic, DiagnosticCode,
DimensionElement, ElementKind, GroupOfPropertiesElement, Library, LibraryElement, LibraryItem,
ModelError, MultilingualTextRef, ObjectTypeElement, PropertyElement, PropertyRef,
QuantityKindElement, ReferenceDocumentElement, ReferenceRef, Severity, SubjectElement,
UnitElement,
};
pub use parser::{ParseError, ParseErrorKind, ParseOptions};
pub use value::{
AnyUri, Base, Concept, DataTypeName, DateTime, Decimal, Guid, Language, MultiLanguageText,
PositiveInteger, Rational, Reference, Scale, ValueError, ValueErrorKind,
};
pub const NAMESPACE: &str = "https://standards.iso.org/iso/23387/ed-2/en/";
pub const DRAFT_PLACEHOLDER_NAMESPACE: &str = "http://tempuri.org/XMLSchema.xsd";
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn namespace_identities_match_the_documented_contracts() {
assert_eq!(NAMESPACE, "https://standards.iso.org/iso/23387/ed-2/en/");
assert_eq!(
DRAFT_PLACEHOLDER_NAMESPACE,
"http://tempuri.org/XMLSchema.xsd"
);
assert_ne!(NAMESPACE, DRAFT_PLACEHOLDER_NAMESPACE);
}
}