generated from sethub/template
[libxml2]Add libxml2 library
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
# Symbol to module mapping
|
||||
#
|
||||
# This relies on a few tables and some regexes.
|
||||
|
||||
import re
|
||||
|
||||
moduleMap = {
|
||||
'HTMLtree': 'HTML',
|
||||
'HTMLparser': 'HTML',
|
||||
'c14n': 'C14N',
|
||||
'catalog': 'CATALOG',
|
||||
'debugXML': 'DEBUG',
|
||||
'nanohttp': 'HTTP',
|
||||
'pattern': 'PATTERN',
|
||||
'relaxng': 'RELAXNG',
|
||||
'schemasInternals': 'SCHEMAS',
|
||||
'schematron': 'SCHEMATRON',
|
||||
'xinclude': 'XINCLUDE',
|
||||
'xlink': 'XPTR',
|
||||
'xmlautomata': 'REGEXP',
|
||||
'xmlmodule': 'MODULES',
|
||||
'xmlreader': 'READER',
|
||||
'xmlregexp': 'REGEXP',
|
||||
'xmlsave': 'OUTPUT',
|
||||
'xmlschemas': 'SCHEMAS',
|
||||
'xmlschemastypes': 'SCHEMAS',
|
||||
'xmlwriter': 'WRITER',
|
||||
'xpath': 'XPATH',
|
||||
'xpathInternals': 'XPATH',
|
||||
'xpointer': 'XPTR',
|
||||
}
|
||||
|
||||
symbolMap1 = {
|
||||
# not VALID
|
||||
'xmlValidateNCName': '',
|
||||
'xmlValidateNMToken': '',
|
||||
'xmlValidateName': '',
|
||||
'xmlValidateQName': '',
|
||||
|
||||
'htmlDefaultSAXHandlerInit': 'HTML',
|
||||
'xmlSAX2InitHtmlDefaultSAXHandler': 'HTML',
|
||||
|
||||
'xmlRegisterHTTPPostCallbacks': 'HTTP',
|
||||
|
||||
'__xmlOutputBufferCreateFilename': 'OUTPUT',
|
||||
'xmlAttrSerializeTxtContent': 'OUTPUT',
|
||||
'xmlUTF8ToIsolat1': 'OUTPUT',
|
||||
'xmlSprintfElementContent': 'OUTPUT',
|
||||
|
||||
'xmlCreatePushParserCtxt': 'PUSH',
|
||||
'xmlParseChunk': 'PUSH',
|
||||
|
||||
'xmlParseBalancedChunkMemory': 'SAX1',
|
||||
'xmlParseBalancedChunkMemoryRecover': 'SAX1',
|
||||
'xmlParseDoc': 'SAX1',
|
||||
'xmlParseEntity': 'SAX1',
|
||||
'xmlParseExternalEntity': 'SAX1',
|
||||
'xmlParseFile': 'SAX1',
|
||||
'xmlParseMemory': 'SAX1',
|
||||
'xmlSAXDefaultVersion': 'SAX1',
|
||||
'xmlSetupParserForBuffer': 'SAX1',
|
||||
|
||||
'xmlCtxtGetValidCtxt': 'VALID',
|
||||
'xmlFreeValidCtxt': 'VALID',
|
||||
'xmlNewValidCtxt': 'VALID',
|
||||
|
||||
'xmlCatalogConvert': 'SGML_CATALOG',
|
||||
'xmlConvertSGMLCatalog': 'SGML_CATALOG',
|
||||
'xmlLoadSGMLSuperCatalog': 'SGML_CATALOG',
|
||||
}
|
||||
|
||||
symbolMap2 = {
|
||||
# not OUTPUT (should be fixed in xmlIO.h)
|
||||
'xmlOutputBufferCreateFilenameDefault': '',
|
||||
|
||||
'xmlXPathDebugDumpCompExpr': 'DEBUG',
|
||||
'xmlXPathDebugDumpObject': 'DEBUG',
|
||||
'xmlSchemaDump': 'DEBUG',
|
||||
'xmlRelaxNGDump': 'DEBUG',
|
||||
|
||||
'xmlACatalogDump': 'OUTPUT',
|
||||
'xmlCatalogDump': 'OUTPUT',
|
||||
'xmlIOHTTPOpenW': 'OUTPUT',
|
||||
'xmlNanoHTTPSave': 'OUTPUT',
|
||||
'xmlRegisterHTTPPostCallbacks': 'OUTPUT',
|
||||
'xmlRelaxNGDumpTree': 'OUTPUT',
|
||||
|
||||
'xmlTextReaderPreservePattern': 'PATTERN',
|
||||
|
||||
'htmlCreatePushParserCtxt': 'PUSH',
|
||||
'htmlParseChunk': 'PUSH',
|
||||
|
||||
'xmlValidBuildContentModel': 'REGEXP',
|
||||
'xmlValidatePopElement': 'REGEXP',
|
||||
'xmlValidatePushCData': 'REGEXP',
|
||||
'xmlValidatePushElement': 'REGEXP',
|
||||
|
||||
'xmlTextReaderRelaxNGSetSchema': 'RELAXNG',
|
||||
'xmlTextReaderRelaxNGValidate': 'RELAXNG',
|
||||
'xmlTextReaderRelaxNGValidateCtxt': 'RELAXNG',
|
||||
|
||||
'xmlTextReaderSchemaValidate': 'SCHEMAS',
|
||||
'xmlTextReaderSchemaValidateCtxt': 'SCHEMAS',
|
||||
'xmlTextReaderSetSchema': 'SCHEMAS',
|
||||
|
||||
'xmlTextReaderReadInnerXml': 'WRITER',
|
||||
'xmlTextReaderReadOuterXml': 'WRITER',
|
||||
}
|
||||
|
||||
outputRegex = '|'.join((
|
||||
'^(html|xml(Buf)?)(Doc(Content|Format)?|Elem|Node)Dump',
|
||||
'^(html|xml)Save(Format)?File',
|
||||
'^xmlDump.*(Decl|Table)',
|
||||
'^xml(Alloc)?OutputBuffer',
|
||||
'^xml.*OutputCallbacks',
|
||||
))
|
||||
|
||||
def findModules(filename, symbol):
|
||||
module1 = symbolMap1.get(symbol)
|
||||
|
||||
if module1 is None:
|
||||
module1 = moduleMap.get(filename)
|
||||
|
||||
if module1 is None:
|
||||
if re.search('^xml(Ctxt)?Valid|Parse(DTD|Dtd)', symbol):
|
||||
module1 = 'VALID'
|
||||
elif re.search('^xml(Recover|SAX(User)?Parse)', symbol):
|
||||
module1 = 'SAX1'
|
||||
elif re.search('^xmlIOHTTP', symbol):
|
||||
module1 = 'HTTP'
|
||||
|
||||
module2 = symbolMap2.get(symbol)
|
||||
|
||||
if module2 is None:
|
||||
if re.search(outputRegex, symbol):
|
||||
if module1 is None:
|
||||
module1 = 'OUTPUT'
|
||||
else:
|
||||
module2 = 'OUTPUT'
|
||||
|
||||
if module1 is None:
|
||||
module1 = ''
|
||||
if module2 is None:
|
||||
module2 = ''
|
||||
|
||||
return module1, module2
|
||||
Reference in New Issue
Block a user