summaryrefslogtreecommitdiff
path: root/packages/libxml
diff options
context:
space:
mode:
authorivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-01-06 22:46:00 +0000
committerivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2009-01-06 22:46:00 +0000
commit900d896d8dd2c3bdf02213112360dc8c50757530 (patch)
tree8a583c4ee88dc2cc03f2ab8c22abfa5fabc39cf2 /packages/libxml
parent292d9d4da52e698d6387a13eab72499468a2dfae (diff)
downloadfpc-900d896d8dd2c3bdf02213112360dc8c50757530.tar.gz
* added more libxml2 xsd helper functions
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@12523 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/libxml')
-rw-r--r--packages/libxml/src/xmlxsd.pas72
1 files changed, 72 insertions, 0 deletions
diff --git a/packages/libxml/src/xmlxsd.pas b/packages/libxml/src/xmlxsd.pas
index d536bbe85b..28e1c7af48 100644
--- a/packages/libxml/src/xmlxsd.pas
+++ b/packages/libxml/src/xmlxsd.pas
@@ -103,8 +103,11 @@ function xsdGetChild(node: xmlNodePtr; name: xmlCharPtr; index: Integer = 0): xm
function xsdGetNsChild(node: xmlNodePtr; name, nameSpace: xmlCharPtr; index: Integer = 0): xmlCharPtr;
function xsdGetChildString(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: String; index: Integer = 0): Boolean;
function xsdGetChildBoolean(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Boolean; index: Integer = 0): Boolean;
+function xsdGetChildDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day: Longword; index: Integer = 0): Boolean;
function xsdGetChildDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer = 0): Boolean;
+function xsdGetChildTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Hour, Minute, Second: Longword; index: Integer = 0): Boolean;
function xsdGetChildTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer = 0): Boolean;
+function xsdGetChildDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day, Hour, Minute, Second: Longword; index: Integer = 0): Boolean;
function xsdGetChildDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer = 0): Boolean;
function xsdGetChildDecimal(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Extended; index: Integer = 0): Boolean;
function xsdGetChildDouble(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Double; index: Integer = 0): Boolean;
@@ -125,8 +128,11 @@ function xsdGetProp(node: xmlNodePtr; name: xmlCharPtr): xmlCharPtr;
function xsdGetNsProp(node: xmlNodePtr; name, nameSpace: xmlCharPtr): xmlCharPtr;
function xsdGetPropString(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: String): Boolean;
function xsdGetPropBoolean(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Boolean): Boolean;
+function xsdGetPropDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day: Longword): Boolean;
function xsdGetPropDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
+function xsdGetPropTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Hour, Minute, Second: Longword): Boolean;
function xsdGetPropTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
+function xsdGetPropDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day, Hour, Minute, Second: Longword): Boolean;
function xsdGetPropDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
function xsdGetPropDecimal(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Extended): Boolean;
function xsdGetPropDouble(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: Double): Boolean;
@@ -747,6 +753,17 @@ begin
result := false;
end;
+function xsdGetChildDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day: Longword; index: Integer): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsChild(node, name, nameSpace, index);
+ if assigned(value) then
+ result := xsdParseDate(pchar(value), Year, Month, Day)
+ else
+ result := false;
+end;
+
function xsdGetChildDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer): Boolean;
var
value: xmlCharPtr;
@@ -758,6 +775,17 @@ begin
result := false;
end;
+function xsdGetChildTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Hour, Minute, Second: Longword; index: Integer): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsChild(node, name, nameSpace, index);
+ if assigned(value) then
+ result := xsdParseTime(pchar(value), Hour, Minute, Second)
+ else
+ result := false;
+end;
+
function xsdGetChildTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer): Boolean;
var
value: xmlCharPtr;
@@ -769,6 +797,17 @@ begin
result := false;
end;
+function xsdGetChildDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day, Hour, Minute, Second: Longword; index: Integer): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsChild(node, name, nameSpace, index);
+ if assigned(value) then
+ result := xsdParseDateTime(pchar(value), Year, Month, Day, Hour, Minute, Second)
+ else
+ result := false;
+end;
+
function xsdGetChildDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime; index: Integer): Boolean;
var
value: xmlCharPtr;
@@ -954,6 +993,17 @@ begin
result := false;
end;
+function xsdGetPropDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day: Longword): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsProp(node, name, nameSpace);
+ if assigned(value) then
+ result := xsdParseDate(pchar(value), Year, Month, Day)
+ else
+ result := false;
+end;
+
function xsdGetPropDate(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
var
value: xmlCharPtr;
@@ -965,6 +1015,17 @@ begin
result := false;
end;
+function xsdGetPropTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Hour, Minute, Second: Longword): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsProp(node, name, nameSpace);
+ if assigned(value) then
+ result := xsdParseTime(pchar(value), Hour, Minute, Second)
+ else
+ result := false;
+end;
+
function xsdGetPropTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
var
value: xmlCharPtr;
@@ -976,6 +1037,17 @@ begin
result := false;
end;
+function xsdGetPropDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var Year: Longint; var Month, Day, Hour, Minute, Second: Longword): Boolean;
+var
+ value: xmlCharPtr;
+begin
+ value := xsdGetNsProp(node, name, nameSpace);
+ if assigned(value) then
+ result := xsdParseDateTime(pchar(value), Year, Month, Day, Hour, Minute, Second)
+ else
+ result := false;
+end;
+
function xsdGetPropDateTime(node: xmlNodePtr; name, nameSpace: xmlCharPtr; var P: TDateTime): Boolean;
var
value: xmlCharPtr;