1309N/A * A template to generate a header that will contain some important constraints 1309N/A * extracted from the VirtualBox XML Schema (VirtualBox-settings-*.xsd). 1309N/A * This template depends on XML Schema structure (type names and constraints) 1309N/A * and should be reviewed on every Schema change. 1309N/A * Copyright (C) 2006 InnoTek Systemberatung GmbH 1309N/A * This file is part of VirtualBox Open Source Edition (OSE), as 1309N/A * you can redistribute it and/or modify it under the terms of the GNU 1309N/A * General Public License as published by the Free Software Foundation, 1309N/A * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE 1309N/A * distribution. VirtualBox OSE is distributed in the hope that it will 2362N/A * be useful, but WITHOUT ANY WARRANTY of any kind. 2362N/A * If you received this file as part of a commercial VirtualBox 1309N/A * distribution, then only the terms of your commercial VirtualBox 1309N/A * license agreement apply instead of the previous paragraph. 1309N/A<
xsl:
stylesheet version="1.0" 1309N/A<
xsl:
strip-
space elements="*"/>
1309N/A//////////////////////////////////////////////////////////////////////////////// 1309N/A * Extract the specified value and assign it to an enum member with the given 1309N/A<
xsl:
template name="defineEnumMember">
1309N/A <
xsl:
value-
of select="concat($member, ' = ', $select, ',
')"/>
1309N/A//////////////////////////////////////////////////////////////////////////////// 1309N/A * shut down all implicit templates * This header is automatically generated from the VirtualBox XML Schema
* and contains selected schema constraints defined in C.
<
xsl:
apply-
templates select="xsd:schema"/>
#endif // ____H_SCHEMADEFS
* extract schema definitions <
xsl:
template match="xsd:schema">
<!-- process include statements --> <
xsl:
for-
each select="xsd:include">
<
xsl:
apply-
templates select="document(@schemaLocation)/xsd:schema"/>
<
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' MinGuestRAM'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TMemory']/xsd:attribute[@name='RAMSize']//xsd:minInclusive/@value <
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' MaxGuestRAM'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TMemory']/xsd:attribute[@name='RAMSize']//xsd:maxInclusive/@value <
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' MinGuestVRAM'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TDisplay']/xsd:attribute[@name='VRAMSize']//xsd:minInclusive/@value <
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' MaxGuestVRAM'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TDisplay']/xsd:attribute[@name='VRAMSize']//xsd:maxInclusive/@value <
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' NetworkAdapterCount'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TAdapter']/xsd:attribute[@name='slot']//xsd:maxExclusive/@value <
xsl:
call-
template name="defineEnumMember">
<
xsl:
with-
param name="member" select="' MaxBootPosition'"/>
<
xsl:
with-
param name="select" select=" xsd:complexType[@name='TBoot']//xsd:element[@name='Order']//xsd:attribute[@name='position']//xsd:maxInclusive/@value