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>