diff options
Diffstat (limited to 'src/VBox/Main/webservice/platform-xidl.xsl')
-rw-r--r-- | src/VBox/Main/webservice/platform-xidl.xsl | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/VBox/Main/webservice/platform-xidl.xsl b/src/VBox/Main/webservice/platform-xidl.xsl new file mode 100644 index 00000000..849c5c6f --- /dev/null +++ b/src/VBox/Main/webservice/platform-xidl.xsl @@ -0,0 +1,86 @@ +<?xml version="1.0"?> + +<!-- + + platform-xidl.xsl: + XSLT stylesheet that generates a platform-specific + VirtualBox.xidl from ../idl/VirtualBox.xidl, which + is identical to the original except that all <if...> + sections are resolved (for easier processing). + + Copyright (C) 2006-2020 Oracle Corporation + + This file is part of VirtualBox Open Source Edition (OSE), as + available from http://www.virtualbox.org. This file is free software; + you can redistribute it and/or modify it under the terms of the GNU + General Public License (GPL) as published by the Free Software + Foundation, in version 2 as it comes in the "COPYING" file of the + VirtualBox OSE distribution. VirtualBox OSE is distributed in the + hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +--> + +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output + method="xml" + version="1.0" + encoding="utf-8" + indent="yes"/> + +<xsl:strip-space + elements="*" /> + +<!-- + template for "idl" match; this emits the header of the target file + and recurses into the libraries with interfaces (which are matched below) + --> +<xsl:template match="/idl"> + <xsl:comment> + DO NOT EDIT! This is a generated file. + Generated from: src/VBox/Main/idl/VirtualBox.xidl (VirtualBox's interface definitions in XML) + Generator: src/VBox/Main/webservice/platform-xidl.xsl +</xsl:comment> + + <idl> + <xsl:apply-templates /> + </idl> + +</xsl:template> + +<!-- + template for "if" match: ignore all ifs except those for wsdl + --> +<xsl:template match="if"> + <xsl:if test="@target='wsdl'"> + <xsl:apply-templates/> + </xsl:if> +</xsl:template> + +<!-- + ignore everything we don't need + --> +<xsl:template match="cpp|class|enumerator"> +</xsl:template> + +<!-- + and keep the rest intact (including all attributes) + + NOTE: this drops class and everything in it, which I left unchanged + since the other xslt scripts blow up badly. + --> +<xsl:template match="library|module|enum|const|interface|attribute|collection|method|param|result"> + <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates/></xsl:copy> +</xsl:template> + +<!-- + keep those completely unchanged, including child nodes (including all + attributes) + --> +<xsl:template match="descGroup|desc|note"> + <xsl:copy-of select="."/> +</xsl:template> + + +</xsl:stylesheet> |