001package org.hl7.fhir.dstu3.model.codesystems;
002
003/*-
004 * #%L
005 * org.hl7.fhir.dstu3
006 * %%
007 * Copyright (C) 2014 - 2019 Health Level 7
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023
024/*
025  Copyright (c) 2011+, HL7, Inc.
026  All rights reserved.
027  
028  Redistribution and use in source and binary forms, with or without modification, 
029  are permitted provided that the following conditions are met:
030  
031   * Redistributions of source code must retain the above copyright notice, this 
032     list of conditions and the following disclaimer.
033   * Redistributions in binary form must reproduce the above copyright notice, 
034     this list of conditions and the following disclaimer in the documentation 
035     and/or other materials provided with the distribution.
036   * Neither the name of HL7 nor the names of its contributors may be used to 
037     endorse or promote products derived from this software without specific 
038     prior written permission.
039  
040  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
041  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
042  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
043  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
044  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
045  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
046  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
047  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
048  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
049  POSSIBILITY OF SUCH DAMAGE.
050  
051*/
052
053// Generated on Sat, Mar 25, 2017 21:03-0400 for FHIR v3.0.0
054
055
056import org.hl7.fhir.exceptions.FHIRException;
057
058public enum DataTypes {
059
060        /**
061         * An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.
062         */
063        ADDRESS, 
064        /**
065         * A duration of time during which an organism (or a process) has existed.
066         */
067        AGE, 
068        /**
069         * A  text note which also  contains information about who made the statement and when.
070         */
071        ANNOTATION, 
072        /**
073         * For referring to data content defined in other formats.
074         */
075        ATTACHMENT, 
076        /**
077         * Base definition for all elements that are defined inside a resource - but not those in a data type.
078         */
079        BACKBONEELEMENT, 
080        /**
081         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
082         */
083        CODEABLECONCEPT, 
084        /**
085         * A reference to a code defined by a terminology system.
086         */
087        CODING, 
088        /**
089         * Specifies contact information for a person or organization.
090         */
091        CONTACTDETAIL, 
092        /**
093         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
094         */
095        CONTACTPOINT, 
096        /**
097         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
098         */
099        CONTRIBUTOR, 
100        /**
101         * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
102         */
103        COUNT, 
104        /**
105         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
106         */
107        DATAREQUIREMENT, 
108        /**
109         * A length - a value with a unit that is a physical distance.
110         */
111        DISTANCE, 
112        /**
113         * Indicates how the medication is/was taken or should be taken by the patient.
114         */
115        DOSAGE, 
116        /**
117         * A length of time.
118         */
119        DURATION, 
120        /**
121         * Base definition for all elements in a resource.
122         */
123        ELEMENT, 
124        /**
125         * Captures constraints on each element within the resource, profile, or extension.
126         */
127        ELEMENTDEFINITION, 
128        /**
129         * Optional Extension Element - found in all resources.
130         */
131        EXTENSION, 
132        /**
133         * A human's name with the ability to identify parts and usage.
134         */
135        HUMANNAME, 
136        /**
137         * A technical identifier - identifies some entity uniquely and unambiguously.
138         */
139        IDENTIFIER, 
140        /**
141         * The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
142         */
143        META, 
144        /**
145         * An amount of economic utility in some recognized currency.
146         */
147        MONEY, 
148        /**
149         * A human-readable formatted text, including images.
150         */
151        NARRATIVE, 
152        /**
153         * The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.
154         */
155        PARAMETERDEFINITION, 
156        /**
157         * A time period defined by a start and end date and optionally time.
158         */
159        PERIOD, 
160        /**
161         * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.
162         */
163        QUANTITY, 
164        /**
165         * A set of ordered Quantities defined by a low and high limit.
166         */
167        RANGE, 
168        /**
169         * A relationship of two Quantity values - expressed as a numerator and a denominator.
170         */
171        RATIO, 
172        /**
173         * A reference from one resource to another.
174         */
175        REFERENCE, 
176        /**
177         * Related artifacts such as additional documentation, justification, or bibliographic references.
178         */
179        RELATEDARTIFACT, 
180        /**
181         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
182         */
183        SAMPLEDDATA, 
184        /**
185         * A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different signature approaches have different utilities.
186         */
187        SIGNATURE, 
188        /**
189         * null
190         */
191        SIMPLEQUANTITY, 
192        /**
193         * Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.
194         */
195        TIMING, 
196        /**
197         * A description of a triggering event.
198         */
199        TRIGGERDEFINITION, 
200        /**
201         * Specifies clinical/business/etc metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).
202         */
203        USAGECONTEXT, 
204        /**
205         * A stream of bytes
206         */
207        BASE64BINARY, 
208        /**
209         * Value of "true" or "false"
210         */
211        BOOLEAN, 
212        /**
213         * A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents
214         */
215        CODE, 
216        /**
217         * A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.
218         */
219        DATE, 
220        /**
221         * A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.
222         */
223        DATETIME, 
224        /**
225         * A rational number with implicit precision
226         */
227        DECIMAL, 
228        /**
229         * Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.
230         */
231        ID, 
232        /**
233         * An instant in time - known at least to the second
234         */
235        INSTANT, 
236        /**
237         * A whole number
238         */
239        INTEGER, 
240        /**
241         * A string that may contain markdown syntax for optional processing by a mark down presentation engine
242         */
243        MARKDOWN, 
244        /**
245         * An OID represented as a URI
246         */
247        OID, 
248        /**
249         * An integer with a value that is positive (e.g. >0)
250         */
251        POSITIVEINT, 
252        /**
253         * A sequence of Unicode characters
254         */
255        STRING, 
256        /**
257         * A time during the day, with no date specified
258         */
259        TIME, 
260        /**
261         * An integer with a value that is not negative (e.g. >= 0)
262         */
263        UNSIGNEDINT, 
264        /**
265         * String of characters used to identify a name or a resource
266         */
267        URI, 
268        /**
269         * A UUID, represented as a URI
270         */
271        UUID, 
272        /**
273         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
274         */
275        XHTML, 
276        /**
277         * added to help the parsers
278         */
279        NULL;
280        public static DataTypes fromCode(String codeString) throws FHIRException {
281            if (codeString == null || "".equals(codeString))
282                return null;
283        if ("Address".equals(codeString))
284          return ADDRESS;
285        if ("Age".equals(codeString))
286          return AGE;
287        if ("Annotation".equals(codeString))
288          return ANNOTATION;
289        if ("Attachment".equals(codeString))
290          return ATTACHMENT;
291        if ("BackboneElement".equals(codeString))
292          return BACKBONEELEMENT;
293        if ("CodeableConcept".equals(codeString))
294          return CODEABLECONCEPT;
295        if ("Coding".equals(codeString))
296          return CODING;
297        if ("ContactDetail".equals(codeString))
298          return CONTACTDETAIL;
299        if ("ContactPoint".equals(codeString))
300          return CONTACTPOINT;
301        if ("Contributor".equals(codeString))
302          return CONTRIBUTOR;
303        if ("Count".equals(codeString))
304          return COUNT;
305        if ("DataRequirement".equals(codeString))
306          return DATAREQUIREMENT;
307        if ("Distance".equals(codeString))
308          return DISTANCE;
309        if ("Dosage".equals(codeString))
310          return DOSAGE;
311        if ("Duration".equals(codeString))
312          return DURATION;
313        if ("Element".equals(codeString))
314          return ELEMENT;
315        if ("ElementDefinition".equals(codeString))
316          return ELEMENTDEFINITION;
317        if ("Extension".equals(codeString))
318          return EXTENSION;
319        if ("HumanName".equals(codeString))
320          return HUMANNAME;
321        if ("Identifier".equals(codeString))
322          return IDENTIFIER;
323        if ("Meta".equals(codeString))
324          return META;
325        if ("Money".equals(codeString))
326          return MONEY;
327        if ("Narrative".equals(codeString))
328          return NARRATIVE;
329        if ("ParameterDefinition".equals(codeString))
330          return PARAMETERDEFINITION;
331        if ("Period".equals(codeString))
332          return PERIOD;
333        if ("Quantity".equals(codeString))
334          return QUANTITY;
335        if ("Range".equals(codeString))
336          return RANGE;
337        if ("Ratio".equals(codeString))
338          return RATIO;
339        if ("Reference".equals(codeString))
340          return REFERENCE;
341        if ("RelatedArtifact".equals(codeString))
342          return RELATEDARTIFACT;
343        if ("SampledData".equals(codeString))
344          return SAMPLEDDATA;
345        if ("Signature".equals(codeString))
346          return SIGNATURE;
347        if ("SimpleQuantity".equals(codeString))
348          return SIMPLEQUANTITY;
349        if ("Timing".equals(codeString))
350          return TIMING;
351        if ("TriggerDefinition".equals(codeString))
352          return TRIGGERDEFINITION;
353        if ("UsageContext".equals(codeString))
354          return USAGECONTEXT;
355        if ("base64Binary".equals(codeString))
356          return BASE64BINARY;
357        if ("boolean".equals(codeString))
358          return BOOLEAN;
359        if ("code".equals(codeString))
360          return CODE;
361        if ("date".equals(codeString))
362          return DATE;
363        if ("dateTime".equals(codeString))
364          return DATETIME;
365        if ("decimal".equals(codeString))
366          return DECIMAL;
367        if ("id".equals(codeString))
368          return ID;
369        if ("instant".equals(codeString))
370          return INSTANT;
371        if ("integer".equals(codeString))
372          return INTEGER;
373        if ("markdown".equals(codeString))
374          return MARKDOWN;
375        if ("oid".equals(codeString))
376          return OID;
377        if ("positiveInt".equals(codeString))
378          return POSITIVEINT;
379        if ("string".equals(codeString))
380          return STRING;
381        if ("time".equals(codeString))
382          return TIME;
383        if ("unsignedInt".equals(codeString))
384          return UNSIGNEDINT;
385        if ("uri".equals(codeString))
386          return URI;
387        if ("uuid".equals(codeString))
388          return UUID;
389        if ("xhtml".equals(codeString))
390          return XHTML;
391        throw new FHIRException("Unknown DataTypes code '"+codeString+"'");
392        }
393        public String toCode() {
394          switch (this) {
395            case ADDRESS: return "Address";
396            case AGE: return "Age";
397            case ANNOTATION: return "Annotation";
398            case ATTACHMENT: return "Attachment";
399            case BACKBONEELEMENT: return "BackboneElement";
400            case CODEABLECONCEPT: return "CodeableConcept";
401            case CODING: return "Coding";
402            case CONTACTDETAIL: return "ContactDetail";
403            case CONTACTPOINT: return "ContactPoint";
404            case CONTRIBUTOR: return "Contributor";
405            case COUNT: return "Count";
406            case DATAREQUIREMENT: return "DataRequirement";
407            case DISTANCE: return "Distance";
408            case DOSAGE: return "Dosage";
409            case DURATION: return "Duration";
410            case ELEMENT: return "Element";
411            case ELEMENTDEFINITION: return "ElementDefinition";
412            case EXTENSION: return "Extension";
413            case HUMANNAME: return "HumanName";
414            case IDENTIFIER: return "Identifier";
415            case META: return "Meta";
416            case MONEY: return "Money";
417            case NARRATIVE: return "Narrative";
418            case PARAMETERDEFINITION: return "ParameterDefinition";
419            case PERIOD: return "Period";
420            case QUANTITY: return "Quantity";
421            case RANGE: return "Range";
422            case RATIO: return "Ratio";
423            case REFERENCE: return "Reference";
424            case RELATEDARTIFACT: return "RelatedArtifact";
425            case SAMPLEDDATA: return "SampledData";
426            case SIGNATURE: return "Signature";
427            case SIMPLEQUANTITY: return "SimpleQuantity";
428            case TIMING: return "Timing";
429            case TRIGGERDEFINITION: return "TriggerDefinition";
430            case USAGECONTEXT: return "UsageContext";
431            case BASE64BINARY: return "base64Binary";
432            case BOOLEAN: return "boolean";
433            case CODE: return "code";
434            case DATE: return "date";
435            case DATETIME: return "dateTime";
436            case DECIMAL: return "decimal";
437            case ID: return "id";
438            case INSTANT: return "instant";
439            case INTEGER: return "integer";
440            case MARKDOWN: return "markdown";
441            case OID: return "oid";
442            case POSITIVEINT: return "positiveInt";
443            case STRING: return "string";
444            case TIME: return "time";
445            case UNSIGNEDINT: return "unsignedInt";
446            case URI: return "uri";
447            case UUID: return "uuid";
448            case XHTML: return "xhtml";
449            default: return "?";
450          }
451        }
452        public String getSystem() {
453          return "http://hl7.org/fhir/data-types";
454        }
455        public String getDefinition() {
456          switch (this) {
457            case ADDRESS: return "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.";
458            case AGE: return "A duration of time during which an organism (or a process) has existed.";
459            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
460            case ATTACHMENT: return "For referring to data content defined in other formats.";
461            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
462            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
463            case CODING: return "A reference to a code defined by a terminology system.";
464            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
465            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
466            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
467            case COUNT: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
468            case DATAREQUIREMENT: return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
469            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
470            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
471            case DURATION: return "A length of time.";
472            case ELEMENT: return "Base definition for all elements in a resource.";
473            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
474            case EXTENSION: return "Optional Extension Element - found in all resources.";
475            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
476            case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously.";
477            case META: return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.";
478            case MONEY: return "An amount of economic utility in some recognized currency.";
479            case NARRATIVE: return "A human-readable formatted text, including images.";
480            case PARAMETERDEFINITION: return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.";
481            case PERIOD: return "A time period defined by a start and end date and optionally time.";
482            case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
483            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
484            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
485            case REFERENCE: return "A reference from one resource to another.";
486            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
487            case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
488            case SIGNATURE: return "A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different signature approaches have different utilities.";
489            case SIMPLEQUANTITY: return "";
490            case TIMING: return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out.";
491            case TRIGGERDEFINITION: return "A description of a triggering event.";
492            case USAGECONTEXT: return "Specifies clinical/business/etc metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).";
493            case BASE64BINARY: return "A stream of bytes";
494            case BOOLEAN: return "Value of \"true\" or \"false\"";
495            case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents";
496            case DATE: return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
497            case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.";
498            case DECIMAL: return "A rational number with implicit precision";
499            case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.";
500            case INSTANT: return "An instant in time - known at least to the second";
501            case INTEGER: return "A whole number";
502            case MARKDOWN: return "A string that may contain markdown syntax for optional processing by a mark down presentation engine";
503            case OID: return "An OID represented as a URI";
504            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
505            case STRING: return "A sequence of Unicode characters";
506            case TIME: return "A time during the day, with no date specified";
507            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
508            case URI: return "String of characters used to identify a name or a resource";
509            case UUID: return "A UUID, represented as a URI";
510            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
511            default: return "?";
512          }
513        }
514        public String getDisplay() {
515          switch (this) {
516            case ADDRESS: return "Address";
517            case AGE: return "Age";
518            case ANNOTATION: return "Annotation";
519            case ATTACHMENT: return "Attachment";
520            case BACKBONEELEMENT: return "BackboneElement";
521            case CODEABLECONCEPT: return "CodeableConcept";
522            case CODING: return "Coding";
523            case CONTACTDETAIL: return "ContactDetail";
524            case CONTACTPOINT: return "ContactPoint";
525            case CONTRIBUTOR: return "Contributor";
526            case COUNT: return "Count";
527            case DATAREQUIREMENT: return "DataRequirement";
528            case DISTANCE: return "Distance";
529            case DOSAGE: return "Dosage";
530            case DURATION: return "Duration";
531            case ELEMENT: return "Element";
532            case ELEMENTDEFINITION: return "ElementDefinition";
533            case EXTENSION: return "Extension";
534            case HUMANNAME: return "HumanName";
535            case IDENTIFIER: return "Identifier";
536            case META: return "Meta";
537            case MONEY: return "Money";
538            case NARRATIVE: return "Narrative";
539            case PARAMETERDEFINITION: return "ParameterDefinition";
540            case PERIOD: return "Period";
541            case QUANTITY: return "Quantity";
542            case RANGE: return "Range";
543            case RATIO: return "Ratio";
544            case REFERENCE: return "Reference";
545            case RELATEDARTIFACT: return "RelatedArtifact";
546            case SAMPLEDDATA: return "SampledData";
547            case SIGNATURE: return "Signature";
548            case SIMPLEQUANTITY: return "SimpleQuantity";
549            case TIMING: return "Timing";
550            case TRIGGERDEFINITION: return "TriggerDefinition";
551            case USAGECONTEXT: return "UsageContext";
552            case BASE64BINARY: return "base64Binary";
553            case BOOLEAN: return "boolean";
554            case CODE: return "code";
555            case DATE: return "date";
556            case DATETIME: return "dateTime";
557            case DECIMAL: return "decimal";
558            case ID: return "id";
559            case INSTANT: return "instant";
560            case INTEGER: return "integer";
561            case MARKDOWN: return "markdown";
562            case OID: return "oid";
563            case POSITIVEINT: return "positiveInt";
564            case STRING: return "string";
565            case TIME: return "time";
566            case UNSIGNEDINT: return "unsignedInt";
567            case URI: return "uri";
568            case UUID: return "uuid";
569            case XHTML: return "XHTML";
570            default: return "?";
571          }
572    }
573
574
575}
576