Views:
Following are examples of one way to address typical changes to a package.
Adding new properties
This example adds two properties, one (snmp_version) with a default value and one (snmp_engine_id) with no value.
<migrate fromVersion=”2”><![CDATA[
	<xsl:template match=”values”>
		<values>
			<xsl:apply-templates/>
			<value name=”snmp_version”>2</value>
			<value name=”snmp_engine_id”/>
		</values>
	</xsl:template>
]]></migrate>
Removing properties
This example removes the property old_property_name.
<migrate fromVersion=”2”><![CDATA[
	<xsl:template match=”values/value[@name=’old_property_name’]”/>
]]></migrate>
Renaming properties
This example renames the property old_property_name to new_property_name while retaining the currently specified value.
<migrate fromVersion=”2”><![CDATA[
	<xsl:template match=”values/value[@name=’old_property_name’]”>
		<value name=”new_property_name”><xsl:value-of select=”.”/></value>
	</xsl:template>
]]></migrate>
Converting values
This example converts the value of property_name.
<migrate fromVersion=”2”><![CDATA[
	<xsl:template match=”values/value[@name=’property_name’]”>
		<xsl:if test=”. = ‘MD5’”>
			<value name=”property_name”>HMAC-MD5</value>
		</xsl:if>
		<xsl:if test=”. = ‘SHA-1’”>
			<value name=”property_name”>HMAC-SHA</value>
		</xsl:if>
	</xsl:template>
]]></migrate>