<?xml version='1.0' encoding='UTF-8'?>

<Properties version="4.1">
	<Property name="ErrorSuppression" type="Boolean">false</Property>
	<Property name="IsModuleTemplate" type="Boolean">false</Property>
	<Property name="xslt.base64Zipped">true</Property>
	<Property name="xslt.ignoreInput">true</Property>
	<Property name="xslt.params" type="List">
		<Property name="var.asset">var.asset</Property>
		<Property name="var.assetBeforeUpdate">var.assetBeforeUpdate</Property>
		<Property name="var.template">var.template</Property>
	</Property>
	<Property name="xslt.saveAtServer">true</Property>
	<Property name="xslt.source">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;errors/></Property>
	<Property name="xslt.sourceVariables" type="Map">
		<Property name="ISFileSize">2858</Property>
		<Property name="ISCurrentTime" type="Long">1677850689189</Property>
		<Property name="ISWorkflowName">VAM_am_028_updateAsset</Property>
		<Property name="ISModuleName">VAM_am_checkEditing</Property>
		<Property name="ISModuleId">638</Property>
		<Property name="ISProcessId">333116</Property>
		<Property name="ISUserName">VAM</Property>
		<Property name="ISServerName">dev04.virtimo.net</Property>
		<Property name="ISNodeName">100.78.0.66</Property>
		<Property name="ISGlobalProcessId">333116</Property>
		<Property name="ISOverwriteSubWorkflowPriority" type="Boolean">false</Property>
		<Property name="ISInvokingWorkflow">VAM_am_api_dispatching</Property>
		<Property name="ISInvokingModule">VAM_am_wfc_028_updateAsset</Property>
		<Property name="var.session" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;session>&lt;request>&lt;module/>&lt;context>asset&lt;/context>&lt;method>update&lt;/method>&lt;parameters>&lt;asset>&lt;version>&lt;childTemplates/>&lt;customId>xxxxx&lt;/customId>&lt;description/>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;value>5&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>decimal&lt;/key>&lt;value>3.1&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;value>&lt;items>&lt;item>kkkk&lt;/item>&lt;item>kkkk&lt;/item>&lt;item>kkkk&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;value>&lt;items>&lt;item>2&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;value>&lt;items/>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;a>l&lt;/a>&lt;b/>&lt;/row>&lt;row>&lt;a>yyy&lt;/a>&lt;b>x&lt;/b>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;u>Christian&lt;/u>&lt;w>Christiane&lt;/w>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;/versionedAttributes>&lt;/version>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;value>unicode&lt;/value>&lt;/attribute>&lt;/unversionedAttributes>&lt;id>24426&lt;/id>&lt;/asset>&lt;versionComment/>&lt;return>true&lt;/return>&lt;returnParameters>&lt;updatedOn>HEAD&lt;/updatedOn>&lt;withoutHiddenAttributes>true&lt;/withoutHiddenAttributes>&lt;other>PREVIOUS&lt;/other>&lt;/returnParameters>&lt;activationPolicy>true&lt;/activationPolicy>&lt;/parameters>&lt;startTimestamp>1677850687863&lt;/startTimestamp>&lt;/request>&lt;response/>&lt;configuration>&lt;api>&lt;database>&lt;type>postgresql&lt;/type>&lt;default>&lt;alertTimeout>20&lt;/alertTimeout>&lt;queryTimeout>60&lt;/queryTimeout>&lt;/default>&lt;/database>&lt;backend>&lt;bpc>&lt;hosts>&lt;item>&lt;key>dev04.virtimo.net:8191&lt;/key>&lt;url>http://localhost:8191/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>dev04.virtimo.net:38181&lt;/key>&lt;url>http://localhost:38181/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>bpc.virtimo.net&lt;/key>&lt;url>http://localhost:38181/cxf/bpc-core/authentication&lt;/url&gt;&lt;/item>&lt;item>&lt;key>dev07.virtimo.net:8181&lt;/key>&lt;url>http://dev07.virtimo.net:8181/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>mpm-dev.virtimo.net:8181&lt;/key>&lt;url>http://mpm-dev.virtimo.net:8181/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>dev03.virtimo.net:8181&lt;/key>&lt;url>http://dev03.virtimo.net:8181/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>dev03.virtimo.net:8181, localhost&lt;/key>&lt;url>http://dev03.virtimo.net:8181/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>dev01.virtimo.net:8181&lt;/key>&lt;url>https://dev01.virtimo.net:8282/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;item>&lt;key>dev01.virtimo.net:8181, localhost&lt;/key>&lt;url>https://dev01.virtimo.net:8282/cxf/bpc-core/authentication&lt;/url>&lt;/item>&lt;/hosts>&lt;/bpc>&lt;/backend>&lt;/api>&lt;am>&lt;validate>false&lt;/validate>&lt;/am>&lt;userGroupName>VAM&lt;/userGroupName>&lt;/configuration>&lt;user>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;loginName>bpcadmin&lt;/loginName>&lt;name>bpc admin&lt;/name>&lt;eMailAddress/>&lt;active>true&lt;/active>&lt;roles>&lt;role>OP&lt;/role>&lt;role>VAM_organization_redispatch&lt;/role>&lt;role>VAM_organization_RD-7777777770128&lt;/role>&lt;role>bpcuser&lt;/role>&lt;role>VAM_organization_RD-7777777770116&lt;/role>&lt;role>VAM_organization_RD-9876543210111&lt;/role>&lt;role>VAM_organization_RD-9876543210123&lt;/role>&lt;role>documents-administrator&lt;/role>&lt;role>VAM_organization_RD-6060404040401&lt;/role>&lt;role>collaboration-administrator&lt;/role>&lt;role>bpcadmin&lt;/role>&lt;role>VAM_organization_RD-4040404040401&lt;/role>&lt;role>ON&lt;/role>&lt;role>VAM-administrator&lt;/role>&lt;role>VAM-readonly-administrator&lt;/role>&lt;/roles>&lt;organizations>&lt;organization>&lt;id>cktest&lt;/id>&lt;displayName>cktest&lt;/displayName>&lt;name/>&lt;configuration>&lt;featureActiveVersionsDisabled>true&lt;/featureActiveVersionsDisabled>&lt;am>&lt;overviews>&lt;overview>&lt;canCreate>true&lt;/canCreate>&lt;canDelete>true&lt;/canDelete>&lt;type>grid&lt;/type>&lt;/overview>&lt;overview>&lt;singleTemplateMode>&lt;templateCustomId>LAND&lt;/templateCustomId>&lt;/singleTemplateMode>&lt;canCreate>true&lt;/canCreate>&lt;canDelete>true&lt;/canDelete>&lt;/overview>&lt;overview>&lt;singleTemplateMode>&lt;templateCustomId>PLANET&lt;/templateCustomId>&lt;/singleTemplateMode>&lt;canCreate>true&lt;/canCreate>&lt;canDelete>true&lt;/canDelete>&lt;/overview>&lt;overview>&lt;canCreate>true&lt;/canCreate>&lt;canDelete>true&lt;/canDelete>&lt;type>grid&lt;/type>&lt;singleTemplateMode>&lt;templateCustomId>GEMEINDE&lt;/templateCustomId>&lt;/singleTemplateMode>&lt;/overview>&lt;/overviews>&lt;/am>&lt;/configuration>&lt;active>true&lt;/active>&lt;/organization>&lt;/organizations>&lt;permissions>&lt;permission>&lt;context>organization&lt;/context>&lt;method>getConfiguration&lt;/method>&lt;/permission>&lt;permission>&lt;context>organization&lt;/context>&lt;method>setConfiguration&lt;/method>&lt;/permission>&lt;permission>&lt;context>organization&lt;/context>&lt;method>setName&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>create&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>update&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>delete&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>getActionAttributes&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>executeAction&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>get&lt;/method>&lt;/permission>&lt;permission>&lt;context>asset&lt;/context>&lt;method>query&lt;/method>&lt;/permission>&lt;permission>&lt;context>query&lt;/context>&lt;method>create&lt;/method>&lt;/permission>&lt;permission>&lt;context>query&lt;/context>&lt;method>update&lt;/method>&lt;/permission>&lt;permission>&lt;context>query&lt;/context>&lt;method>delete&lt;/method>&lt;/permission>&lt;permission>&lt;context>query&lt;/context>&lt;method>get&lt;/method>&lt;/permission>&lt;permission>&lt;context>query&lt;/context>&lt;method>query&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>create&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>update&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>delete&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>get&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>query&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>getActionAttributes&lt;/method>&lt;/permission>&lt;permission>&lt;context>template&lt;/context>&lt;method>executeAction&lt;/method>&lt;/permission>&lt;/permissions>&lt;locale>de&lt;/locale>&lt;language>de&lt;/language>&lt;country/>&lt;/user>&lt;/session></Property>
		<Property name="var.log" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;log>&lt;entries/>&lt;/log></Property>
		<Property name="var.request" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;body>&lt;versionComment/>&lt;return>true&lt;/return>&lt;returnParameters>&lt;updatedOn>HEAD&lt;/updatedOn>&lt;withoutHiddenAttributes>true&lt;/withoutHiddenAttributes>&lt;other>PREVIOUS&lt;/other>&lt;/returnParameters>&lt;activationPolicy>true&lt;/activationPolicy>&lt;asset>&lt;id>24426&lt;/id>&lt;version>&lt;childTemplates/>&lt;customId>xxxxx&lt;/customId>&lt;description/>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;value>5&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>decimal&lt;/key>&lt;value>3.1&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;value>&lt;items>&lt;item>kkkk&lt;/item>&lt;item>kkkk&lt;/item>&lt;item>kkkk&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;value>&lt;items>&lt;item>2&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;value>&lt;items/>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;a>l&lt;/a>&lt;b/>&lt;/row>&lt;row>&lt;a>yyy&lt;/a>&lt;b>x&lt;/b>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;u>Christian&lt;/u>&lt;w>Christiane&lt;/w>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;/versionedAttributes>&lt;/version>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;value>unicode&lt;/value>&lt;/attribute>&lt;/unversionedAttributes>&lt;/asset>&lt;/body></Property>
		<Property name="var.isNewVersion">true</Property>
		<Property name="demux.totalIterations" type="Integer">1</Property>
		<Property name="demux.iterator" type="Integer">1</Property>
		<Property name="var.id">24426</Property>
		<Property name="var.versionComment"></Property>
		<Property name="var.updateUnversionedOnly"></Property>
		<Property name="ISXMLValidatorError">false</Property>
		<Property name="ISXMLValidatorErrorString"></Property>
		<Property name="var.templateId">12</Property>
		<Property name="var.isActiveUpdate">true</Property>
		<Property name="var.furtherInformation" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;root>&lt;resultSet queryID="children"/>&lt;resultSet queryID="parentAssetQuantities"/>&lt;resultSet queryID="parentAssetMaxima"/>&lt;/root></Property>
		<Property name="var.templates" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;templates>&lt;template>&lt;id>12&lt;/id>&lt;customId>DIFF&lt;/customId>&lt;colorCode>&lt;xpath/>&lt;/colorCode>&lt;labels/>&lt;displayName>Template 12&lt;/displayName>&lt;actions/>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;type>number&lt;/type>&lt;displayName>number&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;key>decimal&lt;/key>&lt;type>number&lt;/type>&lt;displayName>decimal&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group2&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string2&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfString&lt;/displayName>&lt;attribute/>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfNumber&lt;/displayName>&lt;attribute>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfDecimal&lt;/displayName>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableNoUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>a&lt;/key>&lt;type>string&lt;/type>&lt;displayName>a&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>b&lt;/key>&lt;type>string&lt;/type>&lt;displayName>b&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;unique>true&lt;/unique>&lt;key>u&lt;/key>&lt;type>string&lt;/type>&lt;displayName>u&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>w&lt;/key>&lt;type>string&lt;/type>&lt;displayName>w&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/versionedAttributes>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;type>string&lt;/type>&lt;displayName>ustring&lt;/displayName>&lt;/attribute>&lt;/unversionedAttributes>&lt;createdOn>2023-03-03T13:27:33.203Z&lt;/createdOn>&lt;createdByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/createdByUser>&lt;lastUpdatedOn>2023-03-03T13:35:09.579Z&lt;/lastUpdatedOn>&lt;lastUpdatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/lastUpdatedByUser>&lt;use/>&lt;children>&lt;template>&lt;id>12&lt;/id>&lt;maximumQuantity>0&lt;/maximumQuantity>&lt;isTimeSeries>false&lt;/isTimeSeries>&lt;resolution>SEC&lt;/resolution>&lt;customId>DIFF&lt;/customId>&lt;displayName>Template 12&lt;/displayName>&lt;/template>&lt;/children>&lt;parents/>&lt;computedUse>&lt;read>&lt;role>VAM-administrator&lt;/role>&lt;/read>&lt;create>&lt;role>VAM-administrator&lt;/role>&lt;/create>&lt;update>&lt;role>VAM-administrator&lt;/role>&lt;/update>&lt;delete>&lt;role>VAM-administrator&lt;/role>&lt;/delete>&lt;executeAction>&lt;role>VAM-administrator&lt;/role>&lt;/executeAction>&lt;child/>&lt;/computedUse>&lt;/template>&lt;/templates></Property>
		<Property name="var.template" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;template>&lt;id>12&lt;/id>&lt;customId>DIFF&lt;/customId>&lt;colorCode>&lt;xpath/>&lt;/colorCode>&lt;labels/>&lt;displayName>Template 12&lt;/displayName>&lt;actions/>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;type>number&lt;/type>&lt;displayName>number&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;key>decimal&lt;/key>&lt;type>number&lt;/type>&lt;displayName>decimal&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group2&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string2&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfString&lt;/displayName>&lt;attribute/>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfNumber&lt;/displayName>&lt;attribute>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfDecimal&lt;/displayName>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableNoUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>a&lt;/key>&lt;type>string&lt;/type>&lt;displayName>a&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>b&lt;/key>&lt;type>string&lt;/type>&lt;displayName>b&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;unique>true&lt;/unique>&lt;key>u&lt;/key>&lt;type>string&lt;/type>&lt;displayName>u&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>w&lt;/key>&lt;type>string&lt;/type>&lt;displayName>w&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/versionedAttributes>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;type>string&lt;/type>&lt;displayName>ustring&lt;/displayName>&lt;/attribute>&lt;/unversionedAttributes>&lt;createdOn>2023-03-03T13:27:33.203Z&lt;/createdOn>&lt;createdByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/createdByUser>&lt;lastUpdatedOn>2023-03-03T13:35:09.579Z&lt;/lastUpdatedOn>&lt;lastUpdatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/lastUpdatedByUser>&lt;use/>&lt;children>&lt;template>&lt;id>12&lt;/id>&lt;maximumQuantity>0&lt;/maximumQuantity>&lt;isTimeSeries>false&lt;/isTimeSeries>&lt;resolution>SEC&lt;/resolution>&lt;customId>DIFF&lt;/customId>&lt;displayName>Template 12&lt;/displayName>&lt;/template>&lt;/children>&lt;parents/>&lt;computedUse>&lt;read>&lt;role>VAM-administrator&lt;/role>&lt;/read>&lt;create>&lt;role>VAM-administrator&lt;/role>&lt;/create>&lt;update>&lt;role>VAM-administrator&lt;/role>&lt;/update>&lt;delete>&lt;role>VAM-administrator&lt;/role>&lt;/delete>&lt;executeAction>&lt;role>VAM-administrator&lt;/role>&lt;/executeAction>&lt;child/>&lt;/computedUse>&lt;/template></Property>
		<Property name="var.asset" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;asset>&lt;id>24426&lt;/id>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;value>unicode&lt;/value>&lt;/attribute>&lt;/unversionedAttributes>&lt;version>&lt;customId>xxxxx&lt;/customId>&lt;description/>&lt;childTemplates/>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;value>5&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>decimal&lt;/key>&lt;value>3.1&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;value>abc&lt;/value>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;value>&lt;items>&lt;item>llll&lt;/item>&lt;item>kkkk&lt;/item>&lt;item>kkkk&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;value>&lt;items>&lt;item>2&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;value>&lt;items/>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;a>x&lt;/a>&lt;b/>&lt;/row>&lt;row>&lt;a>l&lt;/a>&lt;b/>&lt;/row>&lt;row>&lt;a>x&lt;/a>&lt;b>y&lt;/b>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique2&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;a>l&lt;/a>&lt;b/>&lt;/row>&lt;row>&lt;a>yyy&lt;/a>&lt;b>x&lt;/b>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;value>&lt;rows>&lt;row>&lt;u>Christian&lt;/u>&lt;w>Christiane&lt;/w>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;/versionedAttributes>&lt;/version>&lt;/asset></Property>
		<Property name="var.assetBeforeUpdate" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;asset>&lt;id>24426&lt;/id>&lt;colorCode>&lt;value/>&lt;/colorCode>&lt;displayName>xxxxx&lt;/displayName>&lt;version>&lt;customId>xxxxx&lt;/customId>&lt;description/>&lt;template>&lt;id>12&lt;/id>&lt;customId>DIFF&lt;/customId>&lt;displayName>Template 12&lt;/displayName>&lt;actions/>&lt;/template>&lt;versionedAttributes>&lt;attribute>&lt;key>string&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string&lt;/displayName>&lt;value>abc&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>number&lt;/key>&lt;type>number&lt;/type>&lt;displayName>number&lt;/displayName>&lt;value>5&lt;/value>&lt;/attribute>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;key>decimal&lt;/key>&lt;type>number&lt;/type>&lt;displayName>decimal&lt;/displayName>&lt;value>3.1&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>group&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>group2&lt;/key>&lt;type>group&lt;/type>&lt;displayName>group2&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>string2&lt;/key>&lt;type>string&lt;/type>&lt;displayName>string2&lt;/displayName>&lt;value>abc&lt;/value>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;/attributes>&lt;/attribute>&lt;attribute>&lt;key>listOfString&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfString&lt;/displayName>&lt;attribute/>&lt;value>&lt;items>&lt;item>kkkk&lt;/item>&lt;item>llll&lt;/item>&lt;item>kkkk&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfNumber&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfNumber&lt;/displayName>&lt;attribute>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;value>&lt;items>&lt;item>2&lt;/item>&lt;/items>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>listOfDecimal&lt;/key>&lt;type>list&lt;/type>&lt;displayName>listOfDecimal&lt;/displayName>&lt;attribute>&lt;decimalPlaces>2&lt;/decimalPlaces>&lt;type>number&lt;/type>&lt;displayName/>&lt;/attribute>&lt;value>&lt;items/>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableNoUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableNoUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;key>a&lt;/key>&lt;type>string&lt;/type>&lt;displayName>a&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>b&lt;/key>&lt;type>string&lt;/type>&lt;displayName>b&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;value>&lt;rows>&lt;row>&lt;a>x&lt;/a>&lt;b>y&lt;/b>&lt;/row>&lt;row>&lt;a>l&lt;/a>&lt;b/>&lt;/row>&lt;/rows>&lt;/value>&lt;/attribute>&lt;attribute>&lt;key>tableUnique&lt;/key>&lt;type>table&lt;/type>&lt;displayName>tableUnique&lt;/displayName>&lt;attributes>&lt;attribute>&lt;unique>true&lt;/unique>&lt;key>u&lt;/key>&lt;type>string&lt;/type>&lt;displayName>u&lt;/displayName>&lt;/attribute>&lt;attribute>&lt;key>w&lt;/key>&lt;type>string&lt;/type>&lt;displayName>w&lt;/displayName>&lt;/attribute>&lt;/attributes>&lt;value>&lt;rows/>&lt;/value>&lt;/attribute>&lt;/versionedAttributes>&lt;childTemplates>&lt;template>&lt;id>12&lt;/id>&lt;maximumQuantity>0&lt;/maximumQuantity>&lt;isTimeSeries>false&lt;/isTimeSeries>&lt;resolution>SEC&lt;/resolution>&lt;customId>DIFF&lt;/customId>&lt;displayName>Template 12&lt;/displayName>&lt;accessLevel>full&lt;/accessLevel>&lt;assets/>&lt;/template>&lt;/childTemplates>&lt;updatedOn>2023-03-03T13:37:19.877Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;activeVersion>2023-03-03T13:37:19.877Z&lt;/activeVersion>&lt;allVersions>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:30:08.839Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:30:37.343Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:31:17.927Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:31:49.855Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:32:31.085Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:33:00.182Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;version>&lt;versionComment/>&lt;updatedOn>2023-03-03T13:37:19.877Z&lt;/updatedOn>&lt;updatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/updatedByUser>&lt;/version>&lt;/allVersions>&lt;unversionedAttributes>&lt;attribute>&lt;key>ustring&lt;/key>&lt;type>string&lt;/type>&lt;displayName>ustring&lt;/displayName>&lt;value>unicode&lt;/value>&lt;/attribute>&lt;/unversionedAttributes>&lt;parentTemplates/>&lt;createdOn>2023-03-03T13:30:08.839Z&lt;/createdOn>&lt;createdByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/createdByUser>&lt;lastUpdatedOn>2023-03-03T13:37:19.877Z&lt;/lastUpdatedOn>&lt;lastUpdatedByUser>&lt;id>bpcadmin&lt;/id>&lt;displayName>bpc admin&lt;/displayName>&lt;/lastUpdatedByUser>&lt;/asset></Property>
		<Property name="var.editingOperation">update</Property>
	</Property>
	<Property name="xslt.stylesheet" type="XmlDocument">&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:local="local:local" exclude-result-prefixes="#all" version="2.0">&lt;xsl:output method="xml" encoding="UTF-8"/>&lt;xsl:key name="childAsset" match="/*/version/childTemplates/template/assets/asset" use="id"/>&lt;xsl:function name="local:isEmpty" as="xs:boolean">
    &lt;xsl:param name="var.s"/>
    &lt;xsl:sequence select="string-length($var.s) = 0"/>
  &lt;/xsl:function>&lt;xsl:function name="local:equalStrings" as="xs:boolean">
    &lt;xsl:param name="var.s1"/>
    &lt;xsl:param name="var.s2"/>
    &lt;xsl:sequence select="string($var.s1) = string($var.s2)"/>
  &lt;/xsl:function>&lt;xsl:function name="local:equalStringsOrNumbers" as="xs:boolean">
    &lt;xsl:param name="var.in1"/>
    &lt;xsl:param name="var.in2"/>
    &lt;xsl:choose>&lt;xsl:when test="$var.in1 castable as xs:decimal and $var.in2 castable as xs:decimal">&lt;xsl:sequence select="xs:decimal($var.in1) = xs:decimal($var.in2) "/>&lt;/xsl:when>&lt;xsl:otherwise>&lt;xsl:sequence select="local:equalStrings($var.in1, $var.in2)"/>&lt;/xsl:otherwise>&lt;/xsl:choose>
  &lt;/xsl:function>&lt;xsl:function name="local:equalSimpleAttribute" as="xs:boolean">&lt;xsl:param name="var.attribute" as="element()"/>
    &lt;xsl:param name="var.s1"/>
    &lt;xsl:param name="var.s2"/>
    &lt;xsl:sequence select="if ($var.attribute/type = 'number') then local:equalStringsOrNumbers($var.s1, $var.s2) else local:equalStrings($var.s1, $var.s2)"/>
  &lt;/xsl:function>&lt;xsl:function name="local:equalTableRow" as="xs:boolean">&lt;xsl:param name="var.attributes" as="element()*"/>
    &lt;xsl:param name="var.row1" as="element()"/>
    &lt;xsl:param name="var.row2" as="element()"/>
    &lt;xsl:sequence select="every $a in $var.attributes satisfies local:equalSimpleAttribute($a, $var.row1/*[name() = $a/key], $var.row2/*[name() = $a/key])"/>
  &lt;/xsl:function>
  &lt;xsl:param name="var.asset" as="element()"/>
  &lt;xsl:param name="var.assetBeforeUpdate" as="element()"/>
  &lt;xsl:param name="var.template" as="element()"/>
 &lt;xsl:template match="/">
    &lt;assetDiff>
      &lt;xsl:if test="not(local:equalStrings($var.asset/version/customId, $var.assetBeforeUpdate/version/customId))">
        &lt;difference>
          &lt;section>general&lt;/section>
          &lt;key>customId&lt;/key>
          &lt;type>
            &lt;xsl:choose>
              &lt;xsl:when test="local:isEmpty($var.assetBeforeUpdate/version/customId)">created&lt;/xsl:when>
              &lt;xsl:when test="local:isEmpty($var.asset/version/customId)">deleted&lt;/xsl:when>
              &lt;xsl:otherwise>updated&lt;/xsl:otherwise>
            &lt;/xsl:choose>
          &lt;/type>
          &lt;xpath>/version/customId/text()&lt;/xpath>
          &lt;oldValue>
            &lt;xsl:value-of select=" $var.assetBeforeUpdate/version/customId"/>
          &lt;/oldValue>
          &lt;newValue>&lt;xsl:value-of select="$var.asset/version/customId"/>&lt;/newValue>
        &lt;/difference>
      &lt;/xsl:if>
      &lt;xsl:if test="not(local:equalStrings($var.asset/version/description, $var.assetBeforeUpdate/version/description))">
        &lt;difference>
          &lt;section>general&lt;/section>
          &lt;key>description&lt;/key>
          &lt;type>
            &lt;xsl:choose>
              &lt;xsl:when test="local:isEmpty($var.assetBeforeUpdate/version/description)">created&lt;/xsl:when>
              &lt;xsl:when test="local:isEmpty($var.asset/version/description)">deleted&lt;/xsl:when>
              &lt;xsl:otherwise>updated&lt;/xsl:otherwise>
            &lt;/xsl:choose>
          &lt;/type>
          &lt;xpath>/version/description/text()&lt;/xpath>
          &lt;oldValue>
            &lt;xsl:value-of select=" $var.assetBeforeUpdate/version/description"/>
          &lt;/oldValue>
          &lt;newValue>
            &lt;xsl:value-of select="$var.asset/version/description"/>
          &lt;/newValue>
        &lt;/difference>
      &lt;/xsl:if>
      &lt;xsl:for-each select="$var.template/versionedAttributes/attribute">
        &lt;xsl:variable name="var.key" select="key"/>
        &lt;xsl:call-template name="attributeDiff">
          &lt;xsl:with-param select="&amp;quot;versionedAttributes&amp;quot;" name="section"/>
          &lt;xsl:with-param select="." name="var.templateAttribute"/>
          &lt;xsl:with-param select="$var.asset/version/versionedAttributes/attribute[key = $var.key]" name="newAsset_Attribute"/>
          &lt;xsl:with-param select="$var.assetBeforeUpdate/version/versionedAttributes/attribute[key = $var.key]" name="oldAsset_Attribute"/>
          &lt;xsl:with-param select="concat(&amp;quot;/version/versionedAttributes/attribute[key/text() = '&amp;quot;, $var.key, &amp;quot;']&amp;quot;)" name="prefixForLocalXPath"/>
          &lt;xsl:with-param select="&amp;quot;&amp;quot;" name="keyPath"/>
        &lt;/xsl:call-template>
      &lt;/xsl:for-each>&lt;xsl:for-each select="$var.template/unversionedAttributes/attribute">
        &lt;xsl:variable name="var.key" select="key"/>
        &lt;xsl:call-template name="attributeDiff">
          &lt;xsl:with-param select="&amp;quot;unversionedAttributes&amp;quot;" name="section"/>
          &lt;xsl:with-param select="." name="var.templateAttribute"/>
          &lt;xsl:with-param select="$var.asset/unversionedAttributes/attribute[key = $var.key]" name="newAsset_Attribute"/>
          &lt;xsl:with-param select="$var.assetBeforeUpdate/unversionedAttributes/attribute[key = $var.key]" name="oldAsset_Attribute"/>
          &lt;xsl:with-param select="concat(&amp;quot;/unversionedAttributes/attribute[key/text() = '&amp;quot;, $var.key, &amp;quot;']&amp;quot;)" name="prefixForLocalXPath"/>
          &lt;xsl:with-param select="&amp;quot;&amp;quot;" name="keyPath"/>
        &lt;/xsl:call-template>
      &lt;/xsl:for-each>

      &lt;xsl:for-each select="distinct-values(($var.asset/version/childTemplates/template/id, $var.assetBeforeUpdate/version/childTemplates/template/id))">
          &lt;xsl:variable select="." as="xs:string" name="var.childTemplateId"/>&lt;xsl:variable select="$var.assetBeforeUpdate/version/childTemplates/template[ id = $var.childTemplateId ]/assets/asset" as="element()*" name="var.oldGroup"/>&lt;xsl:variable select="$var.asset/version/childTemplates/template[ id = $var.childTemplateId ]/assets/asset" as="element()*" name="var.newGroup"/>&lt;xsl:variable name="var.isTimeSeries" select="$var.template/children/template[id = $var.childTemplateId ]/isTimeSeries" as="xs:boolean"/>
          &lt;xsl:for-each select="distinct-values(($var.oldGroup/id, $var.newGroup/id))">
            &lt;xsl:variable select="." as="xs:string" name="var.childAssetId"/>
            &lt;xsl:variable name="var.oldNode" as="element()*">&lt;xsl:for-each select="$var.assetBeforeUpdate">&lt;xsl:copy-of select="key('childAsset', $var.childAssetId)"/>&lt;/xsl:for-each>&lt;/xsl:variable>
            &lt;xsl:variable as="element()*" name="var.newNode">&lt;xsl:for-each select="$var.asset">&lt;xsl:copy-of select="key('childAsset', $var.childAssetId)"/>&lt;/xsl:for-each>&lt;/xsl:variable>
            &lt;xsl:choose>&lt;xsl:when test="not(exists($var.oldNode/*))">
                &lt;difference>
                  &lt;section>children&lt;/section>
                  &lt;key>
                    &lt;xsl:value-of select="$var.childAssetId"/>
                  &lt;/key>
                  &lt;type>created&lt;/type>
                  &lt;xpath>
                    &lt;xsl:value-of select="concat(&amp;quot;/version/childTemplates/template[id/text() = '&amp;quot;, $var.childTemplateId, &amp;quot;']/assets/asset[id/text() = '&amp;quot;, $var.childAssetId, &amp;quot;']&amp;quot;)"/>
                  &lt;/xpath>
                  &lt;oldValue/>
                  &lt;newValue>
                    &lt;xsl:copy-of select=" $var.newNode" copy-namespaces="no"/>
                  &lt;/newValue>
                &lt;/difference>
              &lt;/xsl:when>&lt;xsl:when test="not(exists($var.newNode/*)) ">
                &lt;difference>
                  &lt;section&gt;children&lt;/section>

                  &lt;key>
                    &lt;xsl:value-of select="$var.childAssetId"/>
                  &lt;/key>
                  &lt;type>deleted&lt;/type>
                  &lt;xpath>
                    &lt;xsl:value-of select="concat(&amp;quot;/version/childTemplates/template[id/text() = '&amp;quot;, $var.childTemplateId, &amp;quot;']/assets/asset[id/text() = '&amp;quot;, $var.childAssetId, &amp;quot;']&amp;quot;)"/>
                  &lt;/xpath>
                  &lt;oldValue>
                    &lt;xsl:copy-of select=" $var.oldNode" copy-namespaces="no"/>
                  &lt;/oldValue>
                  &lt;newValue/>
                &lt;/difference>
              &lt;/xsl:when>&lt;xsl:when test="$var.isTimeSeries">&lt;xsl:variable name="var.oldLink">&lt;xsl:value-of>&lt;xsl:for-each select="$var.oldNode">&lt;xsl:value-of select="concat(xs:dateTime(linkedFrom), '/', xs:dateTime(linkedTo), '|')"/>&lt;/xsl:for-each>&lt;/xsl:value-of>&lt;/xsl:variable>&lt;xsl:variable name="var.newLink">&lt;xsl:value-of>&lt;xsl:for-each select="$var.newNode">&lt;xsl:value-of select="concat(xs:dateTime(linkedFrom), '/', xs:dateTime(linkedTo), '|')"/>&lt;/xsl:for-each>&lt;/xsl:value-of>&lt;/xsl:variable>&lt;xsl:if test="$var.oldLink != $var.newLink">&lt;difference>
                  &lt;section>children&lt;/section>

                  &lt;key>
                    &lt;xsl:value-of select="$var.childAssetId"/>
                  &lt;/key>
                  &lt;type>changed&lt;/type>
                  &lt;xpath>
                    &lt;xsl:value-of select="concat(&amp;quot;/version/childTemplates/template[id/text() = '&amp;quot;, $var.childTemplateId, &amp;quot;']/assets/asset[id/text() = '&amp;quot;, $var.childAssetId, &amp;quot;']&amp;quot;)"/>
                  &lt;/xpath>
                  &lt;oldValue>
                    &lt;xsl:copy-of select=" $var.oldNode" copy-namespaces="no"/>
                  &lt;/oldValue>
                  &lt;newValue>&lt;xsl:copy-of select=" $var.newNode" copy-namespaces="no"/>&lt;/newValue>
                &lt;/difference>&lt;/xsl:if>&lt;/xsl:when>&lt;/xsl:choose>
          &lt;/xsl:for-each>
        &lt;/xsl:for-each>
    &lt;/assetDiff>
  &lt;/xsl:template>
  &lt;xsl:template name="attributeDiff">
    &lt;xsl:param name="section"/>
    &lt;xsl:param name="var.templateAttribute" select="*" as="element()?"/>
    &lt;xsl:param name="newAsset_Attribute" as="element()?"/>
    &lt;xsl:param name="oldAsset_Attribute" as="element()?"/>
    &lt;xsl:param name="prefixForLocalXPath"/>
    &lt;xsl:param name="keyPath"/>



    &lt;xsl:choose>
      &lt;xsl:when test="$var.templateAttribute/type = 'group'">
        &lt;xsl:for-each select="$var.templateAttribute/attributes/attribute">
          &lt;xsl:variable name="var.key" select="key"/>
          &lt;xsl:call-template name="attributeDiff">
            &lt;xsl:with-param select="$section" name="section"/>
            &lt;xsl:with-param select="." name="var.templateAttribute"/>
            &lt;xsl:with-param select="$newAsset_Attribute/attributes/attribute[key = $var.key]" name="newAsset_Attribute"/>
            &lt;xsl:with-param select="$oldAsset_Attribute/attributes/attribute[key = $var.key]" name="oldAsset_Attribute"/>
            &lt;xsl:with-param select="concat($prefixForLocalXPath, &amp;quot;/attributes/attribute[key/text() = '&amp;quot;, $var.key, &amp;quot;']&amp;quot;)" name="prefixForLocalXPath"/>
            &lt;xsl:with-param select="concat($keyPath, $var.templateAttribute/key, '.') " name="keyPath"/>
          &lt;/xsl:call-template>
        &lt;/xsl:for-each>
      &lt;/xsl:when>
      &lt;xsl:when test="$var.templateAttribute/type = 'list'">&lt;xsl:variable name="var.changes" as="element()*">&lt;xsl:for-each select="distinct-values(( $oldAsset_Attribute/value/items/item, $newAsset_Attribute/value/items/item ))  ">
          &lt;xsl:variable select="." as="xs:string" name="var.item"/>
          &lt;xsl:variable name="var.oldItems" as="element()*" select="$oldAsset_Attribute/value/items/item[local:equalSimpleAttribute($var.templateAttribute/attribute, ., $var.item)]"/>
          &lt;xsl:variable name="var.newItems" as="element()*" select="$newAsset_Attribute/value/items/item[local:equalSimpleAttribute($var.templateAttribute/attribute, ., $var.item)]"/>
          &lt;xsl:choose>
            &lt;xsl:when test="count($var.newItems) &amp;gt; count($var.oldItems)">
              &lt;difference>
                &lt;section>
                  &lt;xsl:value-of select="$section"/>
                &lt;/section>



                &lt;key>
                  &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                &lt;/key>
                &lt;type>created&lt;/type>
                &lt;xpath>
                  &lt;xsl:value-of select="concat($prefixForLocalXPath, &amp;quot;/value/items/item[text() = '&amp;quot;, $var.item, &amp;quot;'][position() &amp;gt; &amp;quot;, count($var.newItems)-(count($var.newItems)-count($var.oldItems)), &amp;quot;]&amp;quot;)"/>
                &lt;/xpath>
                &lt;oldValue/>
                &lt;newValue>
                  &lt;xsl:copy-of select=" $var.newItems[1]" copy-namespaces="no"/>
                &lt;/newValue>
              &lt;/difference>
            &lt;/xsl:when>
            &lt;!--### item with current "key" existing fewer times in new asset => was deleted-->
            &lt;xsl:when test="count($var.newItems) &amp;lt; count($var.oldItems)">
              &lt;difference>
                &lt;section>
                  &lt;xsl:value-of select="$section"/>
                &lt;/section>
                
                

                &lt;key>
                  &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                &lt;/key>
                &lt;type>deleted&lt;/type>
                &lt;xpath>
                  &lt;xsl:value-of select="concat($prefixForLocalXPath, &amp;quot;/value/items/item[text() = '&amp;quot;, $var.item, &amp;quot;'][position() &amp;gt; &amp;quot;, count($var.oldItems)-(count($var.oldItems)-count($var.newItems)), &amp;quot;]&amp;quot;)"/>
                &lt;/xpath>
                &lt;oldValue>
                  &lt;xsl:copy-of select=" $var.oldItems[1]" copy-namespaces="no"/>
                &lt;/oldValue>
                &lt;newValue/>
              &lt;/difference>
            &lt;/xsl:when>

            
          &lt;/xsl:choose>
        &lt;/xsl:for-each>&lt;/xsl:variable>&lt;xsl:sequence select="$var.changes"/>&lt;xsl:if test="not(exists($var.changes))">&lt;xsl:variable name="var.changes2" as="element()*">&lt;xsl:choose>&lt;xsl:when test="count($oldAsset_Attribute/value/items/item) != count($newAsset_Attribute/value/items/item)">&lt;change/>&lt;/xsl:when>&lt;xsl:otherwise>&lt;xsl:for-each select="$oldAsset_Attribute/value/items/item">&lt;xsl:variable name="var.position" select="position()"/>&lt;xsl:if test="not(local:equalSimpleAttribute($var.templateAttribute/attribute, ., $newAsset_Attribute/value/items/item[position() = $var.position]))">&lt;change>
                



                
                
                
                
                
              &lt;/change>&lt;/xsl:if>&lt;/xsl:for-each>&lt;/xsl:otherwise>&lt;/xsl:choose>&lt;/xsl:variable>&lt;xsl:if test="exists($var.changes2)">&lt;difference>
                &lt;section>
                  &lt;xsl:value-of select="$section"/>
                &lt;/section>



                &lt;key>
                  &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                &lt;/key>
                &lt;type>modified&lt;/type>
                &lt;xpath>
                  &lt;xsl:value-of select="concat($prefixForLocalXPath, &amp;quot;/value&amp;quot;)"/>
                &lt;/xpath>
                
                
              &lt;/difference>&lt;/xsl:if>&lt;/xsl:if>
        

      &lt;/xsl:when>

      &lt;xsl:when test="$var.templateAttribute/type = 'table'">&lt;xsl:variable name="var.changes" as="element()*">&lt;xsl:choose>&lt;xsl:when test="exists($var.templateAttribute[attributes/attribute/unique = 'true'])">
            
            &lt;xsl:variable name="var.uniqueColumn" select="$var.templateAttribute/attributes/attribute[unique = 'true']" as="element()"/>
            &lt;!--### process for updated and deleted records-->
            &lt;xsl:for-each select="$oldAsset_Attribute/value/rows/row">&lt;xsl:variable name="var.oldRow" as="element()" select=".">

                &lt;/xsl:variable>
              &lt;xsl:variable name="var.uniqueValue" select="*[name() = $var.uniqueColumn/key]"/>&lt;xsl:variable name="var.match" select="($newAsset_Attribute/value/rows/row[local:equalSimpleAttribute($var.uniqueColumn, *[name() = $var.uniqueColumn/key], $var.uniqueValue)])[1]" as="element()?">&lt;!--[1] nur bei nachträglichem Hinzufügen von unique relevant-->&lt;/xsl:variable>
              &lt;!--### potential update - where old asset row is also found in new asset record-->&lt;xsl:choose>&lt;xsl:when test="exists($var.match)">
                
                
                &lt;xsl:if test="not(local:equalTableRow($var.templateAttribute/attributes/attribute, ., $var.match))">&lt;difference>&lt;section>versionedAttributes&lt;/section>&lt;xsl:for-each select="$var.templateAttribute/attributes/attribute">&lt;xsl:variable name="var.columnKey" select="key"/>&lt;xsl:if test="not(local:equalSimpleAttribute(., $var.oldRow/*[name() = $var.columnKey], $var.match/*[name() = $var.columnKey]))">&lt;field>&lt;xsl:copy-of select="."/>&lt;/field>&lt;/xsl:if>&lt;/xsl:for-each>&lt;key>
                    &lt;xsl:value-of select="concat($var.templateAttribute/key, &amp;quot;.&amp;quot;, $var.uniqueValue)"/>
                  &lt;/key>&lt;type>updated&lt;/type>&lt;xpath>
                    &lt;xsl:value-of select="concat($prefixForLocalXPath, '/value/rows/row[', $var.uniqueColumn/key, ' = ''', $var.uniqueValue, ''']')"/>
                  &lt;/xpath>&lt;oldValue>
                    &lt;xsl:copy-of select="."/>
                  &lt;/oldValue>&lt;newValue>
                    &lt;xsl:copy-of select="$var.match"/>
                  &lt;/newValue>&lt;/difference>&lt;/xsl:if>

              &lt;/xsl:when>&lt;xsl:otherwise>&lt;difference>
                  &lt;section>versionedAttributes&lt;/section>

                  &lt;key>
                    &lt;xsl:value-of select="concat($var.templateAttribute/key, &amp;quot;.&amp;quot;, $var.uniqueValue)"/>
                  &lt;/key>
                  &lt;type>deleted&lt;/type>
                  &lt;xpath>
                    &lt;xsl:value-of select="concat($prefixForLocalXPath, '/value/rows/row[', $var.uniqueColumn, ' = ''', $var.uniqueValue, ''']')"/>
                  &lt;/xpath>
                  &lt;oldValue>
                    &lt;xsl:copy-of select="."/>
                  &lt;/oldValue>
                  &lt;newValue/>
                &lt;/difference>&lt;/xsl:otherwise>&lt;/xsl:choose>
              
              
              
            &lt;/xsl:for-each>
            &lt;!--### process for insertion of records-->
            &lt;xsl:for-each select="$newAsset_Attribute/value/rows/row">
              &lt;xsl:variable name="var.uniqueValue" select="*[name() = $var.uniqueColumn/key]"/>
              &lt;!--insert - where new asset record is not found in old asset record-->
              &lt;xsl:if test="not(exists($oldAsset_Attribute/value/rows/row[local:equalSimpleAttribute($var.uniqueColumn, *[name() = $var.uniqueColumn/key], $var.uniqueValue)]))">
                &lt;difference>
                  &lt;section>versionedAttributes&lt;/section>

                  &lt;key>
                    &lt;xsl:value-of select="concat($var.templateAttribute/key, &amp;quot;.&amp;quot;, $var.uniqueValue)"/>
                  &lt;/key>
                  &lt;type>created&lt;/type>
                  &lt;xpath>
                    &lt;xsl:value-of select="concat($prefixForLocalXPath, '/value/rows/row[', $var.uniqueColumn, ' = ''', $var.uniqueValue, ''']')"/>
                  &lt;/xpath>
                  &lt;oldValue/>
                  &lt;newValue>
                    &lt;xsl:copy-of select="."/>
                  &lt;/newValue>
                &lt;/difference>
              &lt;/xsl:if>
            &lt;/xsl:for-each>
          &lt;/xsl:when>&lt;xsl:otherwise>

            


            &lt;xsl:for-each select="($oldAsset_Attribute/value/rows/row, $newAsset_Attribute/value/rows/row)">
              &lt;xsl:variable select="." as="element()" name="var.row"/>&lt;xsl:variable select="concat(&amp;quot;/value/rows/row&amp;quot;, &amp;quot;[&amp;quot;, string-join(for $key in ($var.templateAttribute/attributes/attribute/key) return concat($key, &amp;quot;/text() = '&amp;quot;, $var.row/*[name() = $key], &amp;quot;'&amp;quot;)           , &amp;quot; and &amp;quot;),      &amp;quot;]&amp;quot; )" as="xs:string" name="XPathCorrespondingTovar.row"/>


              &lt;xsl:choose>
                &lt;xsl:when test="not(exists($oldAsset_Attribute/value/rows/row[local:equalTableRow($var.templateAttribute/attributes/attribute, ., $var.row)]))">&lt;difference>
                    &lt;section>
                      &lt;xsl:value-of select="$section"/>
                    &lt;/section>

                    &lt;key>
                      &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                    &lt;/key>
                    &lt;type>created&lt;/type>
                    &lt;xpath>
                      &lt;xsl:value-of select="concat($prefixForLocalXPath, $XPathCorrespondingTovar.row)"/>
                    &lt;/xpath>
                    &lt;oldValue/>
                    &lt;newValue>
                      &lt;xsl:copy-of select=" $var.row" copy-namespaces="no"/>
                    &lt;/newValue>
                  &lt;/difference>

                &lt;/xsl:when>

                
                &lt;xsl:when test="not(exists($newAsset_Attribute/value/rows/row[local:equalTableRow($var.templateAttribute/attributes/attribute, ., $var.row)]))">
                  &lt;difference>
                    &lt;section>
                      &lt;xsl:value-of select="$section"/>
                    &lt;/section>

                    &lt;key>
                      &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                    &lt;/key>
                    &lt;type>deleted&lt;/type>
                    &lt;xpath>
                      &lt;xsl:value-of select="concat($prefixForLocalXPath, $XPathCorrespondingTovar.row)"/>
                    &lt;/xpath>
                    &lt;oldValue>
                      &lt;xsl:copy-of select=" $var.row" copy-namespaces="no"/>
                    &lt;/oldValue>
                    &lt;newValue/>
                  &lt;/difference>
                &lt;/xsl:when>
                
                
              &lt;/xsl:choose>



            &lt;/xsl:for-each>

          &lt;/xsl:otherwise>&lt;/xsl:choose>&lt;/xsl:variable>&lt;xsl:sequence select="$var.changes"/>&lt;xsl:if test="not(exists($var.changes))">&lt;xsl:variable name="var.changes2" as="element()*">&lt;xsl:choose>&lt;xsl:when test="count($oldAsset_Attribute/value/rows/row) != count($newAsset_Attribute/value/rows/row)">&lt;change/>&lt;/xsl:when>&lt;xsl:otherwise>&lt;xsl:for-each select="$oldAsset_Attribute/value/rows/row">&lt;xsl:variable name="var.position" select="position()"/>&lt;xsl:if test="not(local:equalTableRow($var.templateAttribute/attributes/attribute, ., $newAsset_Attribute/value/rows/row[position() = $var.position]))">&lt;change>&lt;xsl:value-of select="position()"/>&lt;/change>&lt;/xsl:if>&lt;/xsl:for-each>&lt;/xsl:otherwise>&lt;/xsl:choose>&lt;/xsl:variable>&lt;xsl:if test="exists($var.changes2)">&lt;difference>
                &lt;section>
                  &lt;xsl:value-of select="$section"/>
                &lt;/section>



                &lt;key>
                  &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
                &lt;/key>
                &lt;type>modified&lt;/type>
                &lt;xpath>
                  &lt;xsl:value-of select="concat($prefixForLocalXPath, &amp;quot;/value&amp;quot;)"/>
                &lt;/xpath>
                
                
              &lt;/difference>&lt;/xsl:if>&lt;/xsl:if>

        
      &lt;/xsl:when>&lt;xsl:when test="not(local:equalSimpleAttribute($var.templateAttribute, $oldAsset_Attribute/value, $newAsset_Attribute/value))">
          &lt;difference>
            &lt;section>
              &lt;xsl:value-of select="$section"/>
            &lt;/section>

            &lt;key>
              &lt;xsl:value-of select="concat($keyPath, $var.templateAttribute/key)"/>
            &lt;/key>
            &lt;type>
              &lt;xsl:choose>
                &lt;xsl:when test="local:isEmpty(string-join($oldAsset_Attribute/value, ''))">created&lt;/xsl:when>
                &lt;xsl:when test="local:isEmpty(string-join($newAsset_Attribute/value, ''))">deleted&lt;/xsl:when>
                &lt;xsl:otherwise>updated&lt;/xsl:otherwise>
              &lt;/xsl:choose>
            &lt;/type>
            &lt;xpath>
              &lt;xsl:value-of select="concat($prefixForLocalXPath, &amp;quot;/value/text()&amp;quot;)"/>
            &lt;/xpath>
            &lt;oldValue>
              &lt;xsl:value-of select=" $oldAsset_Attribute/value"/>
            &lt;/oldValue>
            &lt;newValue>
              &lt;xsl:value-of select=" $newAsset_Attribute/value"/>
            &lt;/newValue>
          &lt;/difference>
        &lt;/xsl:when>
    &lt;/xsl:choose>
  &lt;/xsl:template>
&lt;/xsl:stylesheet></Property>
	<Property name="xslt.target"></Property>
	<Property name="xslt.transformer">net.sf.saxon.TransformerFactoryImpl</Property>
</Properties>