⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defgen.xsl

📁 libxml,在UNIX/LINUX下非常重要的一个库,为XML相关应用提供方便.目前上载的是最新版本,若要取得最新版本,请参考里面的readme.
💻 XSL
字号:
<?xml version="1.0"?><!-- 	win32/defgen.xsl	This stylesheet is used to transform doc/libxml2-api.xml into a pseudo-source,	which can then be preprocessed to get the .DEF file for the Microsoft's linker.		Use any XSLT processor to produce a file called libxml2.def.src in the win32	subdirectory, for example, run xsltproc from the win32 subdirectory:		  xsltproc -o libxml2.def.src defgen.xsl ../doc/libxml2-api.xml	  	Once that finishes, rest assured, the Makefile will know what to do with the	generated file. 	April 2003, Igor Zlatkovic <igor@zlatkovic.com>--><!DOCTYPE xsl:stylesheet [ <!ENTITY nl '&#xd;&#xa;'> ]><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">	<xsl:strip-space elements="*"/>	<xsl:output method="text"/>	<xsl:template match="/">		<xsl:text>#define LIBXML2_COMPILING_MSCCDEF&nl;</xsl:text>		<xsl:text>#include "../include/libxml/xmlversion.h"&nl;</xsl:text>		<xsl:text>LIBRARY libxml2&nl;</xsl:text>		<xsl:text>EXPORTS&nl;</xsl:text>		<xsl:for-each select="/api/symbols/*[self::variable or self::function]">			<!-- Basic tests -->			<xsl:if test="@file = 'c14n'">				<xsl:text>#ifdef LIBXML_C14N_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'catalog'">				<xsl:text>#ifdef LIBXML_CATALOG_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'debugXML'">				<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'DOCBparser'">				<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'HTMLparser') 					or (@file = 'HTMLtree')">				<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'nanohttp'">				<xsl:text>#ifdef LIBXML_HTTP_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'nanoftp'">				<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'relaxng') 					or (@file = 'xmlschemas') 					or (@file = 'xmlschemastypes')">				<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xinclude'">				<xsl:text>#ifdef LIBXML_XINCLUDE_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xlink'">				<xsl:text>#ifdef LIBXML_XLINK_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xmlautomata'">				<xsl:text>#ifdef LIBXML_AUTOMATA_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'xmlregexp') 					or (@file = 'xmlunicode')">				<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'xpath') 					or (@file = 'xpathInternals')">				<xsl:text>#ifdef LIBXML_XPATH_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xpointer'">				<xsl:text>#ifdef LIBXML_XPTR_ENABLED&nl;</xsl:text>			</xsl:if>			<!-- Extended tests -->			<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit') 					or (@name = 'htmlInitAutoClose') 					or (@name = 'htmlCreateFileParserCtxt') 					or (@name = 'inithtmlDefaultSAXHandler')					or (@name = 'xmlIsXHTML') 					or (@name = 'xmlIOHTTPOpenW') 					or (@name = 'xmlRegisterHTTPPostCallbacks') 					or (@name = 'xmlIOHTTPMatch')					or (@name = 'xmlIOHTTPOpen') 					or (@name = 'xmlIOHTTPRead') 					or (@name = 'xmlIOHTTPClose')">				<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'docbDefaultSAXHandlerInit') 					or (@name = 'initdocbDefaultSAXHandler')">				<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="@name = 'xmlValidBuildContentModel'">				<xsl:text>#ifdef LIBXML_REGEXP_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlIOFTPMatch') 					or (@name = 'xmlIOFTPOpen') 					or (@name = 'xmlIOFTPRead') 					or (@name = 'xmlIOFTPClose')">				<xsl:text>#ifdef LIBXML_FTP_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate') 					or (@name = 'xmlTextReaderRelaxNGSetSchema')">				<xsl:text>#ifdef LIBXML_SCHEMAS_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlXPathDebugDumpObject') 					or (@name = 'xmlXPathDebugDumpCompExpr')">				<xsl:text>#ifdef LIBXML_DEBUG_ENABLED&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlMallocLoc') 					or (@name = 'xmlMallocAtomicLoc') 					or (@name = 'xmlReallocLoc') 					or (@name = 'xmlMemStrdupLoc')">				<xsl:text>#ifdef DEBUG_MEMORY_LOCATION&nl;</xsl:text>			</xsl:if>			<!-- Symbol -->			<xsl:choose>				<xsl:when test="(@name = 'xmlMalloc') 						or (@name = 'xmlMallocAtomic') 						or (@name = 'xmlRealloc') 						or (@name = 'xmlFree') 						or (@name = 'xmlMemStrdup')">					<xsl:text>#ifdef LIBXML_THREAD_ALLOC_ENABLED&nl;</xsl:text>					<xsl:text>__</xsl:text>					<xsl:value-of select="@name"/>					<xsl:text>&nl;</xsl:text>					<xsl:text>#else&nl;</xsl:text>					<xsl:value-of select="@name"/>					<xsl:text> DATA&nl;</xsl:text>					<xsl:text>#endif&nl;</xsl:text>				</xsl:when>				<xsl:when test="(@name = 'docbDefaultSAXHandler') 						or (@name = 'htmlDefaultSAXHandler') 						or (@name = 'oldXMLWDcompatibility') 						or (@name = 'xmlBufferAllocScheme') 						or (@name = 'xmlDefaultBufferSize') 						or (@name = 'xmlDefaultSAXHandler') 						or (@name = 'xmlDefaultSAXLocator') 						or (@name = 'xmlDoValidityCheckingDefaultValue') 						or (@name = 'xmlGenericError') 						or (@name = 'xmlGenericErrorContext') 						or (@name = 'xmlGetWarningsDefaultValue') 						or (@name = 'xmlIndentTreeOutput') 						or (@name = 'xmlTreeIndentString') 						or (@name = 'xmlKeepBlanksDefaultValue') 						or (@name = 'xmlLineNumbersDefaultValue') 						or (@name = 'xmlLoadExtDtdDefaultValue') 						or (@name = 'xmlParserDebugEntities') 						or (@name = 'xmlParserVersion') 						or (@name = 'xmlPedanticParserDefaultValue') 						or (@name = 'xmlSaveNoEmptyTags') 						or (@name = 'xmlSubstituteEntitiesDefaultValue') 						or (@name = 'xmlRegisterNodeDefaultValue') 						or (@name = 'xmlDeregisterNodeDefaultValue')">					<xsl:text>#ifdef LIBXML_THREAD_ENABLED&nl;</xsl:text>					<xsl:if test="@name = 'docbDefaultSAXHandler'">						<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>					</xsl:if>					<xsl:if test="@name = 'htmlDefaultSAXHandler'">						<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>					</xsl:if>					<xsl:text>__</xsl:text>					<xsl:value-of select="@name"/>					<xsl:text>&nl;</xsl:text>					<xsl:if test="@name = 'docbDefaultSAXHandler'">						<xsl:text>#endif&nl;</xsl:text>					</xsl:if>					<xsl:if test="@name = 'htmlDefaultSAXHandler'">						<xsl:text>#endif&nl;</xsl:text>					</xsl:if>					<xsl:text>#else&nl;</xsl:text>					<xsl:if test="@name = 'docbDefaultSAXHandler'">						<xsl:text>#ifdef LIBXML_DOCB_ENABLED&nl;</xsl:text>					</xsl:if>					<xsl:if test="@name = 'htmlDefaultSAXHandler'">						<xsl:text>#ifdef LIBXML_HTML_ENABLED&nl;</xsl:text>					</xsl:if>					<xsl:value-of select="@name"/>					<xsl:text> DATA&nl;</xsl:text>					<xsl:if test="@name = 'docbDefaultSAXHandler'">						<xsl:text>#endif&nl;</xsl:text>					</xsl:if>					<xsl:if test="@name = 'htmlDefaultSAXHandler'">						<xsl:text>#endif&nl;</xsl:text>					</xsl:if>					<xsl:text>#endif&nl;</xsl:text>				</xsl:when>				<xsl:otherwise>					<xsl:value-of select="@name"/>					<xsl:if test="self::variable">						<xsl:text> DATA</xsl:text>					</xsl:if>					<xsl:text>&nl;</xsl:text>				</xsl:otherwise>			</xsl:choose>			<!-- Basic tests (close) -->			<xsl:if test="@file = 'c14n'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'catalog'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'debugXML'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'DOCBparser'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'HTMLparser') 					or (@file = 'HTMLtree')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'nanohttp'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'nanoftp'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'relaxng') 					or (@file = 'xmlschemas') 					or (@file = 'xmlschemastypes')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xinclude'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xlink'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xmlautomata'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'xmlregexp') 					or (@file = 'xmlunicode')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@file = 'xpath') 					or (@file = 'xpathInternals')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@file = 'xpointer'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<!-- Extended tests (close) -->			<xsl:if test="(@name = 'htmlDefaultSAXHandlerInit') 					or (@name = 'htmlInitAutoClose') 					or (@name = 'htmlCreateFileParserCtxt') 					or (@name = 'inithtmlDefaultSAXHandler')					or (@name = 'xmlIsXHTML') 					or (@name = 'xmlIOHTTPOpenW') 					or (@name = 'xmlRegisterHTTPPostCallbacks') 					or (@name = 'xmlIOHTTPMatch')					or (@name = 'xmlIOHTTPOpen') 					or (@name = 'xmlIOHTTPRead') 					or (@name = 'xmlIOHTTPClose')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'docbDefaultSAXHandlerInit') 					or (@name = 'initdocbDefaultSAXHandler')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="@name = 'xmlValidBuildContentModel'">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlIOFTPMatch') 					or (@name = 'xmlIOFTPOpen') 					or (@name = 'xmlIOFTPRead') 					or (@name = 'xmlIOFTPClose')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlTextReaderRelaxNGValidate') 					or (@name = 'xmlTextReaderRelaxNGSetSchema')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlXPathDebugDumpObject') 					or (@name = 'xmlXPathDebugDumpCompExpr')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>			<xsl:if test="(@name = 'xmlMallocLoc') 					or (@name = 'xmlMallocAtomicLoc') 					or (@name = 'xmlReallocLoc') 					or (@name = 'xmlMemStrdupLoc')">				<xsl:text>#endif&nl;</xsl:text>			</xsl:if>		</xsl:for-each>	</xsl:template></xsl:stylesheet>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -