xmlreader.inc 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. (*
  2. * Summary: the XMLReader implementation
  3. * Description: API of the XML streaming API based on C# interfaces.
  4. *
  5. * Copy: See Copyright for the status of this software.
  6. *
  7. * Author: Daniel Veillard
  8. *)
  9. {$IFDEF LIBXML_SCHEMAS_ENABLED}
  10. {$IFDEF LIBXML_READER_ENABLED}
  11. {$IFDEF POINTER}
  12. xmlTextReaderPtr = ^xmlTextReader;
  13. {$ENDIF}
  14. {$IFDEF TYPE}
  15. (**
  16. * xmlTextReaderMode:
  17. *
  18. * Internal state values for the reader.
  19. *)
  20. xmlTextReaderMode = (
  21. XML_TEXTREADER_MODE_INITIAL = 0,
  22. XML_TEXTREADER_MODE_INTERACTIVE = 1,
  23. XML_TEXTREADER_MODE_ERROR = 2,
  24. XML_TEXTREADER_MODE_EOF =3,
  25. XML_TEXTREADER_MODE_CLOSED = 4,
  26. XML_TEXTREADER_MODE_READING = 5
  27. );
  28. (**
  29. * xmlParserProperties:
  30. *
  31. * Some common options to use with xmlTextReaderSetParserProp, but it
  32. * is better to use xmlParserOption and the xmlReaderNewxxx and
  33. * xmlReaderForxxx APIs now.
  34. *)
  35. xmlParserProperties = (
  36. XML_PARSER_LOADDTD = 1,
  37. XML_PARSER_DEFAULTATTRS = 2,
  38. XML_PARSER_VALIDATE = 3,
  39. XML_PARSER_SUBST_ENTITIES = 4
  40. );
  41. (**
  42. * xmlParserSeverities:
  43. *
  44. * How severe an error callback is when the per-reader error callback API
  45. * is used.
  46. *)
  47. xmlParserSeverities = (
  48. XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
  49. XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
  50. XML_PARSER_SEVERITY_WARNING = 3,
  51. XML_PARSER_SEVERITY_ERROR = 4
  52. );
  53. (**
  54. * xmlReaderTypes:
  55. *
  56. * Predefined constants for the different types of nodes.
  57. *)
  58. xmlReaderTypes = (
  59. XML_READER_TYPE_NONE = 0,
  60. XML_READER_TYPE_ELEMENT = 1,
  61. XML_READER_TYPE_ATTRIBUTE = 2,
  62. XML_READER_TYPE_TEXT = 3,
  63. XML_READER_TYPE_CDATA = 4,
  64. XML_READER_TYPE_ENTITY_REFERENCE = 5,
  65. XML_READER_TYPE_ENTITY = 6,
  66. XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
  67. XML_READER_TYPE_COMMENT = 8,
  68. XML_READER_TYPE_DOCUMENT = 9,
  69. XML_READER_TYPE_DOCUMENT_TYPE = 10,
  70. XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
  71. XML_READER_TYPE_NOTATION = 12,
  72. XML_READER_TYPE_WHITESPACE = 13,
  73. XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
  74. XML_READER_TYPE_END_ELEMENT = 15,
  75. XML_READER_TYPE_END_ENTITY = 16,
  76. XML_READER_TYPE_XML_DECLARATION = 17
  77. );
  78. (**
  79. * xmlTextReader:
  80. *
  81. * Structure for an xmlReader context.
  82. *)
  83. xmlTextReader = record end;
  84. xmlTextReaderLocatorPtr = pointer;
  85. xmlTextReaderErrorFunc = procedure(arg: pointer; msg: PAnsiChar; severity: xmlParserSeverities; locator: xmlTextReaderLocatorPtr); EXTDECL;
  86. {$ENDIF}
  87. {$IFDEF FUNCTION}
  88. (*
  89. * Constructors & Destructor
  90. *)
  91. function xmlNewTextReader(input: xmlParserInputBufferPtr; URI: PAnsiChar): xmlTextReaderPtr; EXTDECL; external xml2lib;
  92. function xmlNewTextReaderFilename(URI: PAnsiChar): xmlTextReaderPtr; EXTDECL; external xml2lib;
  93. procedure xmlFreeTextReader(reader: xmlTextReaderPtr); EXTDECL; external xml2lib;
  94. function xmlTextReaderSetup(reader: xmlTextReaderPtr; input: xmlParserInputBufferPtr; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  95. (*
  96. * Iterators
  97. *)
  98. function xmlTextReaderRead(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  99. {$IFDEF LIBXML_WRITER_ENABLED}
  100. function xmlTextReaderReadInnerXml(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  101. function xmlTextReaderReadOuterXml(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  102. {$ENDIF}
  103. function xmlTextReaderReadString(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  104. function xmlTextReaderReadAttributeValue(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  105. (*
  106. * Attributes of the node
  107. *)
  108. function xmlTextReaderAttributeCount(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  109. function xmlTextReaderDepth(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  110. function xmlTextReaderHasAttributes(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  111. function xmlTextReaderHasValue(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  112. function xmlTextReaderIsDefault(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  113. function xmlTextReaderIsEmptyElement(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  114. function xmlTextReaderNodeType(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  115. function xmlTextReaderQuoteChar(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  116. function xmlTextReaderReadState(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  117. function xmlTextReaderIsNamespaceDecl(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  118. function xmlTextReaderConstBaseUri(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  119. function xmlTextReaderConstLocalName(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  120. function xmlTextReaderConstName(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  121. function xmlTextReaderConstNamespaceUri(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  122. function xmlTextReaderConstPrefix(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  123. function xmlTextReaderConstXmlLang(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  124. function xmlTextReaderConstString(reader: xmlTextReaderPtr; str: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  125. function xmlTextReaderConstValue(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  126. (*
  127. * use the Const version of the routine for
  128. * better performance and simpler code
  129. *)
  130. function xmlTextReaderBaseUri(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  131. function xmlTextReaderLocalName(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  132. function xmlTextReaderName(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  133. function xmlTextReaderNamespaceUri(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  134. function xmlTextReaderPrefix(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  135. function xmlTextReaderXmlLang(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  136. function xmlTextReaderValue(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  137. (*
  138. * Methods of the XmlTextReader
  139. *)
  140. function xmlTextReaderClose(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  141. function xmlTextReaderGetAttributeNo(reader: xmlTextReaderPtr; no: cint): xmlCharPtr; EXTDECL; external xml2lib;
  142. function xmlTextReaderGetAttribute(reader: xmlTextReaderPtr; name: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  143. function xmlTextReaderGetAttributeNs(reader: xmlTextReaderPtr; localName, namespaceURI: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  144. function xmlTextReaderGetRemainder(reader: xmlTextReaderPtr): xmlParserInputBufferPtr; EXTDECL; external xml2lib;
  145. function xmlTextReaderLookupNamespace(reader: xmlTextReaderPtr; prefix: xmlCharPtr): xmlCharPtr; EXTDECL; external xml2lib;
  146. function xmlTextReaderMoveToAttributeNo(reader: xmlTextReaderPtr; no: cint): cint; EXTDECL; external xml2lib;
  147. function xmlTextReaderMoveToAttribute(reader: xmlTextReaderPtr; name: xmlCharPtr): cint; EXTDECL; external xml2lib;
  148. function xmlTextReaderMoveToAttributeNs(reader: xmlTextReaderPtr; localName, namespaceURI: xmlCharPtr): cint; EXTDECL; external xml2lib;
  149. function xmlTextReaderMoveToFirstAttribute(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  150. function xmlTextReaderMoveToNextAttribute(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  151. function xmlTextReaderMoveToElement(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  152. function xmlTextReaderNormalization(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  153. function xmlTextReaderConstEncoding(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  154. (*
  155. * Extensions
  156. *)
  157. function xmlTextReaderSetParserProp(reader: xmlTextReaderPtr; prop, value: cint): cint; EXTDECL; external xml2lib;
  158. function xmlTextReaderGetParserProp(reader: xmlTextReaderPtr; prop: cint): cint; EXTDECL; external xml2lib;
  159. function xmlTextReaderCurrentNode(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL; external xml2lib;
  160. function xmlTextReaderGetParserLineNumber(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  161. function xmlTextReaderGetParserColumnNumber(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  162. function xmlTextReaderPreserve(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL; external xml2lib;
  163. {$IFDEF LIBXML_PATTERN_ENABLED}
  164. function xmlTextReaderPreservePattern(reader: xmlTextReaderPtr; pattern: xmlCharPtr; namespaces: xmlCharPtrPtr): cint; EXTDECL; external xml2lib;
  165. {$ENDIF} (* LIBXML_PATTERN_ENABLED *)
  166. function xmlTextReaderCurrentDoc(reader: xmlTextReaderPtr): xmlDocPtr; EXTDECL; external xml2lib;
  167. function xmlTextReaderExpand(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL; external xml2lib;
  168. function xmlTextReaderNext(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  169. function xmlTextReaderNextSibling(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  170. function xmlTextReaderIsValid(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  171. {$IFDEF LIBXML_SCHEMAS_ENABLED}
  172. function xmlTextReaderRelaxNGValidate(reader: xmlTextReaderPtr; rng: PAnsiChar): cint; EXTDECL; external xml2lib;
  173. function xmlTextReaderRelaxNGSetSchema(reader: xmlTextReaderPtr; schema: xmlRelaxNGPtr): cint; EXTDECL; external xml2lib;
  174. function xmlTextReaderSchemaValidate(reader: xmlTextReaderPtr; xsd: PAnsiChar): cint; EXTDECL; external xml2lib;
  175. function xmlTextReaderSchemaValidateCtxt(reader: xmlTextReaderPtr; ctxt: xmlSchemaValidCtxtPtr; options: cint): cint; EXTDECL; external xml2lib;
  176. function xmlTextReaderSetSchema(reader: xmlTextReaderPtr; schema: xmlSchemaPtr): cint; EXTDECL; external xml2lib;
  177. {$ENDIF}
  178. function xmlTextReaderConstXmlVersion(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL; external xml2lib;
  179. function xmlTextReaderStandalone(reader: xmlTextReaderPtr): cint; EXTDECL; external xml2lib;
  180. (*
  181. * Index lookup
  182. *)
  183. function xmlTextReaderByteConsumed(reader: xmlTextReaderPtr): clong; EXTDECL; external xml2lib;
  184. (*
  185. * New more complete APIs for simpler creation and reuse of readers
  186. *)
  187. function xmlReaderWalker(doc: xmlDocPtr): xmlTextReaderPtr; EXTDECL; external xml2lib;
  188. function xmlReaderForDoc(cur: xmlCharPtr; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL; external xml2lib;
  189. function xmlReaderForFile(filename, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL; external xml2lib;
  190. function xmlReaderForMemory(buffer: PAnsiChar; size: cint; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL; external xml2lib;
  191. function xmlReaderForFd(fd: cint; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL; external xml2lib;
  192. function xmlReaderForIO(ioread: xmlInputReadCallback; ioclose: xmlInputCloseCallback; ioctx: pointer; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL; external xml2lib;
  193. function xmlReaderNewWalker(reader: xmlTextReaderPtr; doc: xmlDocPtr): cint; EXTDECL; external xml2lib;
  194. function xmlReaderNewDoc(reader: xmlTextReaderPtr; cur: xmlCharPtr; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  195. function xmlReaderNewFile(reader: xmlTextReaderPtr; filename, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  196. function xmlReaderNewMemory(reader: xmlTextReaderPtr; buffer: PAnsiChar; size: cint; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  197. function xmlReaderNewFd(reader: xmlTextReaderPtr; fd: cint; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  198. function xmlReaderNewIO(reader: xmlTextReaderPtr; ioread: xmlInputReadCallback; ioclose: xmlInputCloseCallback; ioctx: pointer; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL; external xml2lib;
  199. (*
  200. * Error handling extensions
  201. *)
  202. function xmlTextReaderLocatorLineNumber(locator: xmlTextReaderLocatorPtr): cint; EXTDECL; external xml2lib;
  203. function xmlTextReaderLocatorBaseURI(locator: xmlTextReaderLocatorPtr): xmlCharPtr; EXTDECL; external xml2lib;
  204. procedure xmlTextReaderSetErrorHandler(reader: xmlTextReaderPtr; f: xmlTextReaderErrorFunc; arg: pointer); EXTDECL; external xml2lib;
  205. procedure xmlTextReaderSetStructuredErrorHandler(reader: xmlTextReaderPtr; f: xmlTextReaderErrorFunc; arg: pointer); EXTDECL; external xml2lib;
  206. procedure xmlTextReaderGetErrorHandler(reader: xmlTextReaderPtr; var f: xmlTextReaderErrorFunc; var arg: pointer); EXTDECL; external xml2lib;
  207. {$ENDIF}
  208. {$IFDEF FUNCTIONVAR}
  209. (*
  210. * Constructors & Destructor
  211. *)
  212. xmlNewTextReader: function(input: xmlParserInputBufferPtr; URI: PAnsiChar): xmlTextReaderPtr; EXTDECL;
  213. xmlNewTextReaderFilename: function(URI: PAnsiChar): xmlTextReaderPtr; EXTDECL;
  214. xmlFreeTextReader: procedure(reader: xmlTextReaderPtr); EXTDECL;
  215. xmlTextReaderSetup: function(reader: xmlTextReaderPtr; input: xmlParserInputBufferPtr; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  216. (*
  217. * Iterators
  218. *)
  219. xmlTextReaderRead: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  220. {$IFDEF LIBXML_WRITER_ENABLED}
  221. xmlTextReaderReadInnerXml: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  222. xmlTextReaderReadOuterXml: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  223. {$ENDIF}
  224. xmlTextReaderReadString: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  225. xmlTextReaderReadAttributeValue: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  226. (*
  227. * Attributes of the node
  228. *)
  229. xmlTextReaderAttributeCount: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  230. xmlTextReaderDepth: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  231. xmlTextReaderHasAttributes: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  232. xmlTextReaderHasValue: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  233. xmlTextReaderIsDefault: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  234. xmlTextReaderIsEmptyElement: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  235. xmlTextReaderNodeType: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  236. xmlTextReaderQuoteChar: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  237. xmlTextReaderReadState: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  238. xmlTextReaderIsNamespaceDecl: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  239. xmlTextReaderConstBaseUri: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  240. xmlTextReaderConstLocalName: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  241. xmlTextReaderConstName: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  242. xmlTextReaderConstNamespaceUri: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  243. xmlTextReaderConstPrefix: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  244. xmlTextReaderConstXmlLang: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  245. xmlTextReaderConstString: function(reader: xmlTextReaderPtr; str: xmlCharPtr): xmlCharPtr; EXTDECL;
  246. xmlTextReaderConstValue: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  247. (*
  248. * use the Const version of the routine for
  249. * better performance and simpler code
  250. *)
  251. xmlTextReaderBaseUri: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  252. xmlTextReaderLocalName: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  253. xmlTextReaderName: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  254. xmlTextReaderNamespaceUri: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  255. xmlTextReaderPrefix: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  256. xmlTextReaderXmlLang: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  257. xmlTextReaderValue: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  258. (*
  259. * Methods of the XmlTextReader
  260. *)
  261. xmlTextReaderClose: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  262. xmlTextReaderGetAttributeNo: function(reader: xmlTextReaderPtr; no: cint): xmlCharPtr; EXTDECL;
  263. xmlTextReaderGetAttribute: function(reader: xmlTextReaderPtr; name: xmlCharPtr): xmlCharPtr; EXTDECL;
  264. xmlTextReaderGetAttributeNs: function(reader: xmlTextReaderPtr; localName, namespaceURI: xmlCharPtr): xmlCharPtr; EXTDECL;
  265. xmlTextReaderGetRemainder: function(reader: xmlTextReaderPtr): xmlParserInputBufferPtr; EXTDECL;
  266. xmlTextReaderLookupNamespace: function(reader: xmlTextReaderPtr; prefix: xmlCharPtr): xmlCharPtr; EXTDECL;
  267. xmlTextReaderMoveToAttributeNo: function(reader: xmlTextReaderPtr; no: cint): cint; EXTDECL;
  268. xmlTextReaderMoveToAttribute: function(reader: xmlTextReaderPtr; name: xmlCharPtr): cint; EXTDECL;
  269. xmlTextReaderMoveToAttributeNs: function(reader: xmlTextReaderPtr; localName, namespaceURI: xmlCharPtr): cint; EXTDECL;
  270. xmlTextReaderMoveToFirstAttribute: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  271. xmlTextReaderMoveToNextAttribute: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  272. xmlTextReaderMoveToElement: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  273. xmlTextReaderNormalization: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  274. xmlTextReaderConstEncoding: function (reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  275. (*
  276. * Extensions
  277. *)
  278. xmlTextReaderSetParserProp: function(reader: xmlTextReaderPtr; prop, value: cint): cint; EXTDECL;
  279. xmlTextReaderGetParserProp: function(reader: xmlTextReaderPtr; prop: cint): cint; EXTDECL;
  280. xmlTextReaderCurrentNode: function(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL;
  281. xmlTextReaderGetParserLineNumber: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  282. xmlTextReaderGetParserColumnNumber: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  283. xmlTextReaderPreserve: function(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL;
  284. {$IFDEF LIBXML_PATTERN_ENABLED}
  285. xmlTextReaderPreservePattern: function(reader: xmlTextReaderPtr; pattern: xmlCharPtr; namespaces: xmlCharPtrPtr): cint; EXTDECL;
  286. {$ENDIF} (* LIBXML_PATTERN_ENABLED *)
  287. xmlTextReaderCurrentDoc: function(reader: xmlTextReaderPtr): xmlDocPtr; EXTDECL;
  288. xmlTextReaderExpand: function(reader: xmlTextReaderPtr): xmlNodePtr; EXTDECL;
  289. xmlTextReaderNext: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  290. xmlTextReaderNextSibling: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  291. xmlTextReaderIsValid: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  292. {$IFDEF LIBXML_SCHEMAS_ENABLED}
  293. xmlTextReaderRelaxNGValidate: function(reader: xmlTextReaderPtr; rng: PAnsiChar): cint; EXTDECL;
  294. xmlTextReaderRelaxNGSetSchema: function(reader: xmlTextReaderPtr; schema: xmlRelaxNGPtr): cint; EXTDECL;
  295. xmlTextReaderSchemaValidate: function(reader: xmlTextReaderPtr; xsd: PAnsiChar): cint; EXTDECL;
  296. xmlTextReaderSchemaValidateCtxt: function(reader: xmlTextReaderPtr; ctxt: xmlSchemaValidCtxtPtr; options: cint): cint; EXTDECL;
  297. xmlTextReaderSetSchema: function(reader: xmlTextReaderPtr; schema: xmlSchemaPtr): cint; EXTDECL;
  298. {$ENDIF}
  299. xmlTextReaderConstXmlVersion: function(reader: xmlTextReaderPtr): xmlCharPtr; EXTDECL;
  300. xmlTextReaderStandalone: function(reader: xmlTextReaderPtr): cint; EXTDECL;
  301. (*
  302. * Index lookup
  303. *)
  304. xmlTextReaderByteConsumed: function(reader: xmlTextReaderPtr): clong; EXTDECL;
  305. (*
  306. * New more complete APIs for simpler creation and reuse of readers
  307. *)
  308. xmlReaderWalker: function(doc: xmlDocPtr): xmlTextReaderPtr; EXTDECL;
  309. xmlReaderForDoc: function(cur: xmlCharPtr; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL;
  310. xmlReaderForFile: function(filename, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL;
  311. xmlReaderForMemory: function(buffer: PAnsiChar; size: cint; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL;
  312. xmlReaderForFd: function(fd: cint; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL;
  313. xmlReaderForIO: function(ioread: xmlInputReadCallback; ioclose: xmlInputCloseCallback; ioctx: pointer; URL, encoding: PAnsiChar; options: cint): xmlTextReaderPtr; EXTDECL;
  314. xmlReaderNewWalker: function(reader: xmlTextReaderPtr; doc: xmlDocPtr): cint; EXTDECL;
  315. xmlReaderNewDoc: function(reader: xmlTextReaderPtr; cur: xmlCharPtr; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  316. xmlReaderNewFile: function(reader: xmlTextReaderPtr; filename, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  317. xmlReaderNewMemory: function(reader: xmlTextReaderPtr; buffer: PAnsiChar; size: cint; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  318. xmlReaderNewFd: function(reader: xmlTextReaderPtr; fd: cint; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  319. xmlReaderNewIO: function(reader: xmlTextReaderPtr; ioread: xmlInputReadCallback; ioclose: xmlInputCloseCallback; ioctx: pointer; URL, encoding: PAnsiChar; options: cint): cint; EXTDECL;
  320. (*
  321. * Error handling extensions
  322. *)
  323. xmlTextReaderLocatorLineNumber: function(locator: xmlTextReaderLocatorPtr): cint; EXTDECL;
  324. xmlTextReaderLocatorBaseURI: function(locator: xmlTextReaderLocatorPtr): xmlCharPtr; EXTDECL;
  325. xmlTextReaderSetErrorHandler: procedure(reader: xmlTextReaderPtr; f: xmlTextReaderErrorFunc; arg: pointer); EXTDECL;
  326. xmlTextReaderSetStructuredErrorHandler: procedure(reader: xmlTextReaderPtr; f: xmlTextReaderErrorFunc; arg: pointer); EXTDECL;
  327. xmlTextReaderGetErrorHandler: procedure(reader: xmlTextReaderPtr; var f: xmlTextReaderErrorFunc; var arg: pointer); EXTDECL;
  328. {$ENDIF}
  329. {$ENDIF} (* LIBXML_READER_ENABLED *)
  330. {$ENDIF} (* LIBXML_SCHEMAS_ENABLED *)