浏览代码

* added ansistring (UTF8String) parser functions (before there was just PChar support)

git-svn-id: trunk@16953 -
ivost 14 年之前
父节点
当前提交
ef814d4d3e
共有 1 个文件被更改,包括 637 次插入0 次删除
  1. 637 0
      packages/libxml/src/xmlxsdparser.pas

+ 637 - 0
packages/libxml/src/xmlxsdparser.pas

@@ -179,6 +179,110 @@ function xsdParseUnsignedShort(Chars: PChar; Len: Integer): Word;
 function xsdParseUnsignedInt(Chars: PChar; Len: Integer): Longword;
 function xsdParseUnsignedInt(Chars: PChar; Len: Integer): Longword;
 function xsdParseUnsignedLong(Chars: PChar; Len: Integer): QWord;
 function xsdParseUnsignedLong(Chars: PChar; Len: Integer): QWord;
 function xsdParseEnum(Chars: PChar; Len: Integer; enum: array of Utf8String): Integer;
 function xsdParseEnum(Chars: PChar; Len: Integer; enum: array of Utf8String): Integer;
+{
+function xsdTryParseBase64(const S: UTF8String; const Value: TStream): Boolean;
+function xsdTryParseString(const S: UTF8String; out Value: Utf8String): Boolean;
+function xsdTryParseStringLower(const S: UTF8String; out Value: Utf8String): Boolean;
+function xsdTryParseBoolean(const S: UTF8String; out Value: Boolean): Boolean;
+function xsdTryParseDate(const S: UTF8String; out Year, Month, Day: Longword; Timezone: PXsdTimezone = nil; BC: PBoolean = nil): Boolean;
+function xsdTryParseDate(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil): Boolean;
+function xsdTryParseTime(const S: UTF8String; out Hour, Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone = nil): Boolean;
+function xsdTryParseTime(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil): Boolean;
+function xsdTryParseDateTime(const S: UTF8String; out Year, Month, Day, Hour, Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone = nil; BC: PBoolean = nil): Boolean;
+function xsdTryParseDateTime(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil): Boolean;
+function xsdTryParseDecimal(const S: UTF8String; out Value: Extended): Boolean;
+function xsdTryParseDouble(const S: UTF8String; out Value: Double): Boolean;
+function xsdTryParseFloat(const S: UTF8String; out Value: Single): Boolean;
+function xsdTryParseInteger(const S: UTF8String; out Value: Int64): Boolean;
+function xsdTryParseNonNegativeInteger(const S: UTF8String; out Value: QWord): Boolean;
+function xsdTryParseNonPositiveInteger(const S: UTF8String; out Value: Int64): Boolean;
+function xsdTryParseNegativeInteger(const S: UTF8String; out Value: Int64): Boolean;
+function xsdTryParsePositiveInteger(const S: UTF8String; out Value: QWord): Boolean;
+function xsdTryParseByte(const S: UTF8String; out Value: Shortint): Boolean;
+function xsdTryParseShort(const S: UTF8String; out Value: Smallint): Boolean;
+function xsdTryParseInt(const S: UTF8String; out Value: Longint): Boolean;
+function xsdTryParseLong(const S: UTF8String; out Value: Int64): Boolean;
+function xsdTryParseUnsignedByte(const S: UTF8String; out Value: Byte): Boolean;
+function xsdTryParseUnsignedShort(const S: UTF8String; out Value: Word): Boolean;
+function xsdTryParseUnsignedInt(const S: UTF8String; out Value: Longword): Boolean;
+function xsdTryParseUnsignedLong(const S: UTF8String; out Value: QWord): Boolean;
+function xsdTryParseEnum(const S: UTF8String; enum: array of Utf8String; out Value: Integer): Boolean;
+
+function xsdParseStringDef(const S: UTF8String; Default: Utf8String): Utf8String;
+function xsdParseStringLowerDef(const S: UTF8String; Default: Utf8String): Utf8String;
+function xsdParseBooleanDef(const S: UTF8String; Default: Boolean): Boolean;
+function xsdParseDateDef(const S: UTF8String; Default: TDateTime; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseTimeDef(const S: UTF8String; Default: TDateTime; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseDateTimeDef(const S: UTF8String; Default: TDateTime; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseDecimalDef(const S: UTF8String; Default: Extended): Extended;
+function xsdParseDoubleDef(const S: UTF8String; Default: Double): Double;
+function xsdParseFloatDef(const S: UTF8String; Default: Single): Single;
+function xsdParseIntegerDef(const S: UTF8String; Default: Int64): Int64;
+function xsdParseNonNegativeIntegerDef(const S: UTF8String; Default: QWord): QWord;
+function xsdParseNonPositiveIntegerDef(const S: UTF8String; Default: Int64): Int64;
+function xsdParseNegativeIntegerDef(const S: UTF8String; Default: Int64): Int64;
+function xsdParsePositiveIntegerDef(const S: UTF8String; Default: QWord): QWord;
+function xsdParseByteDef(const S: UTF8String; Default: Shortint): Shortint;
+function xsdParseShortDef(const S: UTF8String; Default: Smallint): Smallint;
+function xsdParseIntDef(const S: UTF8String; Default: Longint): Longint;
+function xsdParseLongDef(const S: UTF8String; Default: Int64): Int64;
+function xsdParseUnsignedByteDef(const S: UTF8String; Default: Byte): Byte;
+function xsdParseUnsignedShortDef(const S: UTF8String; Default: Word): Word;
+function xsdParseUnsignedIntDef(const S: UTF8String; Default: Longword): Longword;
+function xsdParseUnsignedLongDef(const S: UTF8String; Default: QWord): QWord;
+function xsdParseEnumDef(const S: UTF8String; enum: array of Utf8String; Default: Integer): Integer;
+}
+procedure xsdParseBase64(const S: UTF8String; const Value: TStream);
+procedure xsdParseString(const S: UTF8String; out Value: Utf8String);
+procedure xsdParseStringLower(const S: UTF8String; out Value: Utf8String);
+procedure xsdParseBoolean(const S: UTF8String; out Value: Boolean);
+procedure xsdParseDate(const S: UTF8String; out Year, Month, Day: Longword; Timezone: PXsdTimezone = nil; BC: PBoolean = nil);
+procedure xsdParseDate(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil);
+procedure xsdParseTime(const S: UTF8String; out Hour, Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone = nil);
+procedure xsdParseTime(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil);
+procedure xsdParseDateTime(const S: UTF8String; out Year, Month, Day, Hour, Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone = nil; BC: PBoolean = nil);
+procedure xsdParseDateTime(const S: UTF8String; out Value: TDateTime; Timezone: PXsdTimezone = nil);
+procedure xsdParseDecimal(const S: UTF8String; out Value: Extended);
+procedure xsdParseDouble(const S: UTF8String; out Value: Double);
+procedure xsdParseFloat(const S: UTF8String; out Value: Single);
+procedure xsdParseInteger(const S: UTF8String; out Value: Int64);
+procedure xsdParseNonNegativeInteger(const S: UTF8String; out Value: QWord);
+procedure xsdParseNonPositiveInteger(const S: UTF8String; out Value: Int64);
+procedure xsdParseNegativeInteger(const S: UTF8String; out Value: Int64);
+procedure xsdParsePositiveInteger(const S: UTF8String; out Value: QWord);
+procedure xsdParseByte(const S: UTF8String; out Value: Shortint);
+procedure xsdParseShort(const S: UTF8String; out Value: Smallint);
+procedure xsdParseInt(const S: UTF8String; out Value: Longint);
+procedure xsdParseLong(const S: UTF8String; out Value: Int64);
+procedure xsdParseUnsignedByte(const S: UTF8String; out Value: Byte);
+procedure xsdParseUnsignedShort(const S: UTF8String; out Value: Word);
+procedure xsdParseUnsignedInt(const S: UTF8String; out Value: Longword);
+procedure xsdParseUnsignedLong(const S: UTF8String; out Value: QWord);
+procedure xsdParseEnum(const S: UTF8String; enum: array of Utf8String; out Value: Integer);
+
+function xsdParseString(const S: UTF8String): Utf8String;
+function xsdParseStringLower(const S: UTF8String): Utf8String;
+function xsdParseBoolean(const S: UTF8String): Boolean;
+function xsdParseDate(const S: UTF8String; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseTime(const S: UTF8String; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseDateTime(const S: UTF8String; Timezone: PXsdTimezone = nil): TDateTime;
+function xsdParseDecimal(const S: UTF8String): Extended;
+function xsdParseDouble(const S: UTF8String): Double;
+function xsdParseFloat(const S: UTF8String): Single;
+function xsdParseInteger(const S: UTF8String): Int64;
+function xsdParseNonNegativeInteger(const S: UTF8String): QWord;
+function xsdParseNonPositiveInteger(const S: UTF8String): Int64;
+function xsdParseNegativeInteger(const S: UTF8String): Int64;
+function xsdParsePositiveInteger(const S: UTF8String): QWord;
+function xsdParseByte(const S: UTF8String): Shortint;
+function xsdParseShort(const S: UTF8String): Smallint;
+function xsdParseInt(const S: UTF8String): Longint;
+function xsdParseLong(const S: UTF8String): Int64;
+function xsdParseUnsignedByte(const S: UTF8String): Byte;
+function xsdParseUnsignedShort(const S: UTF8String): Word;
+function xsdParseUnsignedInt(const S: UTF8String): Longword;
+function xsdParseUnsignedLong(const S: UTF8String): QWord;
+function xsdParseEnum(const S: UTF8String; enum: array of Utf8String): Integer;
 
 
 
 
 { INTERNAL HELPERS!!! }
 { INTERNAL HELPERS!!! }
@@ -1788,5 +1892,538 @@ function xsdParseEnum(Chars: PChar; Len: Integer; enum: array of Utf8String): In
 begin
 begin
   xsdParseEnum(Chars, Len, enum, Result);
   xsdParseEnum(Chars, Len, enum, Result);
 end;
 end;
+(*
+function xsdTryParseBase64(const S: UTF8String; const Value: TStream): Boolean;
+begin
+
+end;
+
+function xsdTryParseString(const S: UTF8String; out Value: Utf8String): Boolean;
+begin
+
+end;
+
+function xsdTryParseStringLower(const S: UTF8String; out Value: Utf8String
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseBoolean(const S: UTF8String; out Value: Boolean): Boolean;
+begin
+
+end;
+
+function xsdTryParseDate(const S: UTF8String; out Year, Month, Day: Longword;
+  Timezone: PXsdTimezone; BC: PBoolean): Boolean;
+begin
+
+end;
+
+function xsdTryParseDate(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone): Boolean;
+begin
+
+end;
+
+function xsdTryParseTime(const S: UTF8String; out Hour, Minute, Second,
+  Milliseconds: Longword; Timezone: PXsdTimezone): Boolean;
+begin
+
+end;
+
+function xsdTryParseTime(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone): Boolean;
+begin
+
+end;
+
+function xsdTryParseDateTime(const S: UTF8String; out Year, Month, Day, Hour,
+  Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone; BC: PBoolean
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseDateTime(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone): Boolean;
+begin
+
+end;
+
+function xsdTryParseDecimal(const S: UTF8String; out Value: Extended): Boolean;
+begin
+
+end;
+
+function xsdTryParseDouble(const S: UTF8String; out Value: Double): Boolean;
+begin
+
+end;
+
+function xsdTryParseFloat(const S: UTF8String; out Value: Single): Boolean;
+begin
+
+end;
+
+function xsdTryParseInteger(const S: UTF8String; out Value: Int64): Boolean;
+begin
+
+end;
+
+function xsdTryParseNonNegativeInteger(const S: UTF8String; out Value: QWord
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseNonPositiveInteger(const S: UTF8String; out Value: Int64
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseNegativeInteger(const S: UTF8String; out Value: Int64
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParsePositiveInteger(const S: UTF8String; out Value: QWord
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseByte(const S: UTF8String; out Value: Shortint): Boolean;
+begin
+
+end;
+
+function xsdTryParseShort(const S: UTF8String; out Value: Smallint): Boolean;
+begin
+
+end;
+
+function xsdTryParseInt(const S: UTF8String; out Value: Longint): Boolean;
+begin
+
+end;
+
+function xsdTryParseLong(const S: UTF8String; out Value: Int64): Boolean;
+begin
+
+end;
+
+function xsdTryParseUnsignedByte(const S: UTF8String; out Value: Byte): Boolean;
+begin
+
+end;
+
+function xsdTryParseUnsignedShort(const S: UTF8String; out Value: Word
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseUnsignedInt(const S: UTF8String; out Value: Longword
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseUnsignedLong(const S: UTF8String; out Value: QWord
+  ): Boolean;
+begin
+
+end;
+
+function xsdTryParseEnum(const S: UTF8String; enum: array of Utf8String;
+  out Value: Integer): Boolean;
+begin
+
+end;
+
+function xsdParseStringDef(const S: UTF8String; Default: Utf8String
+  ): Utf8String;
+begin
+
+end;
+
+function xsdParseStringLowerDef(const S: UTF8String; Default: Utf8String
+  ): Utf8String;
+begin
+
+end;
+
+function xsdParseBooleanDef(const S: UTF8String; Default: Boolean): Boolean;
+begin
+
+end;
+
+function xsdParseDateDef(const S: UTF8String; Default: TDateTime;
+  Timezone: PXsdTimezone): TDateTime;
+begin
+
+end;
+
+function xsdParseTimeDef(const S: UTF8String; Default: TDateTime;
+  Timezone: PXsdTimezone): TDateTime;
+begin
+
+end;
+
+function xsdParseDateTimeDef(const S: UTF8String; Default: TDateTime;
+  Timezone: PXsdTimezone): TDateTime;
+begin
+
+end;
+
+function xsdParseDecimalDef(const S: UTF8String; Default: Extended): Extended;
+begin
+
+end;
+
+function xsdParseDoubleDef(const S: UTF8String; Default: Double): Double;
+begin
+
+end;
+
+function xsdParseFloatDef(const S: UTF8String; Default: Single): Single;
+begin
+
+end;
+
+function xsdParseIntegerDef(const S: UTF8String; Default: Int64): Int64;
+begin
+
+end;
+
+function xsdParseNonNegativeIntegerDef(const S: UTF8String; Default: QWord
+  ): QWord;
+begin
+
+end;
+
+function xsdParseNonPositiveIntegerDef(const S: UTF8String; Default: Int64
+  ): Int64;
+begin
+
+end;
+
+function xsdParseNegativeIntegerDef(const S: UTF8String; Default: Int64): Int64;
+begin
+
+end;
+
+function xsdParsePositiveIntegerDef(const S: UTF8String; Default: QWord): QWord;
+begin
+
+end;
+
+function xsdParseByteDef(const S: UTF8String; Default: Shortint): Shortint;
+begin
+
+end;
+
+function xsdParseShortDef(const S: UTF8String; Default: Smallint): Smallint;
+begin
+
+end;
+
+function xsdParseIntDef(const S: UTF8String; Default: Longint): Longint;
+begin
+
+end;
+
+function xsdParseLongDef(const S: UTF8String; Default: Int64): Int64;
+begin
+
+end;
+
+function xsdParseUnsignedByteDef(const S: UTF8String; Default: Byte): Byte;
+begin
+
+end;
+
+function xsdParseUnsignedShortDef(const S: UTF8String; Default: Word): Word;
+begin
+
+end;
+
+function xsdParseUnsignedIntDef(const S: UTF8String; Default: Longword
+  ): Longword;
+begin
+
+end;
+
+function xsdParseUnsignedLongDef(const S: UTF8String; Default: QWord): QWord;
+begin
+
+end;
+
+function xsdParseEnumDef(const S: UTF8String; enum: array of Utf8String;
+  Default: Integer): Integer;
+begin
+
+end;*)
+
+procedure xsdParseBase64(const S: UTF8String; const Value: TStream);
+begin
+  xsdParseBase64(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseString(const S: UTF8String; out Value: Utf8String);
+begin
+  xsdParseString(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseStringLower(const S: UTF8String; out Value: Utf8String);
+begin
+  xsdParseStringLower(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseBoolean(const S: UTF8String; out Value: Boolean);
+begin
+  xsdParseBoolean(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseDate(const S: UTF8String; out Year, Month, Day: Longword;
+  Timezone: PXsdTimezone; BC: PBoolean);
+begin
+  xsdParseDate(PChar(S), Length(S), Year, Month, Day, Timezone, BC);
+end;
+
+procedure xsdParseDate(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone);
+begin
+  xsdParseDate(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseTime(const S: UTF8String; out Hour, Minute, Second,
+  Milliseconds: Longword; Timezone: PXsdTimezone);
+begin
+  xsdParseTime(PChar(S), Length(S), Hour, Minute, Second,
+    Milliseconds, Timezone);
+end;
+
+procedure xsdParseTime(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone);
+begin
+  xsdParseTime(PChar(S), Length(S), Value, Timezone);
+end;
+
+procedure xsdParseDateTime(const S: UTF8String; out Year, Month, Day, Hour,
+  Minute, Second, Milliseconds: Longword; Timezone: PXsdTimezone; BC: PBoolean);
+begin
+  xsdParseDateTime(PChar(S), Length(S), Year, Month, Day, Hour,
+    Minute, Second, Milliseconds, Timezone, BC);
+end;
+
+procedure xsdParseDateTime(const S: UTF8String; out Value: TDateTime;
+  Timezone: PXsdTimezone);
+begin
+  xsdParseDateTime(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseDecimal(const S: UTF8String; out Value: Extended);
+begin
+  xsdParseDecimal(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseDouble(const S: UTF8String; out Value: Double);
+begin
+  xsdParseDouble(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseFloat(const S: UTF8String; out Value: Single);
+begin
+  xsdParseFloat(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseInteger(const S: UTF8String; out Value: Int64);
+begin
+  xsdParseInteger(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseNonNegativeInteger(const S: UTF8String; out Value: QWord);
+begin
+  xsdParseNonNegativeInteger(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseNonPositiveInteger(const S: UTF8String; out Value: Int64);
+begin
+  xsdParseNonPositiveInteger(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseNegativeInteger(const S: UTF8String; out Value: Int64);
+begin
+  xsdParseNegativeInteger(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParsePositiveInteger(const S: UTF8String; out Value: QWord);
+begin
+  xsdParsePositiveInteger(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseByte(const S: UTF8String; out Value: Shortint);
+begin
+  xsdParseByte(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseShort(const S: UTF8String; out Value: Smallint);
+begin
+  xsdParseShort(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseInt(const S: UTF8String; out Value: Longint);
+begin
+  xsdParseInt(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseLong(const S: UTF8String; out Value: Int64);
+begin
+  xsdParseLong(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseUnsignedByte(const S: UTF8String; out Value: Byte);
+begin
+  xsdParseUnsignedByte(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseUnsignedShort(const S: UTF8String; out Value: Word);
+begin
+  xsdParseUnsignedShort(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseUnsignedInt(const S: UTF8String; out Value: Longword);
+begin
+  xsdParseUnsignedInt(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseUnsignedLong(const S: UTF8String; out Value: QWord);
+begin
+  xsdParseUnsignedLong(PChar(S), Length(S), Value);
+end;
+
+procedure xsdParseEnum(const S: UTF8String; enum: array of Utf8String; out Value: Integer);
+begin
+  xsdParseEnum(PChar(S), Length(S), enum, Value);
+end;
+
+function xsdParseString(const S: UTF8String): Utf8String;
+begin
+  xsdParseString(PChar(S), Length(S), Result);
+end;
+
+function xsdParseStringLower(const S: UTF8String): Utf8String;
+begin
+  xsdParseStringLower(PChar(S), Length(S), Result);
+end;
+
+function xsdParseBoolean(const S: UTF8String): Boolean;
+begin
+  xsdParseBoolean(PChar(S), Length(S), Result);
+end;
+
+function xsdParseDate(const S: UTF8String; Timezone: PXsdTimezone): TDateTime;
+begin
+  xsdParseDate(PChar(S), Length(S), Result, Timezone);
+end;
+
+function xsdParseTime(const S: UTF8String; Timezone: PXsdTimezone): TDateTime;
+begin
+  xsdParseTime(PChar(S), Length(S), Result, Timezone);
+end;
+
+function xsdParseDateTime(const S: UTF8String; Timezone: PXsdTimezone): TDateTime;
+begin
+  xsdParseDateTime(PChar(S), Length(S), Result, Timezone);
+end;
+
+function xsdParseDecimal(const S: UTF8String): Extended;
+begin
+  xsdParseDecimal(PChar(S), Length(S), Result);
+end;
+
+function xsdParseDouble(const S: UTF8String): Double;
+begin
+  xsdParseDouble(PChar(S), Length(S), Result);
+end;
+
+function xsdParseFloat(const S: UTF8String): Single;
+begin
+  xsdParseFloat(PChar(S), Length(S), Result);
+end;
+
+function xsdParseInteger(const S: UTF8String): Int64;
+begin
+  xsdParseInteger(PChar(S), Length(S), Result);
+end;
+
+function xsdParseNonNegativeInteger(const S: UTF8String): QWord;
+begin
+  xsdParseNonNegativeInteger(PChar(S), Length(S), Result);
+end;
+
+function xsdParseNonPositiveInteger(const S: UTF8String): Int64;
+begin
+  xsdParseNonPositiveInteger(PChar(S), Length(S), Result);
+end;
+
+function xsdParseNegativeInteger(const S: UTF8String): Int64;
+begin
+  xsdParseNegativeInteger(PChar(S), Length(S), Result);
+end;
+
+function xsdParsePositiveInteger(const S: UTF8String): QWord;
+begin
+  xsdParsePositiveInteger(PChar(S), Length(S), Result);
+end;
+
+function xsdParseByte(const S: UTF8String): Shortint;
+begin
+  xsdParseByte(PChar(S), Length(S), Result);
+end;
+
+function xsdParseShort(const S: UTF8String): Smallint;
+begin
+  xsdParseShort(PChar(S), Length(S), Result);
+end;
+
+function xsdParseInt(const S: UTF8String): Longint;
+begin
+  xsdParseInt(PChar(S), Length(S), Result);
+end;
+
+function xsdParseLong(const S: UTF8String): Int64;
+begin
+  xsdParseLong(PChar(S), Length(S), Result);
+end;
+
+function xsdParseUnsignedByte(const S: UTF8String): Byte;
+begin
+  xsdParseUnsignedByte(PChar(S), Length(S), Result);
+end;
+
+function xsdParseUnsignedShort(const S: UTF8String): Word;
+begin
+  xsdParseUnsignedShort(PChar(S), Length(S), Result);
+end;
+
+function xsdParseUnsignedInt(const S: UTF8String): Longword;
+begin
+  xsdParseUnsignedInt(PChar(S), Length(S), Result);
+end;
+
+function xsdParseUnsignedLong(const S: UTF8String): QWord;
+begin
+  xsdParseUnsignedLong(PChar(S), Length(S), Result);
+end;
+
+function xsdParseEnum(const S: UTF8String; enum: array of Utf8String): Integer;
+begin
+  xsdParseEnum(PChar(S), Length(S), enum, Result);
+end;
 
 
 end.
 end.