knowL: Knowledge Libraries
Loading...
Searching...
No Matches
xsd.h
1#pragma once
2
3#include <knowCore/Uri.h>
4
5#include "Uris.h"
6// Primitive datatypes are defined at https://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#built-in-primitive-datatypes
7
8#define KNOWCORE_XSD_URIS(F, ...) \
9 F(__VA_ARGS__, anyURI) \
10 F(__VA_ARGS__, atomic) \
11 F(__VA_ARGS__, boolean) \
12 F(__VA_ARGS__, dateTime) \
13 F(__VA_ARGS__, decimal) \
14 F(__VA_ARGS__, float32, "float") \
15 F(__VA_ARGS__, float64, "double") \
16 F(__VA_ARGS__, integer) \
17 F(__VA_ARGS__, integer8, "byte") \
18 F(__VA_ARGS__, integer16, "short") \
19 F(__VA_ARGS__, integer32, "int") \
20 F(__VA_ARGS__, integer64, "long") \
21 F(__VA_ARGS__, language) \
22 F(__VA_ARGS__, list) \
23 F(__VA_ARGS__, nonNegativeInteger) \
24 F(__VA_ARGS__, unsignedInteger8, "unsignedByte") \
25 F(__VA_ARGS__, unsignedInteger16, "unsignedShort")\
26 F(__VA_ARGS__, unsignedInteger32, "unsignedInt") \
27 F(__VA_ARGS__, unsignedInteger64, "unsignedLong") \
28 F(__VA_ARGS__, string) \
29 F(__VA_ARGS__, union_, "union") \
30 F(__VA_ARGS__, variety)
31
32
33KNOWCORE_ONTOLOGY_URIS(knowCore::Uris, KNOWCORE_XSD_URIS, xsd, "http://www.w3.org/2001/XMLSchema#")
34
35namespace knowCore::Uris
36{
37 inline bool isNumericType(const knowCore::Uri& _uri)
38 {
39 return _uri == xsd::decimal
40 or _uri == xsd::integer
41 or _uri == xsd::integer8
42 or _uri == xsd::integer16
43 or _uri == xsd::integer32
44 or _uri == xsd::integer64
45 or _uri == xsd::nonNegativeInteger
46 or _uri == xsd::unsignedInteger8
47 or _uri == xsd::unsignedInteger16
48 or _uri == xsd::unsignedInteger32
49 or _uri == xsd::unsignedInteger64
50 or _uri == xsd::float32
51 or _uri == xsd::float64;
52 }
53}
Definition Uri.h:14