pub fn is_xsd_datetime(s: &str) -> bool {
let s = s.trim();
if s.len() < 19 { return false; }
s.as_bytes().get(4) == Some(&b'-')
&& s.as_bytes().get(7) == Some(&b'-')
&& s.as_bytes().get(10) == Some(&b'T')
}
pub fn is_xsd_date(s: &str) -> bool {
let s = s.trim();
s.len() >= 10
&& s.as_bytes().get(4) == Some(&b'-')
&& s.as_bytes().get(7) == Some(&b'-')
}
pub fn is_xsd_gmonthday(s: &str) -> bool {
let s = s.trim();
s.len() >= 7 && s.starts_with("--")
}
pub fn is_xsd_anyuri(s: &str) -> bool {
!s.trim().is_empty()
}