fixed one internal function applied patch from Joel Reed regenerated
* xmlschemas.c: fixed one internal function
* doc/Makefile.am doc/wiki.xsl: applied patch from Joel Reed
* testapi.c doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated
daniel
diff --git a/ChangeLog b/ChangeLog
index c6cd375..b909e4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Fri Feb 4 18:26:43 CET 2005 Daniel Veillard <daniel@veillard.com>
+
+ * xmlschemas.c: fixed one internal function
+ * doc/Makefile.am doc/wiki.xsl: applied patch from Joel Reed
+ * testapi.c doc/libxml2-api.xml doc/libxml2-refs.xml: regenerated
+
Fri Feb 4 00:25:43 CET 2005 Daniel Veillard <daniel@veillard.com>
* Makefile.am: use the walker to test the patterns instead of
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 926135e..8c96a7b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -75,6 +75,11 @@
echo "Validating the resulting XHTML pages" ; \
$(XMLLINT) --nonet --valid --noout html/*.html ; fi );
+wiki: libxml2-api.xml $(srcdir)/wiki.xsl
+ -@(if [ -x $(XSLTPROC) ] ; then \
+ echo "Rebuilding the wiki HTML pages from the XML API" ; \
+ $(XSLTPROC) --nonet $(srcdir)/wiki.xsl libxml2-api.xml; fi )
+
$(WIN32_DIR)/libxml2.def.src: libxml2-api.xml
-@(if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) -o $(WIN32_DIR)/libxml2.def.src \
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index e9fc2df..2af30ee 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -951,12 +951,18 @@
<summary>pattern expression handling</summary>
<description>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </description>
<author>Daniel Veillard </author>
+ <exports symbol='xmlStreamCtxt' type='typedef'/>
+ <exports symbol='xmlStreamCtxtPtr' type='typedef'/>
<exports symbol='xmlPattern' type='typedef'/>
<exports symbol='xmlPatternPtr' type='typedef'/>
- <exports symbol='xmlPatterncompile' type='function'/>
- <exports symbol='xmlFreePattern' type='function'/>
- <exports symbol='xmlPatternMatch' type='function'/>
+ <exports symbol='xmlPatternGetStreamCtxt' type='function'/>
+ <exports symbol='xmlFreeStreamCtxt' type='function'/>
<exports symbol='xmlFreePatternList' type='function'/>
+ <exports symbol='xmlPatternMatch' type='function'/>
+ <exports symbol='xmlFreePattern' type='function'/>
+ <exports symbol='xmlStreamPush' type='function'/>
+ <exports symbol='xmlStreamPop' type='function'/>
+ <exports symbol='xmlPatterncompile' type='function'/>
</file>
<file name='relaxng'>
<summary>implementation of the Relax-NG validation</summary>
@@ -1102,6 +1108,7 @@
<exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION' type='macro'/>
<exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
<exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
+ <exports symbol='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' type='macro'/>
<exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
<exports symbol='XML_SCHEMAS_ELEM_BLOCK_RESTRICTION' type='macro'/>
<exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
@@ -1133,14 +1140,14 @@
<exports symbol='XML_SCHEMAS_NINTEGER' type='enum'/>
<exports symbol='XML_SCHEMAS_NORMSTRING' type='enum'/>
<exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
- <exports symbol='XML_SCHEMAS_GYEARMONTH' type='enum'/>
+ <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
<exports symbol='XML_SCHEMAS_NCNAME' type='enum'/>
<exports symbol='XML_SCHEMAS_LONG' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
<exports symbol='XML_SCHEMAS_BOOLEAN' type='enum'/>
<exports symbol='XML_SCHEMAS_ENTITY' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
- <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
+ <exports symbol='XML_SCHEMAS_GYEARMONTH' type='enum'/>
<exports symbol='XML_SCHEMAS_BASE64BINARY' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
@@ -1159,6 +1166,7 @@
<exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
<exports symbol='XML_SCHEMAS_BYTE' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
+ <exports symbol='XML_SCHEMA_TYPE_IDC_KEYREF' type='enum'/>
<exports symbol='XML_SCHEMAS_NOTATION' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
<exports symbol='XML_SCHEMAS_NAME' type='enum'/>
@@ -1170,6 +1178,7 @@
<exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
<exports symbol='XML_SCHEMAS_IDREFS' type='enum'/>
+ <exports symbol='XML_SCHEMA_TYPE_IDC_UNIQUE' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
<exports symbol='XML_SCHEMA_CONTENT_SIMPLE' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
@@ -1185,6 +1194,7 @@
<exports symbol='XML_SCHEMAS_INTEGER' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
<exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
+ <exports symbol='XML_SCHEMA_TYPE_IDC_KEY' type='enum'/>
<exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
<exports symbol='XML_SCHEMAS_FLOAT' type='enum'/>
<exports symbol='XML_SCHEMAS_ENTITIES' type='enum'/>
@@ -2006,6 +2016,7 @@
<exports symbol='XML_ERR_UNSUPPORTED_ENCODING' type='enum'/>
<exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
<exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
+ <exports symbol='XML_SCHEMAV_CVC_IDC' type='enum'/>
<exports symbol='XML_IO_ENOTTY' type='enum'/>
<exports symbol='XML_DTD_UNKNOWN_NOTATION' type='enum'/>
<exports symbol='XML_FROM_DATATYPE' type='enum'/>
@@ -3993,6 +4004,9 @@
<macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' file='schemasInternals'>
<info>the simple or complex type has a derivation method of "restriction".</info>
</macro>
+ <macro name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' file='schemasInternals'>
+ <info>indicates if the facets need a computed value</info>
+ </macro>
<macro name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' file='schemasInternals'>
<info>the simpleType has a final of "default".</info>
</macro>
@@ -5171,6 +5185,7 @@
<enum name='XML_SCHEMAV_CVC_ENUMERATION_VALID' file='xmlerror' value='1840' type='xmlParserErrors' info='1840'/>
<enum name='XML_SCHEMAV_CVC_FACET_VALID' file='xmlerror' value='1829' type='xmlParserErrors' info='1829'/>
<enum name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' file='xmlerror' value='1838' type='xmlParserErrors' info='1838'/>
+ <enum name='XML_SCHEMAV_CVC_IDC' file='xmlerror' value='1877' type='xmlParserErrors' info='1877'/>
<enum name='XML_SCHEMAV_CVC_LENGTH_VALID' file='xmlerror' value='1830' type='xmlParserErrors' info='1830'/>
<enum name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' file='xmlerror' value='1836' type='xmlParserErrors' info='1836'/>
<enum name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' file='xmlerror' value='1834' type='xmlParserErrors' info='1834'/>
@@ -5239,6 +5254,9 @@
<enum name='XML_SCHEMA_TYPE_EXTENSION' file='schemasInternals' value='13' type='xmlSchemaTypeType'/>
<enum name='XML_SCHEMA_TYPE_FACET' file='schemasInternals' value='3' type='xmlSchemaTypeType'/>
<enum name='XML_SCHEMA_TYPE_GROUP' file='schemasInternals' value='17' type='xmlSchemaTypeType'/>
+ <enum name='XML_SCHEMA_TYPE_IDC_KEY' file='schemasInternals' value='23' type='xmlSchemaTypeType'/>
+ <enum name='XML_SCHEMA_TYPE_IDC_KEYREF' file='schemasInternals' value='24' type='xmlSchemaTypeType'/>
+ <enum name='XML_SCHEMA_TYPE_IDC_UNIQUE' file='schemasInternals' value='22' type='xmlSchemaTypeType'/>
<enum name='XML_SCHEMA_TYPE_LIST' file='schemasInternals' value='19' type='xmlSchemaTypeType'/>
<enum name='XML_SCHEMA_TYPE_NOTATION' file='schemasInternals' value='18' type='xmlSchemaTypeType'/>
<enum name='XML_SCHEMA_TYPE_RESTRICTION' file='schemasInternals' value='12' type='xmlSchemaTypeType'/>
@@ -5999,6 +6017,7 @@
<field name='includes' type='void *' info=' the includes, this is opaque for now'/>
<field name='preserve' type='int' info=' whether to free the document'/>
<field name='counter' type='int' info=' used to give ononymous components unique names'/>
+ <field name='idcDef' type='xmlHashTablePtr' info=''/>
</struct>
<struct name='xmlSchemaAnnot' file='schemasInternals' type='struct _xmlSchemaAnnot'>
<field name='next' type='struct _xmlSchemaAnnot *' info=''/>
@@ -6076,6 +6095,7 @@
<field name='contentType' type='xmlSchemaContentType' info=''/>
<field name='refPrefix' type='const xmlChar *' info=''/>
<field name='defVal' type='xmlSchemaValPtr' info=''/>
+ <field name='idcs' type='void *' info=''/>
</struct>
<typedef name='xmlSchemaElementPtr' file='schemasInternals' type='xmlSchemaElement *'/>
<struct name='xmlSchemaFacet' file='schemasInternals' type='struct _xmlSchemaFacet'>
@@ -6181,6 +6201,8 @@
<field name='input' type='xmlShellReadlineFunc' info=''/>
</struct>
<typedef name='xmlShellCtxtPtr' file='debugXML' type='xmlShellCtxt *'/>
+ <struct name='xmlStreamCtxt' file='pattern' type='struct _xmlStreamCtxt'/>
+ <typedef name='xmlStreamCtxtPtr' file='pattern' type='xmlStreamCtxt *'/>
<struct name='xmlTextReader' file='xmlreader' type='struct _xmlTextReader'/>
<typedef name='xmlTextReaderLocatorPtr' file='xmlreader' type='void *'/>
<typedef name='xmlTextReaderMode' file='xmlreader' type='enum'/>
@@ -9115,6 +9137,12 @@
<return type='void'/>
<arg name='table' type='xmlRefTablePtr' info='An ref table'/>
</function>
+ <function name='xmlFreeStreamCtxt' file='pattern'>
+ <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
+ <info>Free the stream context</info>
+ <return type='void'/>
+ <arg name='stream' type='xmlStreamCtxtPtr' info='the stream context'/>
+ </function>
<function name='xmlFreeTextReader' file='xmlreader'>
<cond>defined(LIBXML_READER_ENABLED)</cond>
<info>Deallocate all the resources associated to the reader</info>
@@ -11527,6 +11555,12 @@
<arg name='msg' type='const char *' info='the message to display/transmit'/>
<arg name='...' type='...' info='extra parameters for the message display'/>
</function>
+ <function name='xmlPatternGetStreamCtxt' file='pattern'>
+ <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
+ <info>Get a streaming context for that pattern Use xmlFreeStreamCtxt to free the context.</info>
+ <return type='xmlStreamCtxtPtr' info='a pointer to the context or NULL in case of failure'/>
+ <arg name='comp' type='xmlPatternPtr' info='the precompiled pattern'/>
+ </function>
<function name='xmlPatternMatch' file='pattern'>
<cond>defined(LIBXML_PATTERN_ENABLED)</cond>
<info>Test wether the node matches the pattern</info>
@@ -13207,6 +13241,20 @@
<return type='char *' info='the copy of the string or NULL in case of error.'/>
<arg name='str' type='const char *' info='a zero terminated string'/>
</functype>
+ <function name='xmlStreamPop' file='pattern'>
+ <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
+ <info>push one level from the stream.</info>
+ <return type='int' info='-1 in case of error, 0 otherwise.'/>
+ <arg name='stream' type='xmlStreamCtxtPtr' info='the stream context'/>
+ </function>
+ <function name='xmlStreamPush' file='pattern'>
+ <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
+ <info>push new data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionnary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset.</info>
+ <return type='int' info='-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.'/>
+ <arg name='stream' type='xmlStreamCtxtPtr' info='the stream context'/>
+ <arg name='name' type='const xmlChar *' info='the current name'/>
+ <arg name='ns' type='const xmlChar *' info='the namespace name'/>
+ </function>
<function name='xmlStringCurrentChar' file='parserInternals'>
<info>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</info>
<return type='int' info='the current char value and its length'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 6e38779..9e9f2af 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -1044,6 +1044,7 @@
<reference name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
<reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
<reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+ <reference name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<reference name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
<reference name='XML_SCHEMAS_TYPE_FINAL_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
<reference name='XML_SCHEMAS_TYPE_FINAL_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST'/>
@@ -1104,6 +1105,7 @@
<reference name='XML_SCHEMAV_CVC_ENUMERATION_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
<reference name='XML_SCHEMAV_CVC_FACET_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID'/>
<reference name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+ <reference name='XML_SCHEMAV_CVC_IDC' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_IDC'/>
<reference name='XML_SCHEMAV_CVC_LENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID'/>
<reference name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
<reference name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
@@ -1172,6 +1174,9 @@
<reference name='XML_SCHEMA_TYPE_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_EXTENSION'/>
<reference name='XML_SCHEMA_TYPE_FACET' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_FACET'/>
<reference name='XML_SCHEMA_TYPE_GROUP' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_GROUP'/>
+ <reference name='XML_SCHEMA_TYPE_IDC_KEY' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEY'/>
+ <reference name='XML_SCHEMA_TYPE_IDC_KEYREF' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_KEYREF'/>
+ <reference name='XML_SCHEMA_TYPE_IDC_UNIQUE' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_IDC_UNIQUE'/>
<reference name='XML_SCHEMA_TYPE_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_LIST'/>
<reference name='XML_SCHEMA_TYPE_NOTATION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_NOTATION'/>
<reference name='XML_SCHEMA_TYPE_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMA_TYPE_RESTRICTION'/>
@@ -1838,6 +1843,7 @@
<reference name='xmlFreePropList' href='html/libxml-tree.html#xmlFreePropList'/>
<reference name='xmlFreeRMutex' href='html/libxml-threads.html#xmlFreeRMutex'/>
<reference name='xmlFreeRefTable' href='html/libxml-valid.html#xmlFreeRefTable'/>
+ <reference name='xmlFreeStreamCtxt' href='html/libxml-pattern.html#xmlFreeStreamCtxt'/>
<reference name='xmlFreeTextReader' href='html/libxml-xmlreader.html#xmlFreeTextReader'/>
<reference name='xmlFreeTextWriter' href='html/libxml-xmlwriter.html#xmlFreeTextWriter'/>
<reference name='xmlFreeURI' href='html/libxml-uri.html#xmlFreeURI'/>
@@ -2311,6 +2317,7 @@
<reference name='xmlParserVersion' href='html/libxml-globals.html#xmlParserVersion'/>
<reference name='xmlParserWarning' href='html/libxml-xmlerror.html#xmlParserWarning'/>
<reference name='xmlPattern' href='html/libxml-pattern.html#xmlPattern'/>
+ <reference name='xmlPatternGetStreamCtxt' href='html/libxml-pattern.html#xmlPatternGetStreamCtxt'/>
<reference name='xmlPatternMatch' href='html/libxml-pattern.html#xmlPatternMatch'/>
<reference name='xmlPatternPtr' href='html/libxml-pattern.html#xmlPatternPtr'/>
<reference name='xmlPatterncompile' href='html/libxml-pattern.html#xmlPatterncompile'/>
@@ -2619,6 +2626,10 @@
<reference name='xmlStrcmp' href='html/libxml-xmlstring.html#xmlStrcmp'/>
<reference name='xmlStrdup' href='html/libxml-xmlstring.html#xmlStrdup'/>
<reference name='xmlStrdupFunc' href='html/libxml-xmlmemory.html#xmlStrdupFunc'/>
+ <reference name='xmlStreamCtxt' href='html/libxml-pattern.html#xmlStreamCtxt'/>
+ <reference name='xmlStreamCtxtPtr' href='html/libxml-pattern.html#xmlStreamCtxtPtr'/>
+ <reference name='xmlStreamPop' href='html/libxml-pattern.html#xmlStreamPop'/>
+ <reference name='xmlStreamPush' href='html/libxml-pattern.html#xmlStreamPush'/>
<reference name='xmlStringComment' href='html/libxml-parserInternals.html#xmlStringComment'/>
<reference name='xmlStringCurrentChar' href='html/libxml-parserInternals.html#xmlStringCurrentChar'/>
<reference name='xmlStringDecodeEntities' href='html/libxml-parserInternals.html#xmlStringDecodeEntities'/>
@@ -4328,6 +4339,7 @@
<ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
<ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
<ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
@@ -4388,6 +4400,7 @@
<ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
<ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
<ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+ <ref name='XML_SCHEMAV_CVC_IDC'/>
<ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
<ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
<ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
@@ -4456,6 +4469,9 @@
<ref name='XML_SCHEMA_TYPE_EXTENSION'/>
<ref name='XML_SCHEMA_TYPE_FACET'/>
<ref name='XML_SCHEMA_TYPE_GROUP'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_KEY'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_KEYREF'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_UNIQUE'/>
<ref name='XML_SCHEMA_TYPE_LIST'/>
<ref name='XML_SCHEMA_TYPE_NOTATION'/>
<ref name='XML_SCHEMA_TYPE_RESTRICTION'/>
@@ -5158,6 +5174,7 @@
<ref name='xmlFreePropList'/>
<ref name='xmlFreeRMutex'/>
<ref name='xmlFreeRefTable'/>
+ <ref name='xmlFreeStreamCtxt'/>
<ref name='xmlFreeTextReader'/>
<ref name='xmlFreeTextWriter'/>
<ref name='xmlFreeURI'/>
@@ -5631,6 +5648,7 @@
<ref name='xmlParserVersion'/>
<ref name='xmlParserWarning'/>
<ref name='xmlPattern'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
<ref name='xmlPatternPtr'/>
<ref name='xmlPatterncompile'/>
@@ -5939,6 +5957,10 @@
<ref name='xmlStrcmp'/>
<ref name='xmlStrdup'/>
<ref name='xmlStrdupFunc'/>
+ <ref name='xmlStreamCtxt'/>
+ <ref name='xmlStreamCtxtPtr'/>
+ <ref name='xmlStreamPop'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlStringComment'/>
<ref name='xmlStringCurrentChar'/>
<ref name='xmlStringDecodeEntities'/>
@@ -7213,6 +7235,9 @@
<type name='xmlSchemaValidCtxtPtr'>
<ref name='xmlSchemaNewValidCtxt'/>
</type>
+ <type name='xmlStreamCtxtPtr'>
+ <ref name='xmlPatternGetStreamCtxt'/>
+ </type>
<type name='xmlTextReaderPtr'>
<ref name='xmlNewTextReader'/>
<ref name='xmlNewTextReaderFilename'/>
@@ -7680,6 +7705,7 @@
<ref name='xmlStrchr'/>
<ref name='xmlStrcmp'/>
<ref name='xmlStrdup'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlStringCurrentChar'/>
<ref name='xmlStringDecodeEntities'/>
<ref name='xmlStringGetNodeList'/>
@@ -9249,6 +9275,7 @@
<type name='xmlPatternPtr'>
<ref name='xmlFreePattern'/>
<ref name='xmlFreePatternList'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
</type>
<type name='xmlRMutexPtr'>
@@ -9469,6 +9496,11 @@
<ref name='xmlGcMemGet'/>
<ref name='xmlMemGet'/>
</type>
+ <type name='xmlStreamCtxtPtr'>
+ <ref name='xmlFreeStreamCtxt'/>
+ <ref name='xmlStreamPop'/>
+ <ref name='xmlStreamPush'/>
+ </type>
<type name='xmlStructuredErrorFunc'>
<ref name='xmlSetStructuredErrorFunc'/>
<ref name='xmlTextReaderSetStructuredErrorHandler'/>
@@ -10700,10 +10732,16 @@
<file name='pattern'>
<ref name='xmlFreePattern'/>
<ref name='xmlFreePatternList'/>
+ <ref name='xmlFreeStreamCtxt'/>
<ref name='xmlPattern'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
<ref name='xmlPatternPtr'/>
<ref name='xmlPatterncompile'/>
+ <ref name='xmlStreamCtxt'/>
+ <ref name='xmlStreamCtxtPtr'/>
+ <ref name='xmlStreamPop'/>
+ <ref name='xmlStreamPush'/>
</file>
<file name='relaxng'>
<ref name='XML_RELAXNGP_CRNG'/>
@@ -10879,6 +10917,7 @@
<ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
<ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
<ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
<ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
@@ -10931,6 +10970,9 @@
<ref name='XML_SCHEMA_TYPE_EXTENSION'/>
<ref name='XML_SCHEMA_TYPE_FACET'/>
<ref name='XML_SCHEMA_TYPE_GROUP'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_KEY'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_KEYREF'/>
+ <ref name='XML_SCHEMA_TYPE_IDC_UNIQUE'/>
<ref name='XML_SCHEMA_TYPE_LIST'/>
<ref name='XML_SCHEMA_TYPE_NOTATION'/>
<ref name='XML_SCHEMA_TYPE_RESTRICTION'/>
@@ -12157,6 +12199,7 @@
<ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
<ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
<ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+ <ref name='XML_SCHEMAV_CVC_IDC'/>
<ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
<ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
<ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
@@ -13509,6 +13552,7 @@
</word>
<word name='Both'>
<ref name='XML_SUBSTITUTE_BOTH'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='BoxDrawing'>
<ref name='xmlUCSIsBoxDrawing'/>
@@ -15393,6 +15437,7 @@
<ref name='xmlParseExternalID'/>
<ref name='xmlParsePEReference'/>
<ref name='xmlParserHandlePEReference'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlTextReaderCurrentDoc'/>
</word>
<word name='NRK'>
@@ -16929,6 +16974,7 @@
<ref name='xmlNewNodeEatName'/>
<ref name='xmlNewPI'/>
<ref name='xmlNewTextChild'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlTextReaderRelaxNGSetSchema'/>
<ref name='xmlTextReaderRelaxNGValidate'/>
</word>
@@ -17420,6 +17466,9 @@
<ref name='xmlParserHandleReference'/>
<ref name='xmlValidCtxtNormalizeAttributeValue'/>
</word>
+ <word name='act'>
+ <ref name='xmlStreamPush'/>
+ </word>
<word name='activate'>
<ref name='xmlTextReaderSetParserProp'/>
</word>
@@ -17727,6 +17776,7 @@
<ref name='xmlHasProp'/>
<ref name='xmlKeepBlanksDefault'/>
<ref name='xmlNanoFTPProxy'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlTextReaderPreserve'/>
<ref name='xmlTextReaderPreservePattern'/>
<ref name='xmlXPathStringEvalNumber'/>
@@ -18388,6 +18438,7 @@
<ref name='xmlSaveFileTo'/>
<ref name='xmlSaveFormatFileTo'/>
<ref name='xmlSetEntityReferenceFunc'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlTextReaderCurrentDoc'/>
<ref name='xmlTextReaderExpand'/>
<ref name='xmlTextReaderSetErrorHandler'/>
@@ -18801,6 +18852,9 @@
<word name='combining'>
<ref name='IS_COMBINING_CH'/>
</word>
+ <word name='come'>
+ <ref name='xmlStreamPush'/>
+ </word>
<word name='coment'>
<ref name='xmlTextWriterEndComment'/>
</word>
@@ -19056,6 +19110,7 @@
<ref name='xmlUTF8Strlen'/>
</word>
<word name='computed'>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='_xmlEntity'/>
<ref name='xmlByteConsumed'/>
<ref name='xmlSchemaValPredefTypeNode'/>
@@ -19955,6 +20010,7 @@
<ref name='xmlDictCreateSub'/>
<ref name='xmlDictReference'/>
<ref name='xmlHashCreateDict'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='dictionnary'>
<ref name='_xmlParserCtxt'/>
@@ -19969,6 +20025,7 @@
<ref name='xmlDictReference'/>
<ref name='xmlDictSize'/>
<ref name='xmlPatterncompile'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='did'>
<ref name='XML_SCHEMAS_TYPE_BLOCK_DEFAULT'/>
@@ -20780,6 +20837,7 @@
<ref name='xmlSchemaNewMemParserCtxt'/>
<ref name='xmlSchemaNewParserCtxt'/>
<ref name='xmlSchemaValidateListSimpleTypeFacet'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='explicitly'>
<ref name='xmlSAXDefaultVersion'/>
@@ -20866,6 +20924,7 @@
<ref name='xmlSchemaValidateListSimpleTypeFacet'/>
</word>
<word name='facets'>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='xmlSchemaCheckFacet'/>
</word>
<word name='fail'>
@@ -20925,6 +20984,7 @@
<ref name='xmlNanoHTTPOpenRedir'/>
<ref name='xmlNanoHTTPSave'/>
<ref name='xmlNewAutomata'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
<ref name='xmlRelaxNGGetParserErrors'/>
<ref name='xmlSaveFile'/>
@@ -22057,8 +22117,10 @@
<ref name='xmlNanoHTTPMethodRedir'/>
<ref name='xmlNanoHTTPOpen'/>
<ref name='xmlNanoHTTPOpenRedir'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='indicates'>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='xmlHasNsProp'/>
<ref name='xmlNanoFTPRead'/>
<ref name='xmlNanoFTPScanProxy'/>
@@ -22687,6 +22749,7 @@
<ref name='xmlNodeDump'/>
<ref name='xmlNodeDumpOutput'/>
<ref name='xmlShellPwd'/>
+ <ref name='xmlStreamPop'/>
<ref name='xmlXPathDebugDumpCompExpr'/>
<ref name='xmlXPathDebugDumpObject'/>
</word>
@@ -23143,6 +23206,7 @@
<word name='means'>
<ref name='xmlSetGenericErrorFunc'/>
<ref name='xmlSetStructuredErrorFunc'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='mechanism'>
<ref name='_xmlXPathContext'/>
@@ -23469,6 +23533,7 @@
</word>
<word name='need'>
<ref name='WITH_TRIO'/>
+ <ref name='XML_SCHEMAS_TYPE_FACETSNEEDVALUE'/>
<ref name='XML_SUBSTITUTE_BOTH'/>
<ref name='XML_SUBSTITUTE_NONE'/>
<ref name='XML_SUBSTITUTE_PEREF'/>
@@ -23937,6 +24002,7 @@
</word>
<word name='onto'>
<ref name='xmlParserInputBufferGrow'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='opaque'>
<ref name='_xmlSchema'/>
@@ -24327,6 +24393,7 @@
<ref name='xmlTextReaderRelaxNGValidate'/>
</word>
<word name='pattern'>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
<ref name='xmlPatterncompile'/>
<ref name='xmlTextReaderPreservePattern'/>
@@ -24543,6 +24610,7 @@
</word>
<word name='precompiled'>
<ref name='_xmlXPathParserContext'/>
+ <ref name='xmlPatternGetStreamCtxt'/>
<ref name='xmlPatternMatch'/>
<ref name='xmlRegNewExecCtxt'/>
<ref name='xmlRelaxNGNewValidCtxt'/>
@@ -24914,6 +24982,8 @@
<ref name='xmlCreatePushParserCtxt'/>
<ref name='xmlCtxtResetPush'/>
<ref name='xmlParserInputBufferPush'/>
+ <ref name='xmlStreamPop'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlXPathEvalExpr'/>
</word>
<word name='pushed'>
@@ -25562,6 +25632,7 @@
<ref name='xmlSetNsProp'/>
<ref name='xmlSetProp'/>
<ref name='xmlSetStructuredErrorFunc'/>
+ <ref name='xmlStreamPush'/>
</word>
<word name='resides'>
<ref name='xmlTextReaderConstXmlLang'/>
@@ -25729,6 +25800,7 @@
<ref name='xmlSAX2ExternalSubset'/>
<ref name='xmlSAX2InternalSubset'/>
<ref name='xmlShellPwd'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlValidateRoot'/>
<ref name='xmlXPathNewValueTree'/>
<ref name='xmlXPathRoot'/>
@@ -26616,25 +26688,8 @@
<ref name='xmlStrdup'/>
<ref name='xmlStrdupFunc'/>
</word>
- <word name='stream'>
- <ref name='_xmlParserCtxt'/>
- <ref name='xmlCheckHTTPInput'/>
- <ref name='xmlCreateIOParserCtxt'/>
- <ref name='xmlFreeInputStream'/>
- <ref name='xmlHandleEntity'/>
- <ref name='xmlNewEntityInputStream'/>
- <ref name='xmlNewIOInputStream'/>
- <ref name='xmlNewInputFromFile'/>
- <ref name='xmlNewInputStream'/>
- <ref name='xmlNewStringInputStream'/>
- <ref name='xmlParsePEReference'/>
- <ref name='xmlParserHandlePEReference'/>
- <ref name='xmlParserHandleReference'/>
- <ref name='xmlPrintURI'/>
- <ref name='xmlPushInput'/>
- <ref name='xmlSwitchInputEncoding'/>
- <ref name='xmlTextReaderGetRemainder'/>
- <ref name='xmlTextReaderRead'/>
+ <word name='streaming'>
+ <ref name='xmlPatternGetStreamCtxt'/>
</word>
<word name='streams'>
<ref name='_xmlParserCtxt'/>
@@ -26667,6 +26722,7 @@
<ref name='xmlRegExecErrInfo'/>
<ref name='xmlRegExecNextValues'/>
<ref name='xmlRegexpCompile'/>
+ <ref name='xmlStreamPush'/>
<ref name='xmlStrncatNew'/>
</word>
<word name='stripping'>
@@ -28466,6 +28522,9 @@
<word name='xmlFreeMutex'>
<ref name='xmlFreeMutex'/>
</word>
+ <word name='xmlFreeStreamCtxt'>
+ <ref name='xmlPatternGetStreamCtxt'/>
+ </word>
<word name='xmlGetGlobalState'>
<ref name='xmlGetGlobalState'/>
</word>
@@ -28767,6 +28826,9 @@
<word name='xmlPattern'>
<ref name='LIBXML_PATTERN_ENABLED'/>
</word>
+ <word name='xmlPatterncompile'>
+ <ref name='xmlStreamPush'/>
+ </word>
<word name='xmlPopInput:'>
<ref name='xmlPopInput'/>
</word>
diff --git a/doc/wiki.xsl b/doc/wiki.xsl
new file mode 100644
index 0000000..8f707bb
--- /dev/null
+++ b/doc/wiki.xsl
@@ -0,0 +1,589 @@
+<?xml version="1.0"?>
+<!--
+ Stylesheet to generate the HTML documentation from an XML API descriptions:
+ xsltproc wiki.xsl libxml2-api.xml
+
+ Daniel Veillard
+-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:str="http://exslt.org/strings"
+ extension-element-prefixes="exsl str"
+ exclude-result-prefixes="exsl str">
+
+ <!-- Generate XHTML-1.0 transitional -->
+ <xsl:output method="xml" encoding="ISO-8859-1" indent="yes"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
+
+ <!-- Build keys for all symbols -->
+ <xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
+
+ <!-- the target directory for the HTML output -->
+ <xsl:variable name="htmldir">wiki</xsl:variable>
+ <xsl:variable name="href_base">../</xsl:variable>
+
+ <xsl:template name="style">
+ <link rel="SHORTCUT ICON" href="/favicon.ico"/>
+ <style type="text/css">
+TD {font-family: Verdana,Arial,Helvetica}
+BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
+H1 {font-family: Verdana,Arial,Helvetica}
+H2 {font-family: Verdana,Arial,Helvetica}
+H3 {font-family: Verdana,Arial,Helvetica}
+A:link, A:visited, A:active { text-decoration: underline }
+</style>
+ </xsl:template>
+
+ <xsl:template name="docstyle">
+ <style type="text/css">
+ div.deprecated pre.programlisting {border-style: double;border-color:red}
+ pre.programlisting {border-style: double;}
+ </style>
+ </xsl:template>
+
+ <!-- This is convoluted but needed to force the current document to
+ be the API one and not the result tree from the tokenize() result,
+ because the keys are only defined on the main document -->
+ <xsl:template mode="dumptoken" match='*'>
+ <xsl:param name="token"/>
+ <xsl:variable name="ref" select="key('symbols', $token)"/>
+ <xsl:choose>
+ <xsl:when test="$ref">
+ <a href="libxml-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$token"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <!-- dumps a string, making cross-reference links -->
+ <xsl:template name="dumptext">
+ <xsl:param name="text"/>
+ <xsl:variable name="ctxt" select='.'/>
+ <!-- <xsl:value-of select="$text"/> -->
+ <xsl:for-each select="str:tokenize($text, ' 	')">
+ <xsl:apply-templates select="$ctxt" mode='dumptoken'>
+ <xsl:with-param name="token" select="string(.)"/>
+ </xsl:apply-templates>
+ <xsl:if test="position() != last()">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="macro" mode="toc">
+ <pre class="programlisting">
+ <xsl:text>#define </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="variable" mode="toc">
+ <pre class="programlisting">
+ <xsl:text>Variable </xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="string(@type)"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <a name="{@name}"></a>
+ <xsl:value-of select="@name"/>
+ <xsl:text>
+
+</xsl:text>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="typedef" mode="toc">
+ <xsl:variable name="name" select="string(@name)"/>
+ <pre class="programlisting">
+ <xsl:choose>
+ <xsl:when test="@type = 'enum'">
+ <xsl:text>Enum </xsl:text>
+ <a href="#{$name}"><xsl:value-of select="$name"/></a>
+ <xsl:text>
+</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>Typedef </xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <a name="{$name}"><xsl:value-of select="$name"/></a>
+ <xsl:text>
+</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="typedef[@type = 'enum']">
+ <xsl:variable name="name" select="string(@name)"/>
+ <h3>Enum <a name="{$name}"><xsl:value-of select="$name"/></a></h3>
+ <pre class="programlisting">
+ <xsl:text>Enum </xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text> {
+</xsl:text>
+ <xsl:for-each select="/api/symbols/enum[@type = $name]">
+ <xsl:sort select="@value" data-type="number" order="ascending"/>
+ <xsl:text> </xsl:text>
+ <a name="{@name}"><xsl:value-of select="@name"/></a>
+ <xsl:text> = </xsl:text>
+ <xsl:value-of select="@value"/>
+ <xsl:if test="@info != ''">
+ <xsl:text> : </xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@info"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ <xsl:text>}
+</xsl:text>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="struct" mode="toc">
+ <pre class="programlisting">
+ <xsl:text>Structure </xsl:text><a href="#{@name}"><xsl:value-of select="@name"/></a><br/>
+ <xsl:value-of select="@type"/><xsl:text>
+</xsl:text>
+ <xsl:if test="not(field)">
+ <xsl:text>The content of this structure is not made public by the API.
+</xsl:text>
+ </xsl:if>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="struct">
+ <h3><a name="{@name}">Structure <xsl:value-of select="@name"/></a></h3>
+ <pre class="programlisting">
+ <xsl:text>Structure </xsl:text><xsl:value-of select="@name"/><br/>
+ <xsl:value-of select="@type"/><xsl:text> {
+</xsl:text>
+ <xsl:if test="not(field)">
+ <xsl:text>The content of this structure is not made public by the API.
+</xsl:text>
+ </xsl:if>
+ <xsl:for-each select="field">
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="@info != ''">
+ <xsl:text>	: </xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="substring(@info, 1, 40)"/>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:text>
+</xsl:text>
+ </xsl:for-each>
+ <xsl:text>}</xsl:text>
+ </pre>
+ </xsl:template>
+
+ <xsl:template match="macro">
+ <xsl:variable name="name" select="string(@name)"/>
+ <h3><a name="{$name}"></a>Macro: <xsl:value-of select="$name"/></h3>
+ <pre><xsl:text>#define </xsl:text><xsl:value-of select="$name"/></pre>
+ <p>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="info"/>
+ </xsl:call-template>
+ </p><xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="function" mode="toc">
+ <xsl:variable name="name" select="string(@name)"/>
+ <xsl:variable name="nlen" select="string-length($name)"/>
+ <xsl:variable name="tlen" select="string-length(return/@type)"/>
+ <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
+ <pre class="programlisting">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@type"/>
+ </xsl:call-template>
+ <xsl:text>	</xsl:text>
+ <a href="#{@name}"><xsl:value-of select="@name"/></a>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</xsl:text>
+ <xsl:if test="not(arg)">
+ <xsl:text>void</xsl:text>
+ </xsl:if>
+ <xsl:for-each select="arg">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text><br/>
+ <xsl:if test="$blen - 40 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)</xsl:text>
+ </pre><xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="functype" mode="toc">
+ <xsl:variable name="name" select="string(@name)"/>
+ <xsl:variable name="nlen" select="string-length($name)"/>
+ <xsl:variable name="tlen" select="string-length(return/@type)"/>
+ <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
+ <pre class="programlisting">
+ <xsl:text>Function type: </xsl:text>
+ <a href="#{$name}"><xsl:value-of select="$name"/></a>
+ <xsl:text>
+</xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@type"/>
+ </xsl:call-template>
+ <xsl:text>	</xsl:text>
+ <a href="#{$name}"><xsl:value-of select="$name"/></a>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</xsl:text>
+ <xsl:if test="not(arg)">
+ <xsl:text>void</xsl:text>
+ </xsl:if>
+ <xsl:for-each select="arg">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text><br/>
+ <xsl:if test="$blen - 40 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)
+</xsl:text>
+ </pre>
+ <xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="functype">
+ <xsl:variable name="name" select="string(@name)"/>
+ <xsl:variable name="nlen" select="string-length($name)"/>
+ <xsl:variable name="tlen" select="string-length(return/@type)"/>
+ <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
+ <h3>
+ <a name="{$name}"></a>
+ <xsl:text>Function type: </xsl:text>
+ <xsl:value-of select="$name"/>
+ </h3>
+ <pre class="programlisting">
+ <xsl:text>Function type: </xsl:text>
+ <xsl:value-of select="$name"/>
+ <xsl:text>
+</xsl:text>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@type"/>
+ </xsl:call-template>
+ <xsl:text>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</xsl:text>
+ <xsl:if test="not(arg)">
+ <xsl:text>void</xsl:text>
+ </xsl:if>
+ <xsl:for-each select="arg">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text><br/>
+ <xsl:if test="$blen - 40 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)
+</xsl:text>
+ </pre>
+ <p>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="info"/>
+ </xsl:call-template>
+ </p>
+ <xsl:if test="arg | return">
+ <div class="variablelist"><table border="0"><col align="left"/><tbody>
+ <xsl:for-each select="arg">
+ <tr>
+ <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
+ <td>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@info"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ <xsl:if test="return/@info">
+ <tr>
+ <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+ <td>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@info"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:if>
+ </tbody></table></div>
+ </xsl:if>
+ <br/>
+ <xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="function">
+ <xsl:variable name="name" select="string(@name)"/>
+ <xsl:variable name="nlen" select="string-length($name)"/>
+ <xsl:variable name="tlen" select="string-length(return/@type)"/>
+ <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
+ <h3><a name="{$name}"></a>Function: <xsl:value-of select="$name"/></h3>
+ <pre class="programlisting">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@type"/>
+ </xsl:call-template>
+ <xsl:text>	</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="$blen - 40 < -8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 < 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>	(</xsl:text>
+ <xsl:if test="not(arg)">
+ <xsl:text>void</xsl:text>
+ </xsl:if>
+ <xsl:for-each select="arg">
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@type"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text><br/>
+ <xsl:if test="$blen - 40 > 8">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:if test="$blen - 40 > 0">
+ <xsl:text>	</xsl:text>
+ </xsl:if>
+ <xsl:text>					 </xsl:text>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:text>)</xsl:text><br/>
+ <xsl:text>
+</xsl:text>
+ </pre>
+ <p>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="info"/>
+ </xsl:call-template>
+ </p><xsl:text>
+</xsl:text>
+ <xsl:if test="arg | return/@info">
+ <div class="variablelist"><table border="0"><col align="left"/><tbody>
+ <xsl:for-each select="arg">
+ <tr>
+ <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
+ <td>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="@info"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:for-each>
+ <xsl:if test="return/@info">
+ <tr>
+ <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+ <td>
+ <xsl:call-template name="dumptext">
+ <xsl:with-param name="text" select="return/@info"/>
+ </xsl:call-template>
+ </td>
+ </tr>
+ </xsl:if>
+ </tbody></table></div>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="exports" mode="toc">
+ <xsl:apply-templates select="key('symbols', string(@symbol))[1]" mode="toc"/>
+ </xsl:template>
+
+ <xsl:template match="exports">
+ <xsl:apply-templates select="key('symbols', string(@symbol))[1]"/>
+ </xsl:template>
+
+ <xsl:template name="description">
+ <xsl:if test="deprecated">
+ <h2 style="font-weight:bold;color:red;text-align:center">This module is deprecated</h2>
+ </xsl:if>
+ <xsl:if test="description">
+ <p><xsl:value-of select="description"/></p>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template name="docomponents">
+ <xsl:param name="mode"/>
+ <xsl:apply-templates select="exports[@type='macro']" mode="$mode">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='enum']" mode="$mode">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='typedef']" mode="$mode">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='struct']" mode="$mode">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='function']" mode="$mode">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ </xsl:template>
+
+ <xsl:template match="file">
+ <xsl:variable name="name" select="@name"/>
+ <xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
+ <xsl:document href="{$htmldir}/libxml-{$name}.html" method="xml" encoding="ISO-8859-1"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <xsl:call-template name="style"/>
+ <xsl:call-template name="docstyle"/>
+ <table border="0" cellpadding="3" cellspacing="1" width="100%">
+ <tr>
+ <td>
+ <xsl:call-template name="description"/>
+ <xsl:choose>
+ <xsl:when test="deprecated">
+ <div class="deprecated">
+ <h2>Table of Contents</h2>
+ <xsl:apply-templates select="exports" mode="toc"/>
+ <h2>Description</h2>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="exports"/>
+ </div>
+ </xsl:when>
+ <xsl:otherwise>
+ <h2>Table of Contents</h2>
+ <xsl:apply-templates select="exports[@type='macro']" mode="toc">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='enum']" mode="toc">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='typedef']" mode="toc">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='struct']" mode="toc">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='function']" mode="toc">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <h2>Description</h2>
+ <xsl:text>
+</xsl:text>
+ <xsl:apply-templates select="exports[@type='macro']">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='enum']">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='typedef']">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='struct']">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ <xsl:apply-templates select="exports[@type='function']">
+ <xsl:sort select='@symbol'/>
+ </xsl:apply-templates>
+ </xsl:otherwise>
+ </xsl:choose>
+ </td>
+ </tr>
+</table>
+ </xsl:document>
+ </xsl:template>
+
+ <xsl:template match="file" mode="toc">
+ <xsl:variable name="name" select="@name"/>
+ <b><a href="http://xmlsoft.org/wiki/index.php?title=Libxml2:Api:{$name}"><xsl:value-of select="$name"/></a></b><br/>
+ <xsl:value-of select="summary"/>
+ <br/><br/>
+ </xsl:template>
+
+ <xsl:template name="mainpage">
+ <xsl:param name="file" select="concat($htmldir, '/libxml-index.html')"/>
+ <xsl:variable name="title">Reference Manual for <xsl:value-of select="/api/@name"/></xsl:variable>
+ <xsl:document href="{$file}" method="xml" encoding="ISO-8859-1"
+ doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <xsl:call-template name="style"/>
+ <xsl:call-template name="docstyle"/>
+ <table border="0" cellpadding="3" cellspacing="1" width="100%">
+ <tr>
+ <td>
+ <xsl:apply-templates select="/api/files/file" mode="toc"/>
+ </td>
+ </tr>
+ </table>
+ </xsl:document>
+ </xsl:template>
+
+ <xsl:template match="/">
+ <!-- Save the main libxml-index.html as well as a couple of copies -->
+ <xsl:call-template name="mainpage"/>
+ <!-- now build the file for each of the modules -->
+ <xsl:apply-templates select="/api/files/file"/>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/testapi.c b/testapi.c
index bf829dc..1442137 100644
--- a/testapi.c
+++ b/testapi.c
@@ -16692,6 +16692,16 @@
}
static int
+test_xmlPatternGetStreamCtxt(void) {
+ int test_ret = 0;
+
+
+ /* missing type support */
+ return(test_ret);
+}
+
+
+static int
test_xmlPatternMatch(void) {
int test_ret = 0;
@@ -16741,13 +16751,105 @@
return(test_ret);
}
+
+#define gen_nb_xmlStreamCtxtPtr 1
+static xmlStreamCtxtPtr gen_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
+ return(NULL);
+}
+static void des_xmlStreamCtxtPtr(int no ATTRIBUTE_UNUSED, xmlStreamCtxtPtr val ATTRIBUTE_UNUSED, int nr ATTRIBUTE_UNUSED) {
+}
+
+static int
+test_xmlStreamPop(void) {
+ int test_ret = 0;
+
+#if defined(LIBXML_PATTERN_ENABLED)
+ int mem_base;
+ int ret_val;
+ xmlStreamCtxtPtr stream; /* the stream context */
+ int n_stream;
+
+ for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
+ mem_base = xmlMemBlocks();
+ stream = gen_xmlStreamCtxtPtr(n_stream, 0);
+
+ ret_val = xmlStreamPop(stream);
+ desret_int(ret_val);
+ call_tests++;
+ des_xmlStreamCtxtPtr(n_stream, stream, 0);
+ xmlResetLastError();
+ if (mem_base != xmlMemBlocks()) {
+ printf("Leak of %d blocks found in xmlStreamPop",
+ xmlMemBlocks() - mem_base);
+ test_ret++;
+ printf(" %d", n_stream);
+ printf("\n");
+ }
+ }
+ function_tests++;
+#endif
+
+ return(test_ret);
+}
+
+
+static int
+test_xmlStreamPush(void) {
+ int test_ret = 0;
+
+#if defined(LIBXML_PATTERN_ENABLED)
+ int mem_base;
+ int ret_val;
+ xmlStreamCtxtPtr stream; /* the stream context */
+ int n_stream;
+ xmlChar * name; /* the current name */
+ int n_name;
+ xmlChar * ns; /* the namespace name */
+ int n_ns;
+
+ for (n_stream = 0;n_stream < gen_nb_xmlStreamCtxtPtr;n_stream++) {
+ for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
+ for (n_ns = 0;n_ns < gen_nb_const_xmlChar_ptr;n_ns++) {
+ mem_base = xmlMemBlocks();
+ stream = gen_xmlStreamCtxtPtr(n_stream, 0);
+ name = gen_const_xmlChar_ptr(n_name, 1);
+ ns = gen_const_xmlChar_ptr(n_ns, 2);
+
+ ret_val = xmlStreamPush(stream, (const xmlChar *)name, (const xmlChar *)ns);
+ desret_int(ret_val);
+ call_tests++;
+ des_xmlStreamCtxtPtr(n_stream, stream, 0);
+ des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
+ des_const_xmlChar_ptr(n_ns, (const xmlChar *)ns, 2);
+ xmlResetLastError();
+ if (mem_base != xmlMemBlocks()) {
+ printf("Leak of %d blocks found in xmlStreamPush",
+ xmlMemBlocks() - mem_base);
+ test_ret++;
+ printf(" %d", n_stream);
+ printf(" %d", n_name);
+ printf(" %d", n_ns);
+ printf("\n");
+ }
+ }
+ }
+ }
+ function_tests++;
+#endif
+
+ return(test_ret);
+}
+
static int
test_pattern(void) {
int test_ret = 0;
- if (quiet == 0) printf("Testing pattern : 1 of 4 functions ...\n");
+ if (quiet == 0) printf("Testing pattern : 3 of 8 functions ...\n");
+ test_ret += test_xmlPatternGetStreamCtxt();
test_ret += test_xmlPatternMatch();
test_ret += test_xmlPatterncompile();
+ test_ret += test_xmlStreamPop();
+ test_ret += test_xmlStreamPush();
if (test_ret != 0)
printf("Module pattern: %d errors\n", test_ret);
diff --git a/xmlschemas.c b/xmlschemas.c
index 8e291d0..800d1a8 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -16439,6 +16439,7 @@
* Frees an IDC binding. Note that the node table-items
* are not freed.
*/
+static void
xmlSchemaIDCFreeBinding(xmlSchemaPSVIIDCBindingPtr bind)
{
if (bind->nodeTable != NULL) {