+static int extract_full(struct filter_info *tinfo, struct recExtractCtrl *p)
+{
+ if (p->first_record) /* only one record per stream */
+ {
+ xmlDocPtr doc = xmlReadIO(ioread_ex, ioclose_ex, p /* I/O handler */,
+ 0 /* URL */,
+ 0 /* encoding */,
+ XML_PARSE_XINCLUDE
+ | XML_PARSE_NOENT
+ | XML_PARSE_NONET);
+ if (!doc)
+ return RECCTRL_EXTRACT_ERROR_GENERIC;
+ /* else {
+ xmlNodePtr root = xmlDocGetRootElement(doc);
+ if (!root)
+ return RECCTRL_EXTRACT_ERROR_GENERIC;
+ } */
+
+ return extract_doc(tinfo, p, doc);
+ }
+ else
+ return RECCTRL_EXTRACT_EOF;
+}
+