Fork of https://github.com/oxigraph/oxigraph.git for the purpose of NextGraph project
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.9 KiB
2.9 KiB
oxsdatatypes
oxsdatatypes is an implementation of some XML Schema Definition Language Datatypes. Its main aim is to ease the implementation of SPARQL and XPath.
Usage example:
use std::str::FromStr;
use oxsdatatypes::Decimal;
assert!(Decimal::from_str("22.2").unwrap() > Decimal::from_str("21").unwrap());
Each datatype is represented by a Rust struct.
Each datatype provides:
FromStr
implementation to parse a datatype string serialization following its lexical mapping.Display
implementation to serialize a datatype following its canonical mapping.is_identical_with
method following its identity relation.PartialEq
, andEq
if possible, implementations following its equality relation.PartialOrd
, andOrd
if possible, implementations following its order relation.From
andTryFrom
implementations to implement XPath casting.- Various methods implementing XPath functions.
from_be_bytes
andto_be_bytes
methods for serialization.
DateTime::now
behavior
The DateTime::now()
function needs special OS support.
Currently:
- If the
custom-now
feature is enabled, a function computingnow
must be set:use oxsdatatypes::Duration; #[no_mangle] fn custom_ox_now() -> Duration { unimplemented!("now implementation") }
- For
wasm32-unknown-unknown
if thejs
feature is enabled theDate.now()
ECMAScript API is used. - For all other targets
SystemTime::now()
is used.
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or
<http://www.apache.org/licenses/LICENSE-2.0>
) - MIT license (LICENSE-MIT or
<http://opensource.org/licenses/MIT>
)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Oxigraph by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.