patch from Mark Vadok about htmlNodeDumpOutput location. removed an
* HTMLtree.c include/libxml/HTMLtree.h: patch from Mark Vadok
about htmlNodeDumpOutput location.
* xpath.c: removed an undefined function signature
* doc/apibuild.py doc/libxml2-api.xml: the script was exporting
too many symbols in the API breaking the python bindings.
Updated with the libxslt/libexslt changes.
Daniel
diff --git a/doc/apibuild.py b/doc/apibuild.py
index 8d1b204..3c48246 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -182,9 +182,6 @@
if self.functions.has_key(id):
up = idx.functions[id]
self.functions[id].update(None, up.type, up.info, up.extra)
- else:
- if idx.functions[id].static == 0:
- self.functions[id] = idx.functions[id]
def analyze_dict(self, type, dict):
count = 0
@@ -225,6 +222,8 @@
"LIBXML_DLL_IMPORT": (0, "Special macro to flag external keywords"),
"__declspec": (3, "Windows keyword"),
"ATTRIBUTE_UNUSED": (0, "macro keyword"),
+ "LIBEXSLT_PUBLIC": (0, "macro keyword"),
+ "X_IN_Y": (5, "macro function builder"),
}
class CLexer:
@@ -1342,15 +1341,20 @@
output.write(" <struct name='%s' file='%s' type='%s'" % (
name, self.modulename_file(id.module), id.info))
name = id.info[7:]
- if self.idx.structs.has_key(name):
+ if self.idx.structs.has_key(name) and \
+ type(self.idx.structs[name]) == type(()):
output.write(">\n");
- for field in self.idx.structs[name].info:
- desc = field[2]
- if desc == None:
- desc = ''
- else:
- desc = escape(desc)
- output.write(" <field name='%s' type='%s' info='%s'/>\n" % (field[1] , field[0], desc))
+ try:
+ for field in self.idx.structs[name].info:
+ print name, field
+ desc = field[2]
+ if desc == None:
+ desc = ''
+ else:
+ desc = escape(desc)
+ output.write(" <field name='%s' type='%s' info='%s'/>\n" % (field[1] , field[0], desc))
+ except:
+ print "Failed to serialize struct %s" % (name)
output.write(" </struct>\n")
else:
output.write("/>\n");
@@ -1433,17 +1437,23 @@
if glob.glob("../parser.c") != [] :
print "Rebuilding API description for libxml2"
builder = docBuilder("libxml2", ["..", "../include/libxml"],
- ["xmlwin32version.h", "tst.c"])
+ ["xmlwin32version.h", "tst.c",
+ "schemasInternals.h", "xmlschemas" ])
elif glob.glob("../libxslt/transform.c") != [] :
print "Rebuilding API description for libxslt"
builder = docBuilder("libxslt", ["../libxslt"],
- ["win32config.h", "tst.c"])
+ ["win32config.h", "libxslt.h", "tst.c"])
else:
print "rebuild() failed, unable to guess the module"
return None
builder.scan()
builder.analyze()
builder.serialize()
+ if glob.glob("../libexslt/exslt.c") != [] :
+ extra = docBuilder("libexslt", ["../libexslt"], ["libexslt.h"])
+ extra.scan()
+ extra.analyze()
+ extra.serialize()
return builder
#