Browse Source

* progress on libxml2 translation

git-svn-id: trunk@11582 -
ivost 17 years ago
parent
commit
cd9cb036b9

+ 73 - 59
packages/libxml/src/HTMLparser.inc

@@ -12,36 +12,39 @@
 
 {$IFDEF LIBXML_HTML_ENABLED}
 
-{$IFDEF TYPE_}
+{$IFDEF POINTER}
+  htmlElemDescPtr = ^htmlElemDesc;
+  htmlEntityDescPtr = ^htmlEntityDesc;
+{$ENDIF}
+
+{$IFDEF TYPE}
 (*
  * Most of the back-end structures from XML and HTML are shared.
  *)
-typedef xmlParserCtxt htmlParserCtxt;
-typedef xmlParserCtxtPtr htmlParserCtxtPtr;
-typedef xmlParserNodeInfo htmlParserNodeInfo;
-typedef xmlSAXHandler htmlSAXHandler;
-typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
-typedef xmlParserInput htmlParserInput;
-typedef xmlParserInputPtr htmlParserInputPtr;
-typedef xmlDocPtr htmlDocPtr;
-typedef xmlNodePtr htmlNodePtr;
+  htmlParserCtxt = xmlParserCtxt;
+  htmlParserCtxtPtr = xmlParserCtxtPtr;
+  htmlParserNodeInfo = xmlParserNodeInfo;
+  htmlSAXHandler = xmlSAXHandler;
+  htmlSAXHandlerPtr = xmlSAXHandlerPtr;
+  htmlParserInput = xmlParserInput;
+  htmlParserInputPtr = xmlParserInputPtr;
+  htmlDocPtr = xmlDocPtr;
+  htmlNodePtr = xmlNodePtr;
 
 (*
  * Internal description of an HTML element, representing HTML 4.01
  * and XHTML 1.0 (which share the same structure).
  *)
-typedef struct _htmlElemDesc htmlElemDesc;
-typedef htmlElemDesc *htmlElemDescPtr;
-struct _htmlElemDesc {
-    char *name;	(* The tag name *)
-    char startTag;      (* Whether the start tag can be implied *)
-    char endTag;        (* Whether the end tag can be implied *)
-    char saveEndTag;    (* Whether the end tag should be saved *)
-    char empty;         (* Is this an empty element ? *)
-    char depr;          (* Is this a deprecated element ? *)
-    char dtd;           (* 1: only in Loose DTD, 2: only Frameset one *)
-    char isinline;      (* is this a block 0 or inline 1 element *)
-    char *desc;   (* the description *)
+  htmlElemDesc = record
+    name        : pchar;	(* The tag name *)
+    startTag    : char;      (* Whether the start tag can be implied *)
+    endTag      : char;        (* Whether the end tag can be implied *)
+    saveEndTag  : char;    (* Whether the end tag should be saved *)
+    empty       : char;         (* Is this an empty element ? *)
+    depr        : char;          (* Is this a deprecated element ? *)
+    dtd         : char;           (* 1: only in Loose DTD, 2: only Frameset one *)
+    isinline    : char;      (* is this a block 0 or inline 1 element *)
+    desc        : pchar;   (* the description *)
 
 (* NRK Jan.2003
  * New fields encapsulating HTML structure
@@ -53,24 +56,22 @@ struct _htmlElemDesc {
  *	are allowed.  Some element relationships are not fully represented:
  *	these are flagged with the word MODIFIER
  *)
-    char** subelts;		(* allowed sub-elements of this element *)
-    char* defaultsubelt;	(* subelement for suggested auto-repair
+    subelts       : ppchar;		(* allowed sub-elements of this element *)
+    defaultsubelt : pchar;	(* subelement for suggested auto-repair
 					   if necessary or NULL *)
-    char** attrs_opt;		(* Optional Attributes *)
-    char** attrs_depr;		(* Additional deprecated attributes *)
-    char** attrs_req;		(* Required attributes *)
-};
+    attrs_opt     : ppchar;		(* Optional Attributes *)
+    attrs_depr    : ppchar;		(* Additional deprecated attributes *)
+    attrs_req     : ppchar;		(* Required attributes *)
+  end;
 
 (*
  * Internal description of an HTML entity.
  *)
-typedef struct _htmlEntityDesc htmlEntityDesc;
-typedef htmlEntityDesc *htmlEntityDescPtr;
-struct _htmlEntityDesc {
-    unsigned int value;	(* the UNICODE value for the character *)
-    char *name;	(* The entity name *)
-    char *desc;   (* the description *)
-};
+  htmlEntityDesc = record
+    value : cuint;	(* the UNICODE value for the character *)
+    name  : pchar;	(* The entity name *)
+    desc  : pchar;   (* the description *)
+  end;
 {$ENDIF}
 
 {$IFDEF FUNCTION_}
@@ -159,7 +160,12 @@ XMLPUBFUN int XMLCALL
 
 XMLPUBFUN void XMLCALL
 			htmlFreeParserCtxt	(htmlParserCtxtPtr ctxt);
+{$ENDIF}
 
+{$IFDEF TYPE}
+  htmlParserOption = type cint;
+{$ENDIF}
+{$IFDEF CONST}
 (*
  * New set of simpler/more flexible APIs
  *)
@@ -169,16 +175,16 @@ XMLPUBFUN void XMLCALL
  * This is the set of XML parser options that can be passed down
  * to the xmlReadDoc() and similar calls.
  *)
-typedef enum {
-    HTML_PARSE_RECOVER  = 1<<0, (* Relaxed parsing *)
-    HTML_PARSE_NOERROR	= 1<<5,	(* suppress error reports *)
-    HTML_PARSE_NOWARNING= 1<<6,	(* suppress warning reports *)
-    HTML_PARSE_PEDANTIC	= 1<<7,	(* pedantic error reporting *)
-    HTML_PARSE_NOBLANKS	= 1<<8,	(* remove blank nodes *)
-    HTML_PARSE_NONET	= 1<<11,(* Forbid network access *)
-    HTML_PARSE_COMPACT  = 1<<16 (* compact small text nodes *)
-} htmlParserOption;
+  HTML_PARSE_RECOVER  = 1 shl 0; (* Relaxed parsing *)
+  HTML_PARSE_NOERROR	= 1 shl 5;	(* suppress error reports *)
+  HTML_PARSE_NOWARNING= 1 shl 6;	(* suppress warning reports *)
+  HTML_PARSE_PEDANTIC	= 1 shl 7;	(* pedantic error reporting *)
+  HTML_PARSE_NOBLANKS	= 1 shl 8;	(* remove blank nodes *)
+  HTML_PARSE_NONET	= 1 shl 11;(* Forbid network access *)
+  HTML_PARSE_COMPACT  = 1 shl 16; (* compact small text nodes *)
+{$ENDIF}
 
+{$IFDEF FUNCTION_}
 XMLPUBFUN void XMLCALL
 		htmlCtxtReset		(htmlParserCtxtPtr ctxt);
 XMLPUBFUN int XMLCALL
@@ -243,31 +249,38 @@ XMLPUBFUN htmlDocPtr XMLCALL
 					 char *URL,
 					 char *encoding,
 					 int options);
+{$ENDIF}
 
+{$IFDEF TYPE}
+  htmlStatus = type cint;
+{$ENDIF}
+{$IFDEF CONST}
 (* NRK/Jan2003: further knowledge of HTML structure
  *)
-typedef enum {
-  HTML_NA = 0 ,		(* something we don't check at all *)
-  HTML_INVALID = 0x1 ,
-  HTML_DEPRECATED = 0x2 ,
-  HTML_VALID = 0x4 ,
-  HTML_REQUIRED = 0xc (* VALID bit set so ( & HTML_VALID ) is TRUE *)
-} htmlStatus ;
+  HTML_NA = $0;		(* something we don't check at all *)
+  HTML_INVALID = $1;
+  HTML_DEPRECATED = $2;
+  HTML_VALID = $4;
+  HTML_REQUIRED = $c; (* VALID bit set so ( & HTML_VALID ) is TRUE *)
+{$ENDIF}
 
+{$IFDEF FUNCTION}
 (* Using htmlElemDesc rather than name here, to emphasise the fact
    that otherwise there's a lookup overhead
 *)
-XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(htmlElemDesc*, xmlChar*, int) ;
-XMLPUBFUN int XMLCALL htmlElementAllowedHere(htmlElemDesc*, xmlChar*) ;
-XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(htmlElemDesc*, htmlElemDesc*) ;
-XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(htmlNodePtr, int) ;
+function htmlAttrAllowed(desc: htmlElemDescPtr; str: xmlCharPtr; val: cint): htmlStatus; XMLCALL; XMLPUBFUN;
+function htmlElementAllowedHere(desc: htmlElemDescPtr; str: xmlCharPtr): cint; XMLCALL; XMLPUBFUN;
+function htmlAttrAllowed(desc1, desc2: htmlElemDescPtr): htmlStatus; XMLCALL; XMLPUBFUN;
+function htmlNodeStatus(node: htmlNodePtr; val: cint): htmlStatus; XMLCALL; XMLPUBFUN;
+
 (**
  * htmlDefaultSubelement:
  * @elt: HTML element
  *
  * Returns the default subelement for this element
  *)
-#define htmlDefaultSubelement(elt) elt->defaultsubelt
+//#define htmlDefaultSubelement(elt) elt->defaultsubelt
+
 (**
  * htmlElementAllowedHereDesc:
  * @parent: HTML parent element
@@ -278,15 +291,16 @@ XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(htmlNodePtr, int) ;
  *
  * Returns 1 if allowed; 0 otherwise.
  *)
-#define htmlElementAllowedHereDesc(parent,elt) \
-	htmlElementAllowedHere((parent), (elt)->name)
+{#define htmlElementAllowedHereDesc(parent,elt) \
+	htmlElementAllowedHere((parent), (elt)->name)}
+
 (**
  * htmlRequiredAttrs:
  * @elt: HTML element
  *
  * Returns the attributes required for the specified element.
  *)
-#define htmlRequiredAttrs(elt) (elt)->attrs_req
+{#define htmlRequiredAttrs(elt) (elt)->attrs_req}
 {$ENDIF}
 
 {$ENDIF} (* LIBXML_HTML_ENABLED *)

+ 19 - 76
packages/libxml/src/HTMLtree.inc

@@ -48,84 +48,27 @@
   HTML_PI_NODE		= XML_PI_NODE;
 {$ENDIF}
 
-{$IFDEF FUNCTION_}
-XMLPUBFUN htmlDocPtr XMLCALL
-		htmlNewDoc		(xmlChar *URI,
-					 xmlChar *ExternalID);
-XMLPUBFUN htmlDocPtr XMLCALL
-		htmlNewDocNoDtD		(xmlChar *URI,
-					 xmlChar *ExternalID);
-XMLPUBFUN xmlChar * XMLCALL
-		htmlGetMetaEncoding	(htmlDocPtr doc);
-XMLPUBFUN int XMLCALL
-		htmlSetMetaEncoding	(htmlDocPtr doc,
-					 xmlChar *encoding);
+{$IFDEF FUNCTION}
+function htmlNewDoc(URI, ExternalID: xmlCharPtr): htmlDocPtr; XMLCALL; XMLPUBFUN;
+function htmlNewDocNoDtD(URI, ExternalID: xmlCharPtr): htmlDocPtr; XMLCALL; XMLPUBFUN;
+function htmlGetMetaEncoding(doc: htmlDocPtr): xmlCharPtr; XMLCALL; XMLPUBFUN;
+function htmlSetMetaEncoding(doc: htmlDocPtr; encoding: xmlCharPtr): cint; XMLCALL; XMLPUBFUN;
 {$IFDEF LIBXML_OUTPUT_ENABLED}
-XMLPUBFUN void XMLCALL
-		htmlDocDumpMemory	(xmlDocPtr cur,
-					 xmlChar **mem,
-					 int *size);
-XMLPUBFUN void XMLCALL
-		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
-					 xmlChar **mem,
-					 int *size,
-					 int format);
-XMLPUBFUN int XMLCALL
-		htmlDocDump		(FILE *f,
-					 xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
-		htmlSaveFile		(char *filename,
-					 xmlDocPtr cur);
-XMLPUBFUN int XMLCALL
-		htmlNodeDump		(xmlBufferPtr buf,
-					 xmlDocPtr doc,
-					 xmlNodePtr cur);
-XMLPUBFUN void XMLCALL
-		htmlNodeDumpFile	(FILE *out,
-					 xmlDocPtr doc,
-					 xmlNodePtr cur);
-XMLPUBFUN int XMLCALL
-		htmlNodeDumpFileFormat	(FILE *out,
-					 xmlDocPtr doc,
-					 xmlNodePtr cur,
-					 char *encoding,
-					 int format);
-XMLPUBFUN int XMLCALL
-		htmlSaveFileEnc		(char *filename,
-					 xmlDocPtr cur,
-					 char *encoding);
-XMLPUBFUN int XMLCALL
-		htmlSaveFileFormat	(char *filename,
-					 xmlDocPtr cur,
-					 char *encoding,
-					 int format);
-
-XMLPUBFUN void XMLCALL
-		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
-					 xmlDocPtr doc,
-					 xmlNodePtr cur,
-					 char *encoding,
-					 int format);
-XMLPUBFUN void XMLCALL
-		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
-					 xmlDocPtr cur,
-					 char *encoding);
-XMLPUBFUN void XMLCALL
-		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
-					 xmlDocPtr cur,
-					 char *encoding,
-					 int format);
-XMLPUBFUN void XMLCALL
-		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
-					 xmlDocPtr doc,
-					 xmlNodePtr cur,
-					 char *encoding);
-
+procedure htmlDocDumpMemory(cur: xmlDocPtr; mem: xmlCharPtrPtr; size: pcint); XMLCALL; XMLPUBFUN;
+procedure htmlDocDumpMemoryFormat(cur: xmlDocPtr; mem: xmlCharPtrPtr; size: pcint; format: cint); XMLCALL; XMLPUBFUN;
+procedure htmlDocDump(f: PFILE; cur: xmlDocPtr); XMLCALL; XMLPUBFUN;
+function htmlSaveFile(filename: pchar; doc: htmlDocPtr): cint; XMLCALL; XMLPUBFUN;
+function htmlNodeDump(buf: xmlBufferPtr; doc: htmlDocPtr; cur: xmlNodePtr): cint; XMLCALL; XMLPUBFUN;
+procedure htmlNodeDumpFile(_out: PFILE; doc: xmlDocPtr; cur: xmlNodePtr); XMLCALL; XMLPUBFUN;
+function htmlNodeDumpFileFormat(_out: PFILE; doc: htmlDocPtr; cur: xmlNodePtr; encoding: pchar; format: cint): cint; XMLCALL; XMLPUBFUN;
+function htmlSaveFileEnc(filename: pchar; cur: htmlDocPtr; encoding: pchar): cint; XMLCALL; XMLPUBFUN;
+function htmlSaveFileFormat(filename: pchar; cur: htmlDocPtr; encoding: pchar; format: cint): cint; XMLCALL; XMLPUBFUN;
+procedure htmlNodeDumpFormatOutput(buf: xmlOutputBufferPtr; doc: xmlDocPtr; cur: xmlNodePtr; encoding: pchar; format: cint); XMLCALL; XMLPUBFUN;
+procedure htmlDocContentDumpOutput(buf: xmlOutputBufferPtr; cur: xmlNodePtr; encoding: pchar); XMLCALL; XMLPUBFUN;
+procedure htmlDocContentDumpFormatOutput(buf: xmlOutputBufferPtr; cur: xmlNodePtr; encoding: pchar; format: cint); XMLCALL; XMLPUBFUN;
+procedure htmlNodeDumpOutput(buf: xmlOutputBufferPtr; doc: xmlDocPtr; cur: xmlNodePtr; encoding: pchar); XMLCALL; XMLPUBFUN;
 {$ENDIF} (* LIBXML_OUTPUT_ENABLED *)
-
-XMLPUBFUN int XMLCALL
-		htmlIsBooleanAttr	(xmlChar *name);
-
+function htmlIsBooleanAttr(name: xmlCharPtr): cint; XMLCALL; XMLPUBFUN;
 {$ENDIF}
 
 {$ENDIF} (* LIBXML_HTML_ENABLED *)

+ 17 - 0
packages/libxml/src/libxml2.pas

@@ -79,6 +79,7 @@ type
   {$i xmlwriter.inc}
   {$i c14n.inc}
   {$i xpath.inc}
+  {$i xpathInternals.inc}
   {$i xlink.inc}
   {$i xinclude.inc}
   {$i xpointer.inc}
@@ -126,6 +127,7 @@ type
   {$i xmlwriter.inc}
   {$i c14n.inc}
   {$i xpath.inc}
+  {$i xpathInternals.inc}
   {$i xlink.inc}
   {$i xinclude.inc}
   {$i xpointer.inc}
@@ -174,6 +176,7 @@ const
   {$i xmlwriter.inc}
   {$i c14n.inc}
   {$i xpath.inc}
+  {$i xpathInternals.inc}
   {$i xlink.inc}
   {$i xinclude.inc}
   {$i xpointer.inc}
@@ -221,6 +224,7 @@ const
   {$i xmlwriter.inc}
   {$i c14n.inc}
   {$i xpath.inc}
+  {$i xpathInternals.inc}
   {$i xlink.inc}
   {$i xinclude.inc}
   {$i xpointer.inc}
@@ -373,6 +377,19 @@ end;
  *)
 
 
+(*
+ * macros from tree.inc
+ *)
+
+function XML_GET_CONTENT(n: pointer): xmlCharPtr;
+begin
+  if xmlNodePtr(n)^._type = XML_ELEMENT_NODE then
+    Result := nil
+  else
+    Result := xmlNodePtr(n)^.content;
+end;
+
+
 (*
  * macros from xpath.inc
  *)

+ 22 - 67
packages/libxml/src/tree.inc

@@ -422,9 +422,7 @@
  *
  * Macro to extract the content pointer of a node.
  *)
-
-{#define XML_GET_CONTENT(n)					\
-    ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)}
+function XML_GET_CONTENT(n: pointer): xmlCharPtr;
 
 (**
  * XML_GET_LINE:
@@ -577,83 +575,40 @@ procedure xmlBufferEmpty(buf: xmlBufferPtr); XMLCALL; XMLPUBFUN;
 function xmlBufferContent(buf: xmlBufferPtr): xmlCharPtr; XMLCALL; XMLPUBFUN;
 procedure xmlBufferSetAllocationScheme(buf: xmlBufferPtr; scheme: xmlBufferAllocationScheme); XMLCALL; XMLPUBFUN;
 function xmlBufferLength(buf: xmlBufferPtr): cint; XMLCALL; XMLPUBFUN;
-{$IFDEF 0}
 
 (*
  * Creating/freeing new structures.
  *)
-XMLPUBFUN xmlDtdPtr XMLCALL
-		xmlCreateIntSubset	(xmlDocPtr doc,
-					 xmlChar *name,
-					 xmlChar *ExternalID,
-					 xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
-		xmlNewDtd		(xmlDocPtr doc,
-					 xmlChar *name,
-					 xmlChar *ExternalID,
-					 xmlChar *SystemID);
-XMLPUBFUN xmlDtdPtr XMLCALL
-		xmlGetIntSubset		(xmlDocPtr doc);
-XMLPUBFUN void XMLCALL
-		xmlFreeDtd		(xmlDtdPtr cur);
+function xmlCreateIntSubset(doc: xmlDocPtr; name, ExternalID, SystemID: xmlCharPtr): xmlDtdPtr; XMLCALL; XMLPUBFUN;
+function xmlNewDtd(doc: xmlDocPtr; name, ExternalID, SystemID: xmlCharPtr): xmlDtdPtr; XMLCALL; XMLPUBFUN;
+function xmlGetIntSubset(doc: xmlDocPtr): xmlDtdPtr; XMLCALL; XMLPUBFUN;
+procedure xmlFreeDtd(cur: xmlDtdPtr); XMLCALL; XMLPUBFUN;
 {$IFDEF LIBXML_LEGACY_ENABLED}
-XMLPUBFUN xmlNsPtr XMLCALL
-		xmlNewGlobalNs		(xmlDocPtr doc,
-					 xmlChar *href,
-					 xmlChar *prefix);
+function xmlNewGlobalNs(doc: xmlDocPtr; href, prefix: xmlCharPtr): xmlNsPtr; XMLCALL; XMLPUBFUN;
 {$ENDIF} (* LIBXML_LEGACY_ENABLED *)
-XMLPUBFUN xmlNsPtr XMLCALL
-		xmlNewNs		(xmlNodePtr node,
-					 xmlChar *href,
-					 xmlChar *prefix);
-XMLPUBFUN void XMLCALL
-		xmlFreeNs		(xmlNsPtr cur);
-XMLPUBFUN void XMLCALL
-		xmlFreeNsList		(xmlNsPtr cur);
-XMLPUBFUN xmlDocPtr XMLCALL
-		xmlNewDoc		(xmlChar *version);
-XMLPUBFUN void XMLCALL
-		xmlFreeDoc		(xmlDocPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlNewDocProp		(xmlDocPtr doc,
-					 xmlChar *name,
-					 xmlChar *value);
+function xmlNewNs(node: xmlNodePtr; href, prefix: xmlCharPtr): xmlNsPtr; XMLCALL; XMLPUBFUN;
+procedure xmlFreeNs(cur: xmlNsPtr); XMLCALL; XMLPUBFUN;
+procedure xmlFreeNsList(cur: xmlNsPtr); XMLCALL; XMLPUBFUN;
+function xmlNewDoc(version: xmlCharPtr): xmlDocPtr; XMLCALL; XMLPUBFUN;
+procedure xmlFreeDoc(cur: xmlDocPtr); XMLCALL; XMLPUBFUN;
+function xmlNewDocProp(doc: xmlDocPtr; name, value: xmlCharPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
 {$IF defined(LIBXML_TREE_ENABLED) or defined(LIBXML_HTML_ENABLED) or defined(LIBXML_SCHEMAS_ENABLED)}
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlNewProp		(xmlNodePtr node,
-					 xmlChar *name,
-					 xmlChar *value);
+function xmlNewProp(node: xmlNodePtr; name, value: xmlCharPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
 {$ENDIF}
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlNewNsProp		(xmlNodePtr node,
-					 xmlNsPtr ns,
-					 xmlChar *name,
-					 xmlChar *value);
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlNewNsPropEatName	(xmlNodePtr node,
-					 xmlNsPtr ns,
-					 xmlChar *name,
-					 xmlChar *value);
-XMLPUBFUN void XMLCALL
-		xmlFreePropList		(xmlAttrPtr cur);
-XMLPUBFUN void XMLCALL
-		xmlFreeProp		(xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlCopyProp		(xmlNodePtr target,
-					 xmlAttrPtr cur);
-XMLPUBFUN xmlAttrPtr XMLCALL
-		xmlCopyPropList		(xmlNodePtr target,
-					 xmlAttrPtr cur);
+function xmlNewNsProp(node: xmlNodePtr; ns: xmlNsPtr; name, value: xmlCharPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
+function xmlNewNsPropEatName(node: xmlNodePtr; ns: xmlNsPtr; name, value: xmlCharPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
+procedure xmlFreePropList(cur: xmlAttrPtr); XMLCALL; XMLPUBFUN;
+procedure xmlFreeProp(cur: xmlAttrPtr); XMLCALL; XMLPUBFUN;
+function xmlCopyProp(target: xmlNodePtr; cur: xmlAttrPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
+function xmlCopyPropList(target: xmlNodePtr; cur: xmlAttrPtr): xmlAttrPtr; XMLCALL; XMLPUBFUN;
 {$IFDEF LIBXML_TREE_ENABLED}
-XMLPUBFUN xmlDtdPtr XMLCALL
-		xmlCopyDtd		(xmlDtdPtr dtd);
+function xmlCopyDtd(dtd: xmlDtdPtr): xmlDtdPtr; XMLCALL; XMLPUBFUN;
 {$ENDIF} (* LIBXML_TREE_ENABLED *)
 {$IF defined(LIBXML_TREE_ENABLED) or defined(LIBXML_SCHEMAS_ENABLED)}
-XMLPUBFUN xmlDocPtr XMLCALL
-		xmlCopyDoc		(xmlDocPtr doc,
-					 int recursive);
+function xmlCopyDoc(doc: xmlDocPtr; recursive: cint): xmlDocPtr; XMLCALL; XMLPUBFUN;
 {$ENDIF} (* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) *)
 
+{$IFDEF 0}
 (*
  * Creating new nodes.
  *)

+ 7 - 18
packages/libxml/src/xpathInternals.inc

@@ -9,17 +9,9 @@
  * Author: Daniel Veillard
  *)
 
-#ifndef __XML_XPATH_INTERNALS_H__
-#define __XML_XPATH_INTERNALS_H__
+{$IFDEF LIBXML_XPATH_ENABLED}
 
-#include <libxml/xmlversion.h>
-#include <libxml/xpath.h>
-
-{ LIBXML_XPATH_ENABLED
-
-{ __cplusplus
-extern "C" {
-#endif
+{$IFDEF FUNCTION_}
 
 (************************************************************************
  *									*
@@ -356,7 +348,7 @@ XMLPUBFUN void XMLCALL
 		xmlXPathErr	(xmlXPathParserContextPtr ctxt,
 				 int error);
 
-{ LIBXML_DEBUG_ENABLED
+{$IFDEF LIBXML_DEBUG_ENABLED}
 XMLPUBFUN void XMLCALL		
 		xmlXPathDebugDumpObject	(FILE *output,
 					 xmlXPathObjectPtr cur,
@@ -365,7 +357,8 @@ XMLPUBFUN void XMLCALL
 	    xmlXPathDebugDumpCompExpr(FILE *output,
 					 xmlXPathCompExprPtr comp,
 					 int depth);
-#endif
+{$ENDIF}
+
 (**
  * NodeSet handling.
  *)
@@ -621,10 +614,6 @@ XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, in
  * Really internal functions
  *)
 XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns);
- 
-{ __cplusplus
-}
-#endif
+{$ENDIF}
 
-#endif (* LIBXML_XPATH_ENABLED *)
-#endif (* ! __XML_XPATH_INTERNALS_H__ *)
+{$ENDIF} (* LIBXML_XPATH_ENABLED *)