SettingsConverter.xsl revision 2133b18d8bd29ea17bd3e1d72f0e925ab2556d1d
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * :tabSize=2:indentSize=2:noTabs=true:
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * :folding=explicit:collapseFolds=1:
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Template to convert old VirtualBox settings files to the most recent format.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync Copyright (C) 2006-2008 Sun Microsystems, Inc.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync This file is part of VirtualBox Open Source Edition (OSE), as
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync available from http://www.virtualbox.org. This file is free software;
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync you can redistribute it and/or modify it under the terms of the GNU
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync General Public License (GPL) as published by the Free Software
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync Foundation, in version 2 as it comes in the "COPYING" file of the
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync VirtualBox OSE distribution. VirtualBox OSE is distributed in the
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync Clara, CA 95054 USA or visit http://www.sun.com if you need
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync additional information or have any questions.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync xmlns:vb="http://www.innotek.de/VirtualBox-settings"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:variable name="curVer" select="substring-before(/vb:VirtualBox/@version, '-')"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:variable name="curVerPlat" select="substring-after(/vb:VirtualBox/@version, '-')"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:variable name="curVerFull" select="/vb:VirtualBox/@version"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:comment> Automatically converted from version '<xsl:value-of select="$curVerFull"/>' </xsl:comment>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * comments outside the root node are gathered to a single line, fix this
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Forbid non-VirtualBox root nodes
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncCannot convert an unknown XML file with the root node '<xsl:value-of select="name()"/>'!
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Forbid all unsupported VirtualBox settings versions
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncCannot convert settings from version '<xsl:value-of select="@version"/>'.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncThe source version is not supported.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Accept supported settings versions (source setting files we can convert)
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Note that in order to simplify conversion from versions prior to the previous
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * one, we support multi-step conversion like this: step 1: 1.0 => 1.1,
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * step 2: 1.1 => 1.2, where 1.2 is the most recent version. If you want to use
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * such multi-step mode, you need to ensure that only 1.0 => 1.1 is possible, by
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * using the 'mode=1.1' attribute on both 'apply-templates' within the starting
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * '/vb:VirtualBox[1.0]' template and within all templates that this
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * 'apply-templates' should apply.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * If no 'mode' attribute is used as described above, then a direct conversion
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * (1.0 => 1.2 in the above example) will happen when version 1.0 of the settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * files is detected. Note that the direct conversion from pre-previous versions
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * will require to patch their conversion templates so that they include all
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * modifications from all newer versions, which is error-prone. It's better to
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * use the milt-step mode.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- 1.1 => 1.2 -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.1']">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="version"><xsl:value-of select="concat('1.2','-',$curVerPlat)"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- 1.2 => 1.3.pre -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.2']">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="version"><xsl:value-of select="concat('1.3.pre','-',$curVerPlat)"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="node()" mode="v1.3.pre"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- 1.3.pre => 1.3 -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.3.pre']">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="version"><xsl:value-of select="concat('1.3','-',$curVerPlat)"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- 1.3 => 1.4 -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.3']">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="version"><xsl:value-of select="concat('1.4','-',$curVerPlat)"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- 1.4 => 1.5 -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.4']">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="version"><xsl:value-of select="concat('1.5','-',$curVerPlat)"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * 1.1 => 1.2
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * all non-root elements that are not explicitly matched are copied as is
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()[../..]" mode="v1.2"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Global settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.1']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskImageRegistry/vb:HardDiskImages//
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.2">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <DiffHardDisk>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="uuid"><xsl:value-of select="@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <VirtualDiskImage>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="filePath"><xsl:value-of select="@src"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </VirtualDiskImage>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </DiffHardDisk>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.1']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskImageRegistry"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.2">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<DiskRegistry>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <HardDisks>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="uuid"><xsl:value-of select="@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@independent='immutable'">immutable</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@independent='mutable'">immutable</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <VirtualDiskImage>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="filePath"><xsl:value-of select="@src"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </VirtualDiskImage>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDisk>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDisks>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync</DiskRegistry>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Machine settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.1']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:HardDisks"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.2">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <HardDiskAttachments>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <HardDiskAttachment>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="hardDisk"><xsl:value-of select="vb:Image/@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDiskAttachment>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDiskAttachments>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * all non-root elements that are not explicitly matched are copied as is
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="@*|node()[../..]" mode="v1.3.pre">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()[../..]" mode="v1.3.pre"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Global settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Machine settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.2']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:USBController"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()" mode="v1.3.pre"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.2']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:HardDiskAttachments/vb:HardDiskAttachment"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <HardDiskAttachment>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="hardDisk"><xsl:value-of select="@hardDisk"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@bus"/>' of 'HardDiskAttachment::bus' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@device"/>' of 'HardDiskAttachment::device' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDiskAttachment>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * all non-root elements that are not explicitly matched are copied as is
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()[../..]" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Global settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global//vb:SystemProperties"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[not(name()='defaultSavedStateFolder')]|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Machine settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:AudioAdapter"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[not(name()='driver')]|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@driver='coreaudio'">CoreAudio</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@driver='dsound'">DirectSound</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@driver='solaudio'">SolAudio</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@driver"/>' of 'AudioAdapter::driver' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <SharedFolders/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:RemoteDisplay"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[not(name()='authType')]|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@authType='guest'">Guest</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@authType='external'">External</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@authType"/>' of 'RemoteDisplay::authType' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:BIOS/vb:BootMenu"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[not(name()='mode')]|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@mode='disabled'">Disabled</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@mode='menuonly'">MenuOnly</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@mode='messageandmenu'">MessageAndMenu</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@mode"/>' of 'BootMenu::mode' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:USBController/vb:DeviceFilter |
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:USBDeviceFilters/vb:DeviceFilter"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="vendorId"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="productId"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="serialNumber"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:Guest"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="memoryBalloonSize"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="name()='StatisticsUpdateInterval'">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="statisticsUpdateInterval"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:Uart"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3.pre']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:Lpt"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.3">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()" mode="v1.3"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * 1.3 => 1.4
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * all non-root elements that are not explicitly matched are copied as is
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()[../..]" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Global settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry/vb:HardDisks/vb:HardDisk |
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry/vb:HardDisks//vb:DiffHardDisk"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4-HardDisk-format-location">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="*[self::vb:VirtualDiskImage][1]">VDI</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="*[self::vb:VMDKImage][1]">VMDK</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="*[self::vb:VHDImage][1]">VHD</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncISCSIHardDisk node requires manual conversion. Contact the product vendor.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncSub-element '<xsl:value-of select="name(*[1])"/>' of 'HardDisk' element is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:value-of select="vb:VirtualDiskImage/@filePath"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:value-of select="vb:CustomHardDisk/@location"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <!--xsl:when test="*[self::vb:ISCSIHardDisk][1]">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:value-of select="concat('iscsi://',vb:ISCSIHardDisk/@userName,':',vb:ISCSIHardDisk/@password,'@',vb:ISCSIHardDisk/@server,':',vb:ISCSIHardDisk/@port,'/',vb:ISCSIHardDisk/@target,'/',vb:ISCSIHardDisk/@lun)"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </xsl:when-->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry/vb:HardDisks/vb:HardDisk"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="uuid"><xsl:value-of select="@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="." mode="v1.4-HardDisk-format-location"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@type='immutable'">Immutable</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@type='writethrough'">Writethrough</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsyncValue '<xsl:value-of select="@type"/>' of 'HardDisk::type' attribute is invalid.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="vb:DiffHardDisk" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDisk>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry/vb:HardDisks/vb:HardDisk//
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:DiffHardDisk"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="uuid"><xsl:value-of select="@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="." mode="v1.4-HardDisk-format-location"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="vb:DiffHardDisk" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDisk>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry/vb:FloppyImages/vb:Image"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="uuid"><xsl:value-of select="@uuid"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="location"><xsl:value-of select="@src"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:DiskRegistry"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <MediaRegistry>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <HardDisks>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="vb:HardDisks/vb:HardDisk" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </HardDisks>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <DVDImages>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="vb:DVDImages/vb:Image" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </DVDImages>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <FloppyImages>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="vb:FloppyImages/vb:Image" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </FloppyImages>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </MediaRegistry>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.3']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Global/vb:SystemProperties"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.4">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <SystemProperties>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[not(name()='defaultVDIFolder')]|node()" mode="v1.4"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <!-- use the @defaultVDIFolder value for @defaultHardDiskFolder only when it
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync differs from the default (VDI) and otherwise simply delete it to let
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync VBoxSVC set the correct new default value -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:if test="not(translate(@defaultVDIFolder,'vdi','VDI')='VDI')">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </SystemProperties>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Machine settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * 1.4 => 1.5
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * all non-root elements that are not explicitly matched are copied as is
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()[../..]" mode="v1.5"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Global settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * Machine settings
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.5">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='unknown'">Other</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win31'">Windows31</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win95'">Windows95</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win98'">Windows98</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='winme'">WindowsMe</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='winnt4'">WindowsNT4</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win2k'">Windows2000</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='winxp'">WindowsXP</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win2k3'">Windows2003</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='winvista'">WindowsVista</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='win2k8'">Windows2008</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='os2warp3'">OS2Warp3</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='os2warp4'">OS2Warp4</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='os2warp45'">OS2Warp45</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='linux22'">Linux22</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='linux24'">Linux24</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='linux26'">Linux26</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='archlinux'">ArchLinux</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='debian'">Debian</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='opensuse'">OpenSUSE</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='fedoracore'">Fedora</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='gentoo'">Gentoo</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='mandriva'">Mandriva</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='redhat'">RedHat</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='ubuntu'">Ubuntu</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='xandros'">Xandros</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='freebsd'">FreeBSD</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='openbsd'">OpenBSD</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='netbsd'">NetBSD</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='netware'">Netware</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='solaris'">Solaris</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:when test="@OSType='opensolaris'">OpenSolaris</xsl:when>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*[name()!='OSType']" mode="v1.5"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:Hardware/vb:Display"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.5">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="monitorCount"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="accelerate3D"><xsl:value-of select="."/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine//vb:Hardware/vb:CPU"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync mode="v1.5">
67c73271505adae0686ddbc74eaeef778ef16792vboxsync <xsl:attribute name="count"><xsl:value-of select="vb:CPUCount/@count"/></xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="node()[not(self::vb:CPUCount)]" mode="v1.5"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<!-- @todo add lastStateChange with the current timestamp if missing.
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * current-dateTime() is available only in XPath 2.0 so we will need to pass
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync * the current time as a parameter to the XSLT processor. -->
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='Xo.Yo']/
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync vb:Machine"
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:if test="not(@lastStateChange)">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:attribute name="lastStateChange">
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:value-of select="current-dateTime()"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </xsl:attribute>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync <xsl:apply-templates select="@*|node()" mode="vX.Y"/>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync </xsl:copy>
ae41886ba231ade1b868dd32ff24ee49813ebbabvboxsync</xsl:template>