sdml_core/stdlib/
xsd.rs

1/**
2This Rust module contains the SDML model of the SDML library module `xsd` for XML Schema.
3 */
4use crate::model::{
5    annotations::{AnnotationOnlyBody, HasAnnotations},
6    modules::Module,
7    HasBody,
8};
9use std::str::FromStr;
10
11// ------------------------------------------------------------------------------------------------
12// Public Types
13// ------------------------------------------------------------------------------------------------
14
15pub const MODULE_PATH: &str = "::org::w3";
16pub const MODULE_NAME: &str = "xsd";
17pub const MODULE_URL: &str = "http://www.w3.org/2001/XMLSchema#";
18
19// ------------------------------------------------------------------------------------------------
20// Public Types ❱ "ur" types
21// ------------------------------------------------------------------------------------------------
22
23pub const ANY_TYPE: &str = "anyType";
24pub const ANY_SIMPLE_TYPE: &str = "anySimpleType";
25
26// ------------------------------------------------------------------------------------------------
27// Public Types ❱ built-in primitive types
28// ------------------------------------------------------------------------------------------------
29
30pub const ANY_URI: &str = "anyURI";
31pub const BASE64_BINARY: &str = "base64Binary";
32pub const BOOLEAN: &str = "boolean";
33pub const DATE: &str = "date";
34pub const DATETIME: &str = "dateTime";
35pub const DATETIME_STAMP: &str = "dateTimeStamp";
36pub const DECIMAL: &str = "decimal";
37pub const DOUBLE: &str = "double";
38pub const DURATION: &str = "duration";
39pub const FLOAT: &str = "float";
40pub const GDAY: &str = "gDay";
41pub const GMONTH: &str = "gMonth";
42pub const GMONTH_DAY: &str = "gMonthDay";
43pub const GYEAR: &str = "gYear";
44pub const GYEAR_MONTH: &str = "gYearMonth";
45pub const HEX_BINARY: &str = "hexBinary";
46pub const QNAME: &str = "QName";
47pub const QNOTATION: &str = "QNotation";
48pub const STRING: &str = "string";
49pub const TIME: &str = "time";
50
51// ------------------------------------------------------------------------------------------------
52// Public Types ❱ built-in derived types
53// ------------------------------------------------------------------------------------------------
54
55pub const NORMALIZED_STRING: &str = "normalizedString";
56pub const TOKEN: &str = "token";
57pub const LANGUAGE: &str = "language";
58pub const NAME: &str = "Name";
59pub const NMTOKEN: &str = "NMTOKEN";
60pub const NCNAME: &str = "NCName";
61pub const ID: &str = "ID";
62pub const IDREF: &str = "IDREF";
63pub const ENTITY: &str = "ENTITY";
64
65pub const DAYTIME_DURATION: &str = "dayTimeDuration";
66pub const YEARMONTH_DURATION: &str = "yearMonthDuration";
67
68pub const INTEGER: &str = "integer";
69pub const NONPOSITIVE_INTEGER: &str = "nonPositiveInteger";
70pub const NEGATIVE_INTEGER: &str = "negativeInteger";
71pub const LONG: &str = "long";
72pub const INT: &str = "int";
73pub const SHORT: &str = "short";
74pub const BYTE: &str = "byte";
75pub const NONNEGATIVE_INTEGER: &str = "nonNegativeInteger";
76pub const UNSIGNED_LONG: &str = "unsignedLong";
77pub const UNSIGNED_INT: &str = "unsignedInt";
78pub const UNSIGNED_SHORT: &str = "unsignedShort";
79pub const UNSIGNED_BYTE: &str = "unsignedByte";
80pub const POSITIVE_INTEGER: &str = "positiveInteger";
81
82// ------------------------------------------------------------------------------------------------
83// Public Types ❱ constraining facets
84// ------------------------------------------------------------------------------------------------
85
86pub const ENUMERATION: &str = "enumeration";
87pub const FRACTION_DIGITS: &str = "fractionDigits";
88pub const LENGTH: &str = "length";
89pub const MAX_EXCLUSIVE: &str = "maxExclusive";
90pub const MAX_INCLUSIVE: &str = "maxInclusive";
91pub const MAX_LENGTH: &str = "maxLength";
92pub const MIN_EXCLUSIVE: &str = "minExclusive";
93pub const MIN_INCLUSIVE: &str = "minInclusive";
94pub const MIN_LENGTH: &str = "minLength";
95pub const PATTERN: &str = "pattern";
96pub const TOTAL_DIGITS: &str = "totalDigits";
97pub const WHITE_SPACE: &str = "whiteSpace";
98
99// ------------------------------------------------------------------------------------------------
100// Public Functions
101// ------------------------------------------------------------------------------------------------
102
103module_function!(|| {
104    let module_uri: url::Url = url::Url::parse(MODULE_URL).unwrap();
105
106    module!(
107        id!(unchecked xsd), module_uri ; call |module: Module|
108        module.with_imports([import_statement!(
109            id!(unchecked dct),
110        )])
111            .with_annotations([
112                annotation!(id!(unchecked dc_terms:title), rdf_str!("XML Schema Part 2: Datatypes Second Edition"@en)),
113                annotation!(id!(unchecked rdfs:seeAlso), url!("https://www.w3.org/TR/xmlschema-2/")),
114            ])
115            .with_definitions([
116                // ---------------------------------------------------------------------------------
117                // Datatypes, Purple
118                // ---------------------------------------------------------------------------------
119                rdf!(
120                    id!(unchecked anySimpleType) ;
121                    datatype ;
122                    call |body: AnnotationOnlyBody|
123                    body.with_annotations([
124                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
125                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("anySimpleType"@en)),
126                    ])).into(),
127                // ---------------------------------------------------------------------------------
128                // Datatypes, Blue
129                // ---------------------------------------------------------------------------------
130                datatype!(
131                    id!(unchecked anyURI), idref!(unchecked anySimpleType) ;
132                    call |body: AnnotationOnlyBody|
133                    body.with_annotations([
134                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
135                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("anyURI"@en)),
136                    ])).into(),
137                datatype!(
138                    id!(unchecked base64Binary), idref!(unchecked anySimpleType) ;
139                    call |body: AnnotationOnlyBody|
140                    body.with_annotations([
141                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
142                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("base64Binary"@en)),
143                    ])).into(),
144                datatype!(
145                    id!(unchecked boolean), idref!(unchecked anySimpleType) ;
146                    call |body: AnnotationOnlyBody|
147                    body.with_annotations([
148                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
149                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("boolean"@en)),
150                    ])).into(),
151                datatype!(
152                    id!(unchecked date), idref!(unchecked anySimpleType) ;
153                    call |body: AnnotationOnlyBody|
154                    body.with_annotations([
155                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
156                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("date"@en)),
157                    ])).into(),
158                datatype!(
159                    id!(unchecked dateTime), idref!(unchecked anySimpleType) ;
160                    call |body: AnnotationOnlyBody|
161                    body.with_annotations([
162                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
163                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("dateTime"@en)),
164                    ])).into(),
165                datatype!(
166                    id!(unchecked decimal), idref!(unchecked anySimpleType) ;
167                    call |body: AnnotationOnlyBody|
168                    body.with_annotations([
169                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
170                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("decimal"@en)),
171                    ])).into(),
172                datatype!(
173                    id!(unchecked double), idref!(unchecked anySimpleType) ;
174                    call |body: AnnotationOnlyBody|
175                    body.with_annotations([
176                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
177                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("double"@en)),
178                    ])).into(),
179                datatype!(
180                    id!(unchecked duration), idref!(unchecked anySimpleType) ;
181                    call |body: AnnotationOnlyBody|
182                    body.with_annotations([
183                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
184                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("duration"@en)),
185                    ])).into(),
186                datatype!(
187                    id!(unchecked float), idref!(unchecked anySimpleType) ;
188                    call |body: AnnotationOnlyBody|
189                    body.with_annotations([
190                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
191                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("float"@en)),
192                    ])).into(),
193                datatype!(
194                    id!(unchecked gDay), idref!(unchecked anySimpleType) ;
195                    call |body: AnnotationOnlyBody|
196                    body.with_annotations([
197                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
198                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("gDay"@en)),
199                    ])).into(),
200                datatype!(
201                    id!(unchecked gMonth), idref!(unchecked anySimpleType) ;
202                    call |body: AnnotationOnlyBody|
203                    body.with_annotations([
204                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
205                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("gMonth"@en)),
206                    ])).into(),
207                datatype!(
208                    id!(unchecked gMonthDay), idref!(unchecked anySimpleType) ;
209                    call |body: AnnotationOnlyBody|
210                    body.with_annotations([
211                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
212                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("gMonthDay"@en)),
213                    ])).into(),
214                datatype!(
215                    id!(unchecked gYear), idref!(unchecked anySimpleType) ;
216                    call |body: AnnotationOnlyBody|
217                    body.with_annotations([
218                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
219                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("gYear"@en)),
220                    ])).into(),
221                datatype!(
222                    id!(unchecked gYearMonth), idref!(unchecked anySimpleType) ;
223                    call |body: AnnotationOnlyBody|
224                    body.with_annotations([
225                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
226                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("gYearMonth"@en)),
227                    ])).into(),
228                datatype!(
229                    id!(unchecked hexBinary), idref!(unchecked anySimpleType) ;
230                    call |body: AnnotationOnlyBody|
231                    body.with_annotations([
232                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
233                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("hexBinary"@en)),
234                    ])).into(),
235                datatype!(
236                    id!(unchecked QName), idref!(unchecked anySimpleType) ;
237                    call |body: AnnotationOnlyBody|
238                    body.with_annotations([
239                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
240                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("QName"@en)),
241                    ])).into(),
242                datatype!(
243                    id!(unchecked QNotation), idref!(unchecked anySimpleType) ;
244                    call |body: AnnotationOnlyBody|
245                    body.with_annotations([
246                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
247                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("QNotation"@en)),
248                    ])).into(),
249                datatype!(
250                    id!(unchecked string), idref!(unchecked anySimpleType) ;
251                    call |body: AnnotationOnlyBody|
252                    body.with_annotations([
253                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
254                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("string"@en)),
255                    ])).into(),
256                datatype!(
257                    id!(unchecked time), idref!(unchecked anySimpleType) ;
258                    call |body: AnnotationOnlyBody|
259                    body.with_annotations([
260                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
261                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("time"@en)),
262                    ])).into(),
263                // ---------------------------------------------------------------------------------
264                // Datatypes, Green
265                // ---------------------------------------------------------------------------------
266                datatype!(
267                    id!(unchecked integer), idref!(unchecked decimal) ;
268                    call |body: AnnotationOnlyBody|
269                    body.with_annotations([
270                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
271                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("integer"@en)),
272                    ])).into(),
273                datatype!(
274                    id!(unchecked normalizedString), idref!(unchecked string) ;
275                    call |body: AnnotationOnlyBody|
276                    body.with_annotations([
277                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
278                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("normalizedString"@en)),
279                    ])).into(),
280                datatype!(
281                    id!(unchecked token), idref!(unchecked normalizedString) ;
282                    call |body: AnnotationOnlyBody|
283                    body.with_annotations([
284                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
285                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("token"@en)),
286                    ])).into(),
287                datatype!(
288                    id!(unchecked language), idref!(unchecked token) ;
289                    call |body: AnnotationOnlyBody|
290                    body.with_annotations([
291                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
292                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("language"@en)),
293                    ])).into(),
294                datatype!(
295                    id!(unchecked Name), idref!(unchecked token) ;
296                    call |body: AnnotationOnlyBody|
297                    body.with_annotations([
298                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
299                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("Name"@en)),
300                    ])).into(),
301                datatype!(
302                    id!(unchecked NMTOKEN), idref!(unchecked token) ;
303                    call |body: AnnotationOnlyBody|
304                    body.with_annotations([
305                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
306                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("NMTOKEN"@en)),
307                    ])).into(),
308                datatype!(
309                    id!(unchecked NCNAME), idref!(unchecked Name) ;
310                    call |body: AnnotationOnlyBody|
311                    body.with_annotations([
312                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
313                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("NCNAME"@en)),
314                    ])).into(),
315                datatype!(
316                    id!(unchecked nonPositiveInteger), idref!(unchecked integer) ;
317                    call |body: AnnotationOnlyBody|
318                    body.with_annotations([
319                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
320                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("nonPositiveInteger"@en)),
321                    ])).into(),
322                datatype!(
323                    id!(unchecked negativeInteger), idref!(unchecked nonPositiveInteger) ;
324                    call |body: AnnotationOnlyBody|
325                    body.with_annotations([
326                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
327                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("negativeInteger"@en)),
328                    ])).into(),
329                datatype!(
330                    id!(unchecked long), idref!(unchecked integer) ;
331                    call |body: AnnotationOnlyBody|
332                    body.with_annotations([
333                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
334                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("long"@en)),
335                    ])).into(),
336                datatype!(
337                    id!(unchecked int), idref!(unchecked long) ;
338                    call |body: AnnotationOnlyBody|
339                    body.with_annotations([
340                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
341                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("int"@en)),
342                    ])).into(),
343                datatype!(
344                    id!(unchecked short), idref!(unchecked int) ;
345                    call |body: AnnotationOnlyBody|
346                    body.with_annotations([
347                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
348                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("short"@en)),
349                    ])).into(),
350                datatype!(
351                    id!(unchecked byte), idref!(unchecked short) ;
352                    call |body: AnnotationOnlyBody|
353                    body.with_annotations([
354                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
355                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("byte"@en)),
356                    ])).into(),
357                datatype!(
358                    id!(unchecked nonNegativeInteger), idref!(unchecked integer) ;
359                    call |body: AnnotationOnlyBody|
360                    body.with_annotations([
361                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
362                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("nonNegativeInteger"@en)),
363                    ])).into(),
364                datatype!(
365                    id!(unchecked unsignedLong), idref!(unchecked nonNegativeInteger) ;
366                    call |body: AnnotationOnlyBody|
367                    body.with_annotations([
368                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
369                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("unsignedLong"@en)),
370                    ])).into(),
371                datatype!(
372                    id!(unchecked unsignedInt), idref!(unchecked unsignedLong) ;
373                    call |body: AnnotationOnlyBody|
374                    body.with_annotations([
375                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
376                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("unsignedInt"@en)),
377                    ])).into(),
378                datatype!(
379                    id!(unchecked unsignedShort), idref!(unchecked unsignedInt) ;
380                    call |body: AnnotationOnlyBody|
381                    body.with_annotations([
382                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
383                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("unsignedShort"@en)),
384                    ])).into(),
385                datatype!(
386                    id!(unchecked unsignedByte), idref!(unchecked unsignedShort) ;
387                    call |body: AnnotationOnlyBody|
388                    body.with_annotations([
389                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
390                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("unsignedByte"@en)),
391                    ])).into(),
392                datatype!(
393                    id!(unchecked positiveInteger), idref!(unchecked nonNegativeInteger) ;
394                    call |body: AnnotationOnlyBody|
395                    body.with_annotations([
396                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
397                        annotation!(id!(unchecked skos:prefLabel), rdf_str!("positiveInteger"@en)),
398                    ])).into(),
399                // ---------------------------------------------------------------------------------
400                // Facets
401                // ---------------------------------------------------------------------------------
402                rdf!(id!(unchecked enumeration) ;
403                    property id!(unchecked Property) ;
404                    call |body: AnnotationOnlyBody|
405                    body.with_annotations([
406                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
407                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(enumeration@en)),
408                    ])).into(),
409                rdf!(id!(unchecked fractionDigits) ;
410                    property id!(unchecked Property) ;
411                    call |body: AnnotationOnlyBody|
412                    body.with_annotations([
413                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
414                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(fractionDigits@en)),
415                    ])).into(),
416                rdf!(id!(unchecked length) ;
417                    property id!(unchecked Property) ;
418                    call |body: AnnotationOnlyBody|
419                    body.with_annotations([
420                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
421                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(length@en)),
422                    ])).into(),
423                rdf!(id!(unchecked maxExclusive) ;
424                    property id!(unchecked Property) ;
425                    call |body: AnnotationOnlyBody|
426                    body.with_annotations([
427                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
428                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(maxExclusive@en)),
429                    ])).into(),
430                rdf!(id!(unchecked maxInclusive) ;
431                    property id!(unchecked Property) ;
432                    call |body: AnnotationOnlyBody|
433                    body.with_annotations([
434                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
435                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(maxInclusive@en)),
436                    ])).into(),
437                rdf!(id!(unchecked maxLength) ;
438                    property id!(unchecked Property) ;
439                    call |body: AnnotationOnlyBody|
440                    body.with_annotations([
441                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
442                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(maxLength@en)),
443                    ])).into(),
444                rdf!(id!(unchecked minExclusive) ;
445                    property id!(unchecked Property) ;
446                    call |body: AnnotationOnlyBody|
447                    body.with_annotations([
448                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
449                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(minExclusive@en)),
450                    ])).into(),
451                rdf!(id!(unchecked minInclusive) ;
452                    property id!(unchecked Property) ;
453                    call |body: AnnotationOnlyBody|
454                    body.with_annotations([
455                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
456                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(minInclusive@en)),
457                    ])).into(),
458                rdf!(id!(unchecked minLength) ;
459                    property id!(unchecked Property) ;
460                    call |body: AnnotationOnlyBody|
461                    body.with_annotations([
462                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
463                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(minLength@en)),
464                    ])).into(),
465                rdf!(id!(unchecked pattern) ;
466                    property id!(unchecked Property) ;
467                    call |body: AnnotationOnlyBody|
468                    body.with_annotations([
469                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
470                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(pattern@en)),
471                    ])).into(),
472                rdf!(id!(unchecked totalDigits) ;
473                    property id!(unchecked Property) ;
474                    call |body: AnnotationOnlyBody|
475                    body.with_annotations([
476                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
477                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(totalDigits@en)),
478                    ])).into(),
479                rdf!(id!(unchecked whiteSpace) ;
480                    property id!(unchecked Property) ;
481                    call |body: AnnotationOnlyBody|
482                    body.with_annotations([
483                        annotation!(id!(unchecked rdfs:isDefinedBy), id!(unchecked xsd)),
484                        annotation!(id!(unchecked skos:prefLabel), rdf_str!(whiteSpace@en)),
485                    ])).into(),
486            ])
487    )
488});