further optimized converter.

NOTE: Corresponding Entries for IfcGroup, IfcSystem etc. in Mapping Table need to be corrected.
parent 206bebd1
......@@ -101,7 +101,7 @@
<SimFlowController_Valve_Default RefId="ID0LMbjl8XfFaui1YxJs_D1L"><simcore:SimModelName>EnEff_ThermostaticValve:DN15:908065</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups></SimFlowController_Valve_Default>
<SimFlowController_Valve_Default RefId="ID0LMbjl8XfFaui1YxJs_D6B"><simcore:SimModelName>EnEff_Valve:Standard:908031</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups></SimFlowController_Valve_Default>
<SimFlowController_Valve_Default RefId="ID0LMbjl8XfFaui1YxJs_D1t"><simcore:SimModelName>EnEff_Valve:Standard:908035</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups></SimFlowController_Valve_Default>
<SimFlowEnergyTransfer_ConvectiveHeater_Radiant_Water RefId="ID0LMbjl8XfFaui1YxJs_D1K"><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups></SimFlowEnergyTransfer_ConvectiveHeater_Radiant_Water>
<SimFlowEnergyTransfer_ConvectiveHeater_Radiant_Water RefId="ID0LMbjl8XfFaui1YxJs_D1K"><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 ID0LMbjl8XfFaui1YxJs_D11 ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd ID2ZBTbFXf0mACYyGlm4STd </simcore:AssignedToGroups></SimFlowEnergyTransfer_ConvectiveHeater_Radiant_Water>
<SimFlowEnergyTransferStorage_HotWaterTank_Mixed RefId="ID0LMbjl8XfFaui1YxJs_D1u"><simcore:SimModelName>EnEff_Vessel:ND 25:908044</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups></SimFlowEnergyTransferStorage_HotWaterTank_Mixed>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1I"><simcore:SimModelName>EnEff_PipeFittingBend:Standard:908070</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups></SimFlowFitting_Default_Default>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1O"><simcore:SimModelName>EnEff_PipeFittingBend:Standard:908076</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups></SimFlowFitting_Default_Default>
......@@ -112,7 +112,7 @@
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1Z"><simcore:SimModelName>EnEff_PipeFittingBend:Standard:908055</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups></SimFlowFitting_Default_Default>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1j"><simcore:SimModelName>EnEff_PipeFittingBend:Standard:908057</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups></SimFlowFitting_Default_Default>
<SimFlowFitting_Default_Default RefId="ID1tDPbdBSHCbuhhpltlQZsB"><simcore:SimModelName>EnEff_PipeFittingBend:Standard:1104309</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups></SimFlowFitting_Default_Default>
<SimFlowMover_Pump_VariableSpeedReturn RefId="ID0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simcore:SimModelType>Pump</simcore:SimModelType><simcore:SimModelSubtype>ConstantSpeedReturn</simcore:SimModelSubtype><simcore:SimModelSubtype>VariableSpeedReturn</simcore:SimModelSubtype><simcore:SimModelName>EnEff_Pump:Standard:908032</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups><simmep:SimFlowMover_Name>EnEff_Pump:Standard:908032</simmep:SimFlowMover_Name><simmep:SimFlowMover_MotorEff>0.9</simmep:SimFlowMover_MotorEff><simmep:SimFlowMover_MinFlowRate>0.02</simmep:SimFlowMover_MinFlowRate><simmep:SimFlowMover_RatedFlowRate>0.02</simmep:SimFlowMover_RatedFlowRate><simmep:SimFlowMover_RatedPumpHead>544.13</simmep:SimFlowMover_RatedPumpHead><simmep:SimFlowMover_FracMotorInEffToFluidStream>0</simmep:SimFlowMover_FracMotorInEffToFluidStream><simmep:SimFlowMover_Coef1OfThePartLoadPerfCurve>0.78</simmep:SimFlowMover_Coef1OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef2OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef2OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef3OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef3OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef4OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef4OfThePartLoadPerfCurve><simmep:SimFlowMover_PumpContType>OnOff</simmep:SimFlowMover_PumpContType><simmep:SimFlowMover_PumprpmSchedName>ID_prv01_0LMbjl8XfFaui1YxJs_D1q</simmep:SimFlowMover_PumprpmSchedName></SimFlowMover_Pump_VariableSpeedReturn>
<SimFlowMover_Pump_VariableSpeedReturn RefId="ID0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simcore:SimModelType>Pump</simcore:SimModelType><simcore:SimModelSubtype>VariableSpeedReturn</simcore:SimModelSubtype><simcore:SimModelName>EnEff_Pump:Standard:908032</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups><simmep:SimFlowMover_Name>EnEff_Pump:Standard:908032</simmep:SimFlowMover_Name><simmep:SimFlowMover_MotorEff>0.9</simmep:SimFlowMover_MotorEff><simmep:SimFlowMover_MinFlowRate>0.02</simmep:SimFlowMover_MinFlowRate><simmep:SimFlowMover_RatedFlowRate>0.02</simmep:SimFlowMover_RatedFlowRate><simmep:SimFlowMover_RatedPumpHead>544.13</simmep:SimFlowMover_RatedPumpHead><simmep:SimFlowMover_FracMotorInEffToFluidStream>0</simmep:SimFlowMover_FracMotorInEffToFluidStream><simmep:SimFlowMover_Coef1OfThePartLoadPerfCurve>0.78</simmep:SimFlowMover_Coef1OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef2OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef2OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef3OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef3OfThePartLoadPerfCurve><simmep:SimFlowMover_Coef4OfThePartLoadPerfCurve>0</simmep:SimFlowMover_Coef4OfThePartLoadPerfCurve><simmep:SimFlowMover_PumpContType>OnOff</simmep:SimFlowMover_PumpContType><simmep:SimFlowMover_PumprpmSchedName>ID_prv01_0LMbjl8XfFaui1YxJs_D1q</simmep:SimFlowMover_PumprpmSchedName></SimFlowMover_Pump_VariableSpeedReturn>
<SimFlowPlant_Boiler_BoilerHotWater RefId="ID0LMbjl8XfFaui1YxJs_D66"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D66</simcore:SimUniqueID><simcore:SimModelType>Boiler</simcore:SimModelType><simcore:SimModelName>EnEff_Boiler:Standard:908018</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups><simmep:SimFlowPlant_Name>EnEff_Boiler:Standard:908018</simmep:SimFlowPlant_Name><simmep:SimFlowPlant_FuelType>NaturalGas</simmep:SimFlowPlant_FuelType><simmep:SimFlowPlant_NomCap>215005.058334194</simmep:SimFlowPlant_NomCap><simmep:SimFlowPlant_NomThermalEff>846.85</simmep:SimFlowPlant_NomThermalEff><simmep:SimFlowPlant_DesignWaterOutletTemp>70</simmep:SimFlowPlant_DesignWaterOutletTemp><simmep:SimFlowPlant_DesignWaterFlowRate>0.00706293334429772</simmep:SimFlowPlant_DesignWaterFlowRate><simmep:SimFlowPlant_MinPartLoadRatio>1</simmep:SimFlowPlant_MinPartLoadRatio><simmep:SimFlowPlant_MaxPartLoadRatio>0</simmep:SimFlowPlant_MaxPartLoadRatio><simmep:SimFlowPlant_OptimumPartLoadRatio>0.9</simmep:SimFlowPlant_OptimumPartLoadRatio><simmep:SimFlowPlant_WaterOutletUpTempLimit>383.15</simmep:SimFlowPlant_WaterOutletUpTempLimit><simmep:SimFlowPlant_BoilerFlowMode>Variable</simmep:SimFlowPlant_BoilerFlowMode></SimFlowPlant_Boiler_BoilerHotWater>
<SimFlowSegment_Pipe_Indoor RefId="ID0LMbjl8XfFaui1YxJs_D67"><simcore:SimModelName>Rohrtypen:Kupfer - Hartgelötet:908019</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups><simmep:SimFlowSeg_PipesideDiam>14</simmep:SimFlowSeg_PipesideDiam></SimFlowSegment_Pipe_Indoor>
<SimFlowSegment_Pipe_Indoor RefId="ID0LMbjl8XfFaui1YxJs_D63"><simcore:SimModelName>Rohrtypen:Kupfer - Hartgelötet:908023</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups><simmep:SimFlowSeg_PipesideDiam>14</simmep:SimFlowSeg_PipesideDiam></SimFlowSegment_Pipe_Indoor>
......@@ -129,12 +129,13 @@
<SimFlowSegment_Pipe_Indoor RefId="ID0LMbjl8XfFaui1YxJs_D1G"><simcore:SimModelName>Rohrtypen:Kupfer - Hartgelötet:908068</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D10 </simcore:AssignedToGroups><simmep:SimFlowSeg_PipesideDiam>14</simmep:SimFlowSeg_PipesideDiam></SimFlowSegment_Pipe_Indoor>
<SimFlowSegment_Pipe_Indoor RefId="ID0LMbjl8XfFaui1YxJs_D1S"><simcore:SimModelName>Rohrtypen:Kupfer - Hartgelötet:908072</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups><simmep:SimFlowSeg_PipesideDiam>14</simmep:SimFlowSeg_PipesideDiam></SimFlowSegment_Pipe_Indoor>
<SimFlowSegment_Pipe_Indoor RefId="ID0LMbjl8XfFaui1YxJs_D1U"><simcore:SimModelName>Rohrtypen:Kupfer - Hartgelötet:908074</simcore:SimModelName><simcore:AssignedToGroups>ID0LMbjl8XfFaui1YxJs_D11 </simcore:AssignedToGroups><simmep:SimFlowSeg_PipesideDiam>14</simmep:SimFlowSeg_PipesideDiam></SimFlowSegment_Pipe_Indoor>
<SimSpace_Occupied_Default RefId="ID2ZBTbFXf0mACYyGlm4STy"><simcore:SimModelType>Occupied</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>00.01</simcore:SimModelName><simbldg:SpaceZoneAssignments>ID2ZBTbFXf0mACYyGlm4STs </simbldg:SpaceZoneAssignments></SimSpace_Occupied_Default>
<SimSpace_Occupied_Default RefId="ID2ihFYl6O5D2gWs_3Zjewya"><simcore:SimModelType>Occupied</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>00.01</simcore:SimModelName><simbldg:SpaceZoneAssignments>ID2ZBTbFXf0mACYyGlm4STs </simbldg:SpaceZoneAssignments></SimSpace_Occupied_Default>
<SimSpatialZone_ThermalZone_Default RefId="ID2ZBTbFXf0mACYyGlm4STs"><simcore:SimModelType>ThermalZone</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>1C:1123516</simcore:SimModelName></SimSpatialZone_ThermalZone_Default>
<SimSystem_HvacHotWater_Demand RefId="ID0LMbjl8XfFaui1YxJs_D11"><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Rücklauf 2</simcore:SimModelName><simbldg:ParentSystem></simbldg:ParentSystem></SimSystem_HvacHotWater_Demand>
<SimSystem_HvacHotWater_FullSystem RefId="ID0LMbjl8XfFaui1YxJs_D11"><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Full_System</simcore:SimModelName><simbldg:ParentSystem></simbldg:ParentSystem></SimSystem_HvacHotWater_FullSystem>
<SimSystem_HvacHotWater_Supply RefId="ID0LMbjl8XfFaui1YxJs_D10"><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Vorlauf 2</simcore:SimModelName><simbldg:ParentSystem></simbldg:ParentSystem></SimSystem_HvacHotWater_Supply>
<SimList_EquipmentList_ZoneHvac RefId="ID2ZBTbFXf0mACYyGlm4STd"><simcore:SimUniqueID>2ZBTbFX$f0mACYyGlm4STd</simcore:SimUniqueID><simcore:SimModelType>EquipmentList</simcore:SimModelType><simcore:SimModelSubtype>ZoneHvac</simcore:SimModelSubtype><simcore:SimModelName>ZoneList1</simcore:SimModelName><simcore:ParentGroups>ID2ZBTbFXf0mACYyGlm4STs</simcore:ParentGroups><simbldg:SimList_ZoneEqmt_1_18_Name>ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K ID0LMbjl8XfFaui1YxJs_D1K </simbldg:SimList_ZoneEqmt_1_18_Name></SimList_EquipmentList_ZoneHvac>
<SimSpace_Occupied_Default RefId="ID2ZBTbFXf0mACYyGlm4STy"><simcore:SimUniqueID>2ZBTbFX$f0mACYyGlm4STy</simcore:SimUniqueID><simcore:SimModelType>Occupied</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>00.01</simcore:SimModelName><simbldg:SpaceZoneAssignments>ID2ZBTbFXf0mACYyGlm4STs </simbldg:SpaceZoneAssignments></SimSpace_Occupied_Default>
<SimSpace_Occupied_Default RefId="ID2ihFYl6O5D2gWs_3Zjewya"><simcore:SimUniqueID>2ihFYl6O5D2gWs_3Zjewya</simcore:SimUniqueID><simcore:SimModelType>Occupied</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>00.01</simcore:SimModelName><simbldg:SpaceZoneAssignments/></SimSpace_Occupied_Default>
<SimSpatialZone_ThermalZone_Default RefId="ID2ZBTbFXf0mACYyGlm4STs"><simcore:SimUniqueID>2ZBTbFX$f0mACYyGlm4STs</simcore:SimUniqueID><simcore:SimModelType>ThermalZone</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>1C:1123516</simcore:SimModelName></SimSpatialZone_ThermalZone_Default>
<SimSystem_HvacHotWater_Demand RefId="ID0LMbjl8XfFaui1YxJs_D11"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D11</simcore:SimUniqueID><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Rücklauf 2</simcore:SimModelName><simbldg:ParentSystem>ID0LMbjl8XfFaui1YxJs_D11</simbldg:ParentSystem></SimSystem_HvacHotWater_Demand>
<SimSystem_HvacHotWater_FullSystem RefId="ID0LMbjl8XfFaui1YxJs_D11"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D11</simcore:SimUniqueID><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Full_System</simcore:SimModelName><simbldg:ParentSystem/></SimSystem_HvacHotWater_FullSystem>
<SimSystem_HvacHotWater_Supply RefId="ID0LMbjl8XfFaui1YxJs_D10"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D10</simcore:SimUniqueID><simcore:SimModelType>HvacHotWater</simcore:SimModelType><simcore:SimModelSubtype>FullSystem</simcore:SimModelSubtype><simcore:SimModelSubtype>Demand</simcore:SimModelSubtype><simcore:SimModelSubtype>Supply</simcore:SimModelSubtype><simcore:SimModelName>H_Vorlauf 2</simcore:SimModelName><simbldg:ParentSystem>ID0LMbjl8XfFaui1YxJs_D11</simbldg:ParentSystem></SimSystem_HvacHotWater_Supply>
<SimTimeSeriesSchedule_Day_Interval RefId="ID_prv03_0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>_prv03_0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simres:SimTimeSeriesSched_Time_1_144><simcore:stringItem>Until: 24:00</simcore:stringItem></simres:SimTimeSeriesSched_Time_1_144><simres:SimTimeSeriesSched_ValUntilTime_1_144>1 </simres:SimTimeSeriesSched_ValUntilTime_1_144></SimTimeSeriesSchedule_Day_Interval>
<SimTimeSeriesSchedule_Week_Daily RefId="ID_prv02_0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>_prv02_0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simres:SimTimeSeriesSched_CustomDay_1_2_SchedDayName>ID_prv03_0LMbjl8XfFaui1YxJs_D1q</simres:SimTimeSeriesSched_CustomDay_1_2_SchedDayName></SimTimeSeriesSchedule_Week_Daily>
<SimTimeSeriesSchedule_Year_Default RefId="ID_prv01_0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>_prv01_0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simcore:SimModelType>Year</simcore:SimModelType><simcore:SimModelSubtype>Default</simcore:SimModelSubtype><simcore:SimModelName>RotationSpeed</simcore:SimModelName><simres:SimTimeSeriesSched_Name>RotationSpeed</simres:SimTimeSeriesSched_Name><simres:SimTimeSeriesSched_Sched_WeekName_1_53>ID_prv02_0LMbjl8XfFaui1YxJs_D1q</simres:SimTimeSeriesSched_Sched_WeekName_1_53><simres:SimTimeSeriesSched_StartMonth_1_53>01</simres:SimTimeSeriesSched_StartMonth_1_53><simres:SimTimeSeriesSched_StartDay_1_53>01</simres:SimTimeSeriesSched_StartDay_1_53><simres:SimTimeSeriesSched_EndMonth_1_53>12</simres:SimTimeSeriesSched_EndMonth_1_53><simres:SimTimeSeriesSched_EndDay_1_53>31</simres:SimTimeSeriesSched_EndDay_1_53></SimTimeSeriesSchedule_Year_Default>
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) GenerateTargetElement.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="GenerateTargetElement"> <xsl:param name="KeyPool"/> <xsl:param name="simelemname"/> <xsl:param name="unsortedtargetcontent"/> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:element name="{$simelemname}"> <xsl:attribute name="RefId"><xsl:call-template name="TargetValueFormatConditions"><xsl:with-param name="sourcename"><xsl:value-of select="'GlobalId'"/></xsl:with-param><xsl:with-param name="sourcevalue"><xsl:value-of select="@GlobalId"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:call-template name="IterateAlongSequenceOrder"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="CurrentSimElementName" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$unsortedtargetcontent"/> </xsl:call-template> </xsl:element> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:param name="KeyPool"/> <xsl:param name="preEvaluation"/> <xsl:variable name="elementId" select="@GlobalId"/> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:variable name="PropertySetsByType"> <xsl:call-template name="IfcType"> </xsl:call-template> </xsl:variable> <xsl:variable name="PropertySetsByRelDefBy"> <xsl:call-template name="ResolveIfcRelDefinesByProperties"> </xsl:call-template> <xsl:if test="current()/IsDefinedBy"> <xsl:for-each select="current()/IsDefinedBy/IfcRelDefinesByProperties/RelatingPropertyDefinition"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:variable> <xsl:variable name="ConcatedPsetCollections"> <xsl:call-template name="DuplicateFilterSourceObjectPropertyCollectionMerge"> <xsl:with-param name="firstCollection" select="$PropertySetsByRelDefBy"/> <xsl:with-param name="secondCollection" select="$PropertySetsByType"/> </xsl:call-template> </xsl:variable> <xsl:for-each select="msxsl:node-set($ConcatedPsetCollections)/*"> <xsl:call-template name="IfcPropertySet"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> </xsl:for-each> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="MergeTargetElementContentCollections"> <xsl:param name="generictargetcontent"/> <xsl:param name="resolvedfromproperties"/> <xsl:for-each select="msxsl:node-set($generictargetcontent)/node()"> <xsl:variable name="psetitem" select="local-name()"/> <xsl:variable name="check_pset_pregem"> <xsl:for-each select="msxsl:node-set($resolvedfromproperties)/node()"> <xsl:if test="local-name() = $psetitem"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="$check_pset_pregem != ''"> <xsl:copy-of select="$check_pset_pregem"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="current()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="filterAllElementContents"> <xsl:param name="input"/> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="not(starts-with(local-name(), 'eeBIMc_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv01_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv02_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv03_FLAG_'))"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template name="filterAllOtherContents"> <xsl:param name="input"/> <xsl:param name="token"/> <xsl:variable name="filter"> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="starts-with(local-name(), $token)"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="msxsl:node-set($filter)/node()"> <xsl:copy-of select="$filter"/> </xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="FillSceleton"> <xsl:param name="taggedTargetContent"/> <xsl:param name="prefixToken"/> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:variable name="designatedElementTargetName"> <xsl:value-of select="substring-before(text(), ' ' )"/> </xsl:variable> <xsl:choose> <xsl:when test="contains(name(), 'eeBIMc_FLAG_SimDummy')"> <xsl:element name="{normalize-space($designatedElementTargetName)}"> <xsl:attribute name="RefId"><xsl:value-of select="normalize-space(substring-after(text(), ' ' ))"/></xsl:attribute> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:if test="not(contains(name(), 'SimDummy')) and normalize-space(substring-after(local-name(),$prefixToken)) != '' and substring-before(text(), ' ') != ''"> <xsl:element name="{normalize-space(substring-before(text(), ' '))}"> <xsl:value-of select="substring-after(text(), ' ')"/> </xsl:element> </xsl:if> </xsl:for-each> </xsl:element> </xsl:when> <xsl:when test="contains(name(), 'SimDummy')"> <xsl:element name="{normalize-space($designatedElementTargetName)}"> <xsl:attribute name="RefId"><xsl:value-of select="normalize-space(substring-after(text(), ' ' ))"/></xsl:attribute> <xsl:variable name="content"> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:if test="not(contains(name(), 'SimDummy')) and normalize-space(substring-after(local-name(),$prefixToken)) != '' and substring-before(text(), ' ') != ''"> <xsl:variable name="simelemname" select="normalize-space(substring-before(text(), ' '))"/> <xsl:element name="{$simelemname}"> <xsl:choose> <xsl:when test="contains(substring-after(text(), ' '),'__')"> <xsl:call-template name="resolve_valtype_val_list"> <xsl:with-param name="list" select="substring-after(text(), ' ')"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after(text(), ' ')"/> </xsl:otherwise> </xsl:choose> </xsl:element> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:call-template name="IterateAlongSequenceOrder"> <xsl:with-param name="CurrentSimElementName" select="$designatedElementTargetName"/> <xsl:with-param name="unsortedtargetcontent" select="$content"/> </xsl:call-template> </xsl:element> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="resolve_valtype_val_list"> <xsl:param name="list"/> <xsl:choose> <xsl:when test="not(contains(substring-after(substring-after($list,'__'),'__'),'__'))"> <xsl:element name="{substring-before(substring-after($list,'__'),'__')}"> <xsl:value-of select="substring-after(substring-after($list,'__'),'__')"/> </xsl:element> </xsl:when> <xsl:when test="contains(substring-after(substring-after($list,'__'),'__'),'__')"> <xsl:element name="{substring-before(substring-after($list,'__'),'__')}"> <xsl:value-of select="substring-before(substring-after(substring-after($list,'__'),'__'),'__')"/> </xsl:element> <xsl:call-template name="resolve_valtype_val_list"> <xsl:with-param name="list" select="substring-after(substring-after($list,'__'),'__')"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) GenerateTargetElement.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="GenerateTargetElement"> <xsl:param name="KeyPool"/> <xsl:param name="simelemname"/> <xsl:param name="unsortedtargetcontent"/> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:element name="{$simelemname}"> <xsl:attribute name="RefId"><xsl:call-template name="TargetValueFormatConditions"><xsl:with-param name="sourcename"><xsl:value-of select="'GlobalId'"/></xsl:with-param><xsl:with-param name="sourcevalue"><xsl:value-of select="@GlobalId"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:call-template name="IterateAlongSequenceOrder"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="CurrentSimElementName" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$unsortedtargetcontent"/> </xsl:call-template> </xsl:element> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:param name="KeyPool"/> <xsl:param name="preEvaluation"/> <xsl:variable name="elementId" select="@GlobalId"/> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:variable name="PropertySetsByType"> <xsl:call-template name="IfcType"> </xsl:call-template> </xsl:variable> <xsl:variable name="PropertySetsByRelDefBy"> <xsl:call-template name="ResolveIfcRelDefinesByProperties"> </xsl:call-template> <xsl:if test="current()/IsDefinedBy"> <xsl:for-each select="current()/IsDefinedBy/IfcRelDefinesByProperties/RelatingPropertyDefinition"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:variable> <xsl:variable name="ConcatedPsetCollections"> <xsl:call-template name="DuplicateFilterSourceObjectPropertyCollectionMerge"> <xsl:with-param name="firstCollection" select="$PropertySetsByRelDefBy"/> <xsl:with-param name="secondCollection" select="$PropertySetsByType"/> </xsl:call-template> </xsl:variable> <xsl:for-each select="msxsl:node-set($ConcatedPsetCollections)/*"> <xsl:call-template name="IfcPropertySet"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> </xsl:for-each> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="MergeTargetElementContentCollections"> <xsl:param name="generictargetcontent"/> <xsl:param name="resolvedfromproperties"/> <xsl:for-each select="msxsl:node-set($generictargetcontent)/node()"> <xsl:variable name="psetitem" select="local-name()"/> <xsl:variable name="check_pset_pregem"> <xsl:for-each select="msxsl:node-set($resolvedfromproperties)/node()"> <xsl:if test="local-name() = $psetitem"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="$check_pset_pregem != ''"> <xsl:copy-of select="$check_pset_pregem"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="current()"/> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="filterAllElementContents"> <xsl:param name="input"/> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="not(starts-with(local-name(), 'eeBIMc_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv01_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv02_FLAG_')) or not(starts-with(local-name(), 'eeBIMprv03_FLAG_'))"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template name="filterAllOtherContents"> <xsl:param name="input"/> <xsl:param name="token"/> <xsl:variable name="filter"> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="starts-with(local-name(), $token)"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="msxsl:node-set($filter)/node()"> <xsl:copy-of select="$filter"/> </xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="FillSceleton"> <xsl:param name="taggedTargetContent"/> <xsl:param name="prefixToken"/> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:variable name="designatedElementTargetName"> <xsl:value-of select="substring-before(text(), ' ' )"/> </xsl:variable> <xsl:choose> <xsl:when test="contains(name(), 'eeBIMc_FLAG_SimDummy')"> <xsl:element name="{normalize-space($designatedElementTargetName)}"> <xsl:attribute name="RefId"><xsl:value-of select="normalize-space(substring-after(text(), ' ' ))"/></xsl:attribute> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:if test="not(contains(name(), 'SimDummy')) and normalize-space(substring-after(local-name(),$prefixToken)) != '' and substring-before(text(), ' ') != ''"> <xsl:element name="{normalize-space(substring-before(text(), ' '))}"> <xsl:value-of select="substring-after(text(), ' ')"/> </xsl:element> </xsl:if> </xsl:for-each> </xsl:element> </xsl:when> <xsl:when test="contains(name(), 'SimDummy')"> <xsl:element name="{normalize-space($designatedElementTargetName)}"> <xsl:attribute name="RefId"><xsl:value-of select="normalize-space(substring-after(text(), ' ' ))"/></xsl:attribute> <xsl:variable name="content"> <xsl:for-each select="msxsl:node-set($taggedTargetContent)/node()"> <xsl:if test="not(contains(name(), 'SimDummy')) and normalize-space(substring-after(local-name(),$prefixToken)) != '' and substring-before(text(), ' ') != ''"> <xsl:variable name="simelemname" select="normalize-space(substring-before(text(), ' '))"/> <xsl:element name="{$simelemname}"> <xsl:choose> <xsl:when test="contains(substring-after(text(), ' '),'__')"> <xsl:call-template name="resolve_valtype_val_list"> <xsl:with-param name="list" select="substring-after(text(), ' ')"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after(text(), ' ')"/> </xsl:otherwise> </xsl:choose> </xsl:element> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:call-template name="IterateAlongSequenceOrder"> <xsl:with-param name="CurrentSimElementName" select="$designatedElementTargetName"/> <xsl:with-param name="unsortedtargetcontent" select="$content"/> </xsl:call-template> </xsl:element> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="resolve_valtype_val_list"> <xsl:param name="list"/> <xsl:choose> <xsl:when test="not(contains(substring-after(substring-after($list,'__'),'__'),'__'))"> <xsl:element name="{substring-before(substring-after($list,'__'),'__')}"> <xsl:value-of select="substring-after(substring-after($list,'__'),'__')"/> </xsl:element> </xsl:when> <xsl:when test="contains(substring-after(substring-after($list,'__'),'__'),'__')"> <xsl:element name="{substring-before(substring-after($list,'__'),'__')}"> <xsl:value-of select="substring-before(substring-after(substring-after($list,'__'),'__'),'__')"/> </xsl:element> <xsl:call-template name="resolve_valtype_val_list"> <xsl:with-param name="list" select="substring-after(substring-after($list,'__'),'__')"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcActor.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcActor"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcActor.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcActor"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBoiler.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBoiler"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBoiler.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBoiler"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuilding.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuilding" name="GetIfcBuilding" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template match="ifc:IfcBuilding"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuilding.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuilding" name="GetIfcBuilding" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template match="ifc:IfcBuilding"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuildingStorey.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuildingStorey" name="GetIfcBuildingStorey" mode="traverse"> <xsl:choose> <xsl:when test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()/@ref | current()/@href"> <xsl:variable name="refid" select="current()/@ref | current()/@href"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcBuildingStorey"> <xsl:if test="current()[contains(@id,$refid)]"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="ifc:IfcBuildingStorey"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuildingStorey.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuildingStorey" name="GetIfcBuildingStorey" mode="traverse"> <xsl:choose> <xsl:when test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()/@ref | current()/@href"> <xsl:variable name="refid" select="current()/@ref | current()/@href"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcBuildingStorey"> <xsl:if test="current()[contains(@id,$refid)]"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/node()"> <xsl:apply-templates select="current()" mode="traverse"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="ifc:IfcBuildingStorey"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuildingSystem.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuildingSystem"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcBuildingSystem.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcBuildingSystem"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcController.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcController" match="ifc:IfcController" mode="experimental"> <SimController_SupplyWater_Temperature RefId="ID877"> <simcore:SimUniqueID>ef8214c0-7b34-45cf-a4f5-b4a0473ccf13</simcore:SimUniqueID> <simcore:SimModelType>SupplyWater</simcore:SimModelType> <simcore:SimModelSubtype>Temperature</simcore:SimModelSubtype> <simcore:SimModelName>WTS-1</simcore:SimModelName> <simcore:SourceModelSchema>Simergy v1.9.0.20090</simcore:SourceModelSchema> <simcore:SourceModelObjectType>SIM:SimController</simcore:SourceModelObjectType> <simcore:IsTemplateObject>false</simcore:IsTemplateObject> <simcore:AssignedToGroups>ID851</simcore:AssignedToGroups> <simcore:Tag>WTS-1</simcore:Tag> <simcore:SelectedPropertyGroups> <simcore:stringItem>Controller:WaterTemperature</simcore:stringItem> </simcore:SelectedPropertyGroups> <simmep:SimCntrl_ControllerScheme_1>ID833</simmep:SimCntrl_ControllerScheme_1> </SimController_SupplyWater_Temperature> </xsl:template> <xsl:template name="tryAssembleTargetController"> <xsl:param name="input"/> <xsl:variable name="filterAllControllerContents"> <xsl:call-template name="filterAllOtherContents"> <xsl:with-param name="input" select="$input"/> <xsl:with-param name="token" select="'eeBIMc_FLAG_'"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$filterAllControllerContents != 'FALSE'"> <xsl:call-template name="FillSceleton"> <xsl:with-param name="taggedTargetContent" select="$filterAllControllerContents"/> <xsl:with-param name="prefixToken" select="'eeBIMc_FLAG_'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> FALSE </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcController.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcController" match="ifc:IfcController" mode="experimental"> <SimController_SupplyWater_Temperature RefId="ID877"> <simcore:SimUniqueID>ef8214c0-7b34-45cf-a4f5-b4a0473ccf13</simcore:SimUniqueID> <simcore:SimModelType>SupplyWater</simcore:SimModelType> <simcore:SimModelSubtype>Temperature</simcore:SimModelSubtype> <simcore:SimModelName>WTS-1</simcore:SimModelName> <simcore:SourceModelSchema>Simergy v1.9.0.20090</simcore:SourceModelSchema> <simcore:SourceModelObjectType>SIM:SimController</simcore:SourceModelObjectType> <simcore:IsTemplateObject>false</simcore:IsTemplateObject> <simcore:AssignedToGroups>ID851</simcore:AssignedToGroups> <simcore:Tag>WTS-1</simcore:Tag> <simcore:SelectedPropertyGroups> <simcore:stringItem>Controller:WaterTemperature</simcore:stringItem> </simcore:SelectedPropertyGroups> <simmep:SimCntrl_ControllerScheme_1>ID833</simmep:SimCntrl_ControllerScheme_1> </SimController_SupplyWater_Temperature> </xsl:template> <xsl:template name="tryAssembleTargetController"> <xsl:param name="input"/> <xsl:variable name="filterAllControllerContents"> <xsl:call-template name="filterAllOtherContents"> <xsl:with-param name="input" select="$input"/> <xsl:with-param name="token" select="'eeBIMc_FLAG_'"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$filterAllControllerContents != 'FALSE'"> <xsl:call-template name="FillSceleton"> <xsl:with-param name="taggedTargetContent" select="$filterAllControllerContents"/> <xsl:with-param name="prefixToken" select="'eeBIMc_FLAG_'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> FALSE </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcDistributionPort.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcDistributionPort"> <xsl:param name="KeyPool"/> <xsl:param name="parentElement"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcDistributionPort.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcDistributionPort"> <xsl:param name="KeyPool"/> <xsl:param name="parentElement"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcDistributionSystem.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcDistributionSystem" match="ifc:IfcDistributionSystem | ifc:RelatingGroup[@xsi:type]"> <xsl:param name="KeyPool"/> <xsl:choose> <xsl:when test="local-name() = 'IfcDistributionSystem'"> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$KeyPool != '' and @GlobalId !=''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:when> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcDistributionSystem.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcDistributionSystem" match="ifc:IfcDistributionSystem | ifc:RelatingGroup[@xsi:type]"> <xsl:param name="KeyPool"/> <xsl:choose> <xsl:when test="local-name() = 'IfcDistributionSystem'"> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$KeyPool != '' and @GlobalId !=''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:when> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcGroup.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcGroup"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != '' and @GlobalId != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcGroup.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcGroup"> <xsl:param name="KeyPool"/> <xsl:param name="parentElement"/> <xsl:if test="$KeyPool != '' and @GlobalId != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcHelper.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:variable name="sourceobjects"> <xsl:for-each select="/ifc:ifcXML/ifc:IfcProject"> <xsl:if test="current()/ifc:IsDecomposedBy | current()/ifc:Declares"> <xsl:call-template name="IfcProject"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:variable name="rootchildren"> <xsl:for-each select="/ifc:ifcXML/node()"> <xsl:if test="not(contains(name(), 'IfcProject'))"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:variable name="allsourceobjects"> <xsl:copy-of select="$sourceobjects"/> <xsl:copy-of select="$rootchildren"/> </xsl:variable> <xsl:template name="IterateAllSourceObjects"> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:variable name="currentElem" select="current()"/> <xsl:choose> <xsl:when test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcGroup[@GlobalId]"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcGroup[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:for-each> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:when> <xsl:when test="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort[@GlobalId]"> <xsl:for-each select="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> <xsl:with-param name="parentElement" select="$currentElem"/> </xsl:call-template> </xsl:if> </xsl:for-each> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:when test="current()/ifc:RelatedObjects/ifc:IfcDistributionPort | current()/ifc:RelatingGroup"> <xsl:for-each select="current()/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="'ifc:IfcDistributionPort'"/> <xsl:with-param name="parentElement" select="$currentElem"/> </xsl:call-template> </xsl:if> </xsl:for-each> <xsl:if test="current()/ifc:RelatingGroup[@GlobalId]"> <xsl:for-each select="current()/ifc:RelatingGroup"> <xsl:variable name="typename" select="@xsi:type"/> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="normalize-space($typename)"/> <xsl:with-param name="parentElement" select="'whoami'"/> </xsl:call-template> </xsl:for-each> </xsl:if> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="TargetValueFormatConditions"> <xsl:param name="sourcename"/> <xsl:param name="sourcevalue"/> <xsl:param name="targetname"/> <xsl:variable name="addedvalue"> <xsl:if test="$sourcename = 'GlobalId'"> <xsl:value-of select="concat('ID',$sourcevalue)"/> </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="not(contains($targetname,'UniqueID'))"> <xsl:call-template name="remove"> <xsl:with-param name="input"> <xsl:value-of select="$addedvalue"/> </xsl:with-param> <xsl:with-param name="removal" select="'$'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$addedvalue"/> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcHelper.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:variable name="sourceobjects"> <xsl:for-each select="/ifc:ifcXML/ifc:IfcProject"> <xsl:if test="current()/ifc:IsDecomposedBy | current()/ifc:Declares"> <xsl:call-template name="IfcProject"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:variable name="rootchildren"> <xsl:for-each select="/ifc:ifcXML/node()"> <xsl:if test="not(contains(name(), 'IfcProject'))"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:variable name="allsourceobjects"> <xsl:copy-of select="$sourceobjects"/> <xsl:copy-of select="$rootchildren"/> </xsl:variable> <xsl:template name="IterateAllSourceObjects"> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:variable name="currentElem" select="current()"/> <xsl:choose> <xsl:when test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcGroup[@GlobalId]"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcGroup[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> <xsl:with-param name="parentElement" select="$currentElem"/> </xsl:call-template> </xsl:for-each> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:when> <xsl:when test="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort[@GlobalId]"> <xsl:for-each select="current()/ifc:IsNestedBy/ifc:IfcRelNests/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> <xsl:with-param name="parentElement" select="$currentElem"/> </xsl:call-template> </xsl:if> </xsl:for-each> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:when test="current()/ifc:RelatedObjects/ifc:IfcDistributionPort | current()/ifc:RelatingGroup"> <xsl:for-each select="current()/ifc:RelatedObjects/ifc:IfcDistributionPort"> <xsl:if test="current()[@GlobalId]"> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="'ifc:IfcDistributionPort'"/> <xsl:with-param name="parentElement" select="$currentElem"/> </xsl:call-template> </xsl:if> </xsl:for-each> <xsl:if test="current()/ifc:RelatingGroup[@GlobalId]"> <xsl:for-each select="current()/ifc:RelatingGroup"> <xsl:variable name="typename" select="@xsi:type"/> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="normalize-space($typename)"/> <xsl:with-param name="parentElement" select="'whoami'"/> </xsl:call-template> </xsl:for-each> </xsl:if> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="local-name() = 'IfcSystem' and not(current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects)"> <xsl:variable name="idval" select="@id"/> <xsl:variable name="parentSystem"> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="local-name() = 'IfcSystem' and @GlobalId and current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/*[@href = $idval]"> <xsl:value-of select="./@GlobalId"/> </xsl:if> </xsl:for-each> </xsl:variable> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> <xsl:with-param name="parentElement" select="$parentSystem"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="KeyPoolHelper"> <xsl:with-param name="currentElement" select="name()"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="TargetValueFormatConditions"> <xsl:param name="sourcename"/> <xsl:param name="sourcevalue"/> <xsl:param name="targetname"/> <xsl:variable name="addedvalue"> <xsl:if test="$sourcename = 'GlobalId'"> <xsl:value-of select="concat('ID',$sourcevalue)"/> </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="not(contains($targetname,'UniqueID'))"> <xsl:call-template name="remove"> <xsl:with-param name="input"> <xsl:value-of select="$addedvalue"/> </xsl:with-param> <xsl:with-param name="removal" select="'$'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$addedvalue"/> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcOccupant.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcOccupant"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcOccupant.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcOccupant"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPipeFitting.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPipeFitting" name="IfcPipeFitting"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPipeFitting.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPipeFitting" name="IfcPipeFitting"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPipeSegment.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPipeSegment"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPipeSegment.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPipeSegment"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcProject.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcProject" match="ifc:IfcProject" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:Declares"> <xsl:for-each select="current()/ifc:Declares/node()"> <xsl:call-template name="IfcRelDeclares"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcSite"> <xsl:call-template name="IfcSite"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="IfcRelDeclares"> <xsl:for-each select="current()/ifc:RelatedDefinitions/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:template> <xsl:template match="ifc:IfcProject"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcProject.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcProject" match="ifc:IfcProject" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:Declares"> <xsl:for-each select="current()/ifc:Declares/node()"> <xsl:call-template name="IfcRelDeclares"/> </xsl:for-each> </xsl:if> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:for-each select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects/ifc:IfcSite"> <xsl:call-template name="IfcSite"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template name="IfcRelDeclares"> <xsl:for-each select="current()/ifc:RelatedDefinitions/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:template> <xsl:template match="ifc:IfcProject"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPump.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPump"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcPump.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcPump"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcRelConnectsPorts.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcRelConnectsPorts"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> <xsl:variable name="relatingPort" select="current()/ifc:RelatingPort/@ref | current()/ifc:RelatingPort/@href"/> <xsl:variable name="relatedPort" select="current()/ifc:RelatedPort/@ref | current()/ifc:RelatedPort/@href"/> <xsl:if test="$relatingPort != ''"> <simres:SourcePort> <xsl:variable name="args" select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcDistributionPort[@id = $relatingPort and not(@GlobalId=following::ifc:IfcDistributionPort/@GlobalId)]"/> <xsl:for-each select="msxsl:node-set($args)"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="'GlobalId'"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="current()/@GlobalId"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="'simres:SourcePort'"/> </xsl:with-param> </xsl:call-template> </xsl:for-each> </simres:SourcePort> </xsl:if> <xsl:if test="$relatedPort != ''"> <simres:TargetPort> <xsl:variable name="args" select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcDistributionPort[@id = $relatedPort and not(@GlobalId=following::ifc:IfcDistributionPort/@GlobalId)]"/> <xsl:for-each select="msxsl:node-set($args)"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="'GlobalId'"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="current()/@GlobalId"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="'simres:TargetPort'"/> </xsl:with-param> </xsl:call-template> </xsl:for-each> </simres:TargetPort> </xsl:if> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcRelConnectsPorts.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcRelConnectsPorts"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> <xsl:variable name="relatingPort" select="current()/ifc:RelatingPort/@ref | current()/ifc:RelatingPort/@href"/> <xsl:variable name="relatedPort" select="current()/ifc:RelatedPort/@ref | current()/ifc:RelatedPort/@href"/> <xsl:if test="$relatingPort != ''"> <simres:SourcePort> <xsl:variable name="args" select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcDistributionPort[@id = $relatingPort and not(@GlobalId=following::ifc:IfcDistributionPort/@GlobalId)]"/> <xsl:for-each select="msxsl:node-set($args)"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="'GlobalId'"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="current()/@GlobalId"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="'simres:SourcePort'"/> </xsl:with-param> </xsl:call-template> </xsl:for-each> </simres:SourcePort> </xsl:if> <xsl:if test="$relatedPort != ''"> <simres:TargetPort> <xsl:variable name="args" select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcDistributionPort[@id = $relatedPort and not(@GlobalId=following::ifc:IfcDistributionPort/@GlobalId)]"/> <xsl:for-each select="msxsl:node-set($args)"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="'GlobalId'"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="current()/@GlobalId"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="'simres:TargetPort'"/> </xsl:with-param> </xsl:call-template> </xsl:for-each> </simres:TargetPort> </xsl:if> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSite.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSite" name="IfcSite" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:variable name="SiteRelatedObjects" select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"/> <xsl:for-each select="$SiteRelatedObjects/ifc:IfcBuilding"> <xsl:call-template name="GetIfcBuilding"> </xsl:call-template> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template match="ifc:IfcSite"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSite.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSite" name="IfcSite" mode="traverse"> <xsl:if test="current()[@GlobalId]"> <xsl:for-each select="."> <xsl:if test="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects != ''"> <xsl:variable name="SiteRelatedObjects" select="current()/ifc:IsDecomposedBy/ifc:IfcRelAggregates/ifc:RelatedObjects"/> <xsl:for-each select="$SiteRelatedObjects/ifc:IfcBuilding"> <xsl:call-template name="GetIfcBuilding"> </xsl:call-template> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template> <xsl:template match="ifc:IfcSite"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="'name'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSpace.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSpace" name="IfcSpace" mode="traverse"> <xsl:choose> <xsl:when test="current()/@GlobalId"> <xsl:copy-of select="current()"/> <xsl:for-each select="."> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()/@ref | current()/@href"> <xsl:variable name="refid" select="current()/@ref | current()/@href"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcSpace"> <xsl:if test="current()[contains(@id,$refid)]"> <xsl:if test="current()[@GlobalId]"> <xsl:copy-of select="current()"/> <xsl:for-each select="."> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="ifc:IfcSpace"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="local-name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSpace.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSpace" name="IfcSpace" mode="traverse"> <xsl:choose> <xsl:when test="current()/@GlobalId"> <xsl:copy-of select="current()"/> <xsl:for-each select="."> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()/@ref | current()/@href"> <xsl:variable name="refid" select="current()/@ref | current()/@href"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcSpace"> <xsl:if test="current()[contains(@id,$refid)]"> <xsl:if test="current()[@GlobalId]"> <xsl:copy-of select="current()"/> <xsl:for-each select="."> <xsl:if test="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements"> <xsl:for-each select="current()/ifc:ContainsElements/ifc:IfcRelContainedInSpatialStructure/ifc:RelatedElements/node()"> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="ifc:IfcSpace"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="local-name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSpaceHeater.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSpaceHeater"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSpaceHeater.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcSpaceHeater"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSystem.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcSystem" match="ifc:IfcSystem | ifc:RelatingGroup[@xsi:type = 'IfcSystem']"> <xsl:param name="KeyPool"/> <xsl:choose> <xsl:when test="local-name() = 'IfcSystem'"> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$KeyPool != '' and @GlobalId !=''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:when> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcSystem.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcSystem" match="ifc:IfcSystem | ifc:RelatingGroup[@xsi:type = 'IfcSystem']"> <xsl:param name="KeyPool"/> <xsl:param name="parentElement"/> <xsl:choose> <xsl:when test="local-name() = 'IfcSystem'"> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$KeyPool != '' and @GlobalId !=''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcTank.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcTank"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcTank.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcTank"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcType.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.buildingsmart-tech.org/ifcXML/IFC4/final ../../../../../../EnEffBIM_UseCases/IFCSchema/IFC4_ADD1.xsd" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcType"> <xsl:param name="returnTypeObject"/> <xsl:for-each select="."> <xsl:variable name="resolveType"> <xsl:call-template name="ResolveIfcRelDefinesByType"> </xsl:call-template> </xsl:variable> <xsl:variable name="typeTag"> <xsl:value-of select="@ObjectType"/> </xsl:variable> <xsl:variable name="occuranceName"> <xsl:value-of select="name()"/> </xsl:variable> <xsl:variable name="IterateIfcTypes"> <xsl:for-each select="msxsl:node-set($resolveType)/node()"> <xsl:choose> <xsl:when test="current()/ifc:HasPropertySets"> <xsl:choose> <xsl:when test="$returnTypeObject != ''"> <xsl:value-of select="current()/@PredefinedType"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="current()/ifc:HasPropertySets/ifc:IfcPropertySet"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="current()[@id = $resolveType]"> <xsl:choose> <xsl:when test="$returnTypeObject != ''"> <xsl:value-of select="@PredefinedType"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="current()/ifc:HasPropertySets/ifc:IfcPropertySet"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="$resolveType != ''"> <xsl:copy-of select="$IterateIfcTypes"/> </xsl:when> <xsl:when test="$typeTag != ''"> <xsl:copy-of select="$IterateIfcTypes"/> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="ResolveIfcRelDefinesByType"> <xsl:variable name="elemid"> <xsl:copy> <xsl:value-of select="@id"/> </xsl:copy> </xsl:variable> <xsl:if test="$elemid != ''"> <xsl:for-each select="msxsl:node-set($allsourceobjects)/ifc:IfcRelDefinesByType/ifc:RelatedObjects/node()"> <xsl:if test="current()[contains(@ref, $elemid)] | current()[contains(@href, $elemid)]"> <xsl:choose> <xsl:when test="../../ifc:RelatingType[@GlobalId] != ''"> <xsl:copy-of select="../../ifc:RelatingType"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="../../ifc:RelatingType/@ref | ../../ifc:RelatingType/@href"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcType.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.buildingsmart-tech.org/ifcXML/IFC4/final ../../../../../../EnEffBIM_UseCases/IFCSchema/IFC4_ADD1.xsd" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template name="IfcType"> <xsl:param name="returnTypeObject"/> <xsl:for-each select="."> <xsl:variable name="resolveType"> <xsl:call-template name="ResolveIfcRelDefinesByType"> </xsl:call-template> </xsl:variable> <xsl:variable name="typeTag"> <xsl:value-of select="@ObjectType"/> </xsl:variable> <xsl:variable name="occuranceName"> <xsl:value-of select="name()"/> </xsl:variable> <xsl:variable name="IterateIfcTypes"> <xsl:for-each select="msxsl:node-set($resolveType)/node()"> <xsl:choose> <xsl:when test="current()/ifc:HasPropertySets"> <xsl:choose> <xsl:when test="$returnTypeObject != ''"> <xsl:value-of select="current()/@PredefinedType"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="current()/ifc:HasPropertySets/ifc:IfcPropertySet"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="current()[@id = $resolveType]"> <xsl:choose> <xsl:when test="$returnTypeObject != ''"> <xsl:value-of select="@PredefinedType"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="current()/ifc:HasPropertySets/ifc:IfcPropertySet"> <xsl:copy-of select="current()"/> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:variable> <xsl:choose> <xsl:when test="$resolveType != ''"> <xsl:copy-of select="$IterateIfcTypes"/> </xsl:when> <xsl:when test="$typeTag != ''"> <xsl:copy-of select="$IterateIfcTypes"/> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:template> <xsl:template name="ResolveIfcRelDefinesByType"> <xsl:variable name="elemid"> <xsl:copy> <xsl:value-of select="@id"/> </xsl:copy> </xsl:variable> <xsl:if test="$elemid != ''"> <xsl:for-each select="msxsl:node-set($allsourceobjects)/ifc:IfcRelDefinesByType/ifc:RelatedObjects/node()"> <xsl:if test="current()[contains(@ref, $elemid)] | current()[contains(@href, $elemid)]"> <xsl:choose> <xsl:when test="../../ifc:RelatingType[@GlobalId] != ''"> <xsl:copy-of select="../../ifc:RelatingType"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="../../ifc:RelatingType/@ref | ../../ifc:RelatingType/@href"/> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcValve.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcValve"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcValve.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcValve"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filtercontrollercontent"> <xsl:call-template name="tryAssembleTargetController"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="filterreferencepropertycontent"> <xsl:call-template name="tryAssembleTargetElement"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:variable name="mergeGeneratedContents"> <xsl:choose> <xsl:when test="$filtercontrollercontent != 'FALSE' or $filterreferencepropertycontent != 'FALSE'"> <xsl:variable name="filteredcurrentelementcontents"> <xsl:call-template name="filterAllElementContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent" select="$mergeGeneratedContents"/> </xsl:call-template> <xsl:copy-of select="$filtercontrollercontent"/> <xsl:copy-of select="$filterreferencepropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcZone.xsl 11.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcZone"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.5 (Author KIT BLM) IfcZone.xsl 15.8.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="ifc:IfcZone"> <xsl:param name="KeyPool"/> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="generictargetcontent"> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/> <xsl:with-param name="elemname" select="name()"/> </xsl:call-template> </xsl:variable> <xsl:variable name="resolvedfromproperties"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="GenerateTargetElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="unsortedtargetcontent"> <xsl:call-template name="MergeTargetElementContentCollections"> <xsl:with-param name="generictargetcontent" select="$generictargetcontent"/> <xsl:with-param name="resolvedfromproperties" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:missingSub="http://subnamespace.undeclared" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:template name="resolvekeypool"> <xsl:param name="KeyPoolSnippet"/> <xsl:param name="elemname"/> <xsl:param name="psetname"/> <xsl:param name="pname"/> <xsl:param name="pvalue"/> <xsl:param name="preEvaluation"/> <xsl:param name="parentElement"/> <xsl:param name="elementId"/> <xsl:choose> <xsl:when test="contains($KeyPoolSnippet, '§') and ($psetname != '' and contains($KeyPoolSnippet, $psetname) or $elemname != '')"> <xsl:call-template name="resolvekeypoolpairs"> <xsl:with-param name="KeyPoolSnippet" select="substring-before($KeyPoolSnippet, '§')"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, '§')"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="resolvekeypoolpairs"> <xsl:param name="KeyPoolSnippet"/> <xsl:param name="elemname"/> <xsl:param name="psetname"/> <xsl:param name="pname"/> <xsl:param name="pvalue"/> <xsl:param name="preEvaluation"/> <xsl:param name="parentElement"/> <xsl:param name="elementId"/> <xsl:variable name="parentelem" select="msxsl:node-set($parentElement)/node()"/> <xsl:if test="contains($KeyPoolSnippet, ' ')"> <xsl:variable name="simkey" select="substring-after($KeyPoolSnippet, ' ')"/> <xsl:choose> <xsl:when test="starts-with($simkey, 'Sim')"> <xsl:variable name="subComplexProp"> <xsl:choose> <xsl:when test="contains( substring-after( substring-after( substring-before($KeyPoolSnippet, ' '), concat($elemname, '.')) ,'.') , '.')"> <xsl:value-of select="substring-after( substring-after( substring-after( substring-before($KeyPoolSnippet, ' '), concat($elemname, '.')) ,'.') , '.')"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:variable name="simprop"> <xsl:choose> <xsl:when test="contains(substring-after($simkey,'.'), '.')"> <xsl:value-of select="substring-before(substring-after($simkey,'.'), '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after($simkey,'.')"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="simdesignatedvalue"> <xsl:choose> <xsl:when test="contains(substring-after($simkey,'.'), '.')"> <xsl:value-of select="substring-after(substring-after($simkey, '.'), '.')"/> </xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="simpropfullname"> <xsl:choose> <xsl:when test="not(contains($simprop,':'))"> <xsl:value-of select="concat('missingSub:',$simprop)"/> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="contains($simprop, '.')"> </xsl:when> <xsl:otherwise> <xsl:value-of select="$simprop"/> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="$elemname != '' and $psetname = '' and $simprop != ''"> <xsl:variable name="ifckey" select="substring-before($KeyPoolSnippet, ' ')"/> <xsl:variable name="ifcgloid" select="@GlobalId"/> <xsl:variable name="elementchildren"> <xsl:value-of select="concat($elemname, '.')"> </xsl:value-of> </xsl:variable> <xsl:variable name="elementancestor"> <xsl:value-of select="concat('.', $elemname)"/> </xsl:variable> <xsl:variable name="checkall"> <xsl:value-of select="concat('.', $elementchildren)"/> </xsl:variable> <xsl:variable name="nestingpathfromparent"> <xsl:value-of select="substring-before($ifckey,$elementancestor)"/> </xsl:variable> <xsl:variable name="nestingpathtochild"> <xsl:value-of select="substring-after($ifckey,$elementchildren)"/> </xsl:variable> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:choose> <xsl:when test="contains($ifckey,'###.###.')"> <xsl:value-of select="substring-after($ifckey,'###.###.')"/> </xsl:when> <xsl:otherwise> <xsl:variable name="resolvepathtochild"> <xsl:variable name="levelonekey"> <xsl:choose> <xsl:when test="contains( $nestingpathtochild, '.')"> <xsl:value-of select="substring-before( $nestingpathtochild, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathtochild"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="@*[local-name() = substring-after($ifckey, $elementchildren)] != ''"> <xsl:value-of select="@*[local-name() = substring-after($ifckey, $elementchildren)]"/> </xsl:when> <xsl:otherwise> <xsl:variable name="levelonevalue"> <xsl:if test="$levelonekey != ''"> <xsl:choose> <xsl:when test="@*[name() = $levelonekey]"> </xsl:when> <xsl:when test="current()/*[local-name() = $levelonekey]"> </xsl:when> </xsl:choose> </xsl:if> </xsl:variable> <xsl:variable name="nestingpathfromlevelone" select="substring-after($nestingpathtochild, concat($levelonekey, '.'))"/> <xsl:variable name="leveltwokey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelone != '' and contains($nestingpathfromlevelone, '.')"> <xsl:value-of select="substring-before($nestingpathfromlevelone, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelone"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromleveltwo" select="substring-after($nestingpathfromlevelone, concat($leveltwokey, '.'))"/> <xsl:variable name="levelthreekey"> <xsl:choose> <xsl:when test="$nestingpathfromleveltwo != '' and contains($nestingpathfromleveltwo, '.')"> <xsl:value-of select="substring-before($nestingpathfromleveltwo, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromleveltwo"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromlevelthree" select="substring-after($nestingpathfromleveltwo, concat($levelthreekey, '.'))"/> <xsl:variable name="levelfourkey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelthree != '' and contains($nestingpathfromlevelthree, '.')"> <xsl:value-of select="substring-before($nestingpathfromlevelthree, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelthree"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="referencetargetid" select="@id"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="local-name() = $leveltwokey"> <xsl:for-each select="descendant-or-self::node()"> <xsl:if test="local-name() = $levelonekey"> <xsl:choose> <xsl:when test="./node()"> <xsl:for-each select="./node()"> <xsl:if test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> <xsl:for-each select="../../child::*"> <xsl:if test="local-name() = $levelthreekey"> <xsl:for-each select="current()/@*"> <xsl:if test="local-name() = $levelfourkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="."/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="' '"/> </xsl:if> <xsl:if test="local-name() = 'href'"> <xsl:variable name="refid" select="."/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $refid"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="' '"/> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> <xsl:for-each select="."> <xsl:for-each select=".././node()"> <xsl:if test="local-name() = $levelthreekey"> <xsl:if test="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:for-each select="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:variable name="refkey"> <xsl:value-of select="."/> </xsl:variable> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $refkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:if> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="resolvepathfromparent"> <xsl:variable name="levelonekey"> <xsl:choose> <xsl:when test="contains( $nestingpathfromparent, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromparent"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromparent"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="@*[local-name() = $levelonekey] != ''"> <xsl:value-of select="@*[local-name() = $levelonekey]"/> </xsl:when> <xsl:otherwise> <xsl:variable name="nestingpathfromlevelone" select="substring-before($nestingpathfromparent, concat('.', $levelonekey))"/> <xsl:variable name="leveltwokey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelone != '' and contains($nestingpathfromlevelone, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromlevelone"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelone"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromleveltwo" select="substring-before($nestingpathfromlevelone, concat('.', $leveltwokey))"/> <xsl:variable name="levelthreekey"> <xsl:choose> <xsl:when test="$nestingpathfromleveltwo != '' and contains($nestingpathfromleveltwo, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromleveltwo"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromleveltwo"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromlevelthree" select="substring-before($nestingpathfromleveltwo, concat('.', $levelthreekey))"/> <xsl:variable name="levelfourkey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelthree != '' and contains($nestingpathfromlevelthree, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromlevelthree"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelthree"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="checkedvalue"> <xsl:choose> <xsl:when test="current()"> <xsl:value-of select="msxsl:node-set($parentElement)/@*[local-name() = $levelfourkey]"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:variable name="levelonevalue"> <xsl:if test="$levelonekey != ''"> </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="$checkedvalue != '' and contains($simpropfullname, 'simres:HostElement')"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="$checkedvalue"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:when test="$levelonevalue != ''"> <xsl:copy-of select="$levelonevalue"/> </xsl:when> <xsl:otherwise> <xsl:variable name="referencetargetid" select="@id"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="local-name() = $leveltwokey"> <xsl:for-each select="descendant-or-self::node()"> <xsl:if test="local-name() = $levelonekey"> <xsl:for-each select="."> <xsl:if test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> AHA <xsl:for-each select=".././*"> <xsl:if test="local-name() = $levelthreekey"> <xsl:for-each select="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:variable name="refkey"> <xsl:value-of select="."/> </xsl:variable> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $refkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="current()"/> <xsl:otherwise> <xsl:for-each select="../../../../."> <xsl:if test="current()[@GlobalId]"> <xsl:choose> <xsl:when test="contains(local-name(), 'Type')">ERROR! Not handled conversion from ports defined by object type, add port instance to object occurance.</xsl:when> <xsl:otherwise> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="'GlobalId'"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@GlobalId"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="contains($ifckey, $checkall)"> <xsl:choose> <xsl:when test="$resolvepathfromparent = $resolvepathtochild and ($resolvepathtochild != '' or $resolvepathfromparent != '')"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:when test="$resolvepathtochild = '' and '' != $resolvepathfromparent"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:when test="$resolvepathfromparent = '' and '' != $resolvepathtochild"> <xsl:value-of select="$resolvepathtochild"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$resolvepathtochild"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="contains($ifckey, $elementancestor)"> <xsl:choose> <xsl:when test="$resolvepathfromparent != ''"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="starts-with($ifckey, $elementchildren)"> <xsl:choose> <xsl:when test="$resolvepathtochild != ''"> <xsl:value-of select="$resolvepathtochild"/> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:element> </xsl:when> <xsl:when test="not($pname = '') and contains($KeyPoolSnippet, $psetname) and contains($KeyPoolSnippet, $pname)"> <xsl:choose> <xsl:when test="$preEvaluation != ''"> <xsl:variable name="currentTestString"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="concat(concat(concat(concat(../../@Name, '.'), @Name), '.'), $pvalue)"/> </xsl:call-template> </xsl:variable> <xsl:variable name="conditionTestString"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="$preEvaluation"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$conditionTestString = $currentTestString">TRUE</xsl:when> <xsl:otherwise> FALSE </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="(contains(../../@Name, 'PSim_Controller') or @Name = 'PSim_Controller') and not(local-name() = 'IfcPropertyReferenceValue')"> <xsl:choose> <xsl:when test="@Name = 'PSim_Controller' and contains($KeyPoolSnippet, 'GlobalId')"> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after($simpropfullname, ':')"/> <xsl:value-of select="concat(' ID_cntrl_', $elementId)"/> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="$pvalue"/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="local-name() = 'IfcPropertyReferenceValue'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="concat('ID_prv01_', $elementId)"/> </xsl:element> <xsl:for-each select="current()/ifc:PropertyReference/node()"> <xsl:variable name="KeyPool"> <xsl:call-template name="KeyPoolBuilder"> <xsl:with-param name="ElementName" select="local-name()"/> </xsl:call-template> </xsl:variable> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementNames"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:if test="contains($simelemname, ' ') and substring-before(substring-after($simelemname, ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv01_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-before(substring-after($simelemname, ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv01_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv01_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv01_FLAG_'"/> </xsl:call-template> </xsl:if> <xsl:if test="contains(substring-after($simelemname, ' '), ' ') and substring-before(substring-after(substring-after($simelemname, ' '), ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv02_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-before(substring-after(substring-after($simelemname, ' '), ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv02_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv02_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv02_FLAG_'"/> </xsl:call-template> </xsl:if> <xsl:if test="contains(substring-after(substring-after($simelemname, ' '), ' '), ' ') and substring-after(substring-after(substring-after($simelemname, ' '), ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv03_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after(substring-after(substring-after($simelemname, ' '), ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv03_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv03_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv03_FLAG_'"/> </xsl:call-template> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$simdesignatedvalue != 'FALSE'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="$simdesignatedvalue"/> </xsl:element> </xsl:when> <xsl:when test="$subComplexProp != ''"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:for-each select="./ifc:HasProperties/node()"> <xsl:if test="@Name = $subComplexProp"> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:element> </xsl:when> <xsl:when test="$simdesignatedvalue = 'FALSE'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="$pvalue"/> </xsl:element> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:if test="contains($simkey,' ')"> <xsl:call-template name="resolvekeypoolpairs"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, ' ' )"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:template> <xsl:template name="extractfistvalue"> <xsl:param name="input"/> <xsl:param name="delimiter"/> <xsl:value-of select="substring-after($input, $delimiter)"/> </xsl:template> <xsl:template name="lastofpath"> <xsl:param name="pathsnippet"/> <xsl:choose> <xsl:when test="contains($pathsnippet, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet"> <xsl:call-template name="extractfistvalue"> <xsl:with-param name="input" select="$pathsnippet"/> <xsl:with-param name="delimiter" select="'.'"/> </xsl:call-template> </xsl:with-param> <xsl:with-param name="delimiter" select="'.'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$pathsnippet"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getglobalid"> <xsl:param name="breadcrum"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $breadcrum and @GlobalId"> <xsl:value-of select="@GlobalId"/> </xsl:if> </xsl:for-each> <xsl:apply-templates/> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://d-alchemy.com/schema/simxml/Model" xmlns:simcore="http://d-alchemy.com/schema/simxml/SimModelCore" xmlns:simres="http://d-alchemy.com/schema/simxml/ResourcesGeneral" xmlns:simgeom="http://d-alchemy.com/schema/simxml/ResourcesGeometry" xmlns:simbldg="http://d-alchemy.com/schema/simxml/BuildingModel" xmlns:simmep="http://d-alchemy.com/schema/simxml/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:missingSub="http://subnamespace.undeclared" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:template name="resolvekeypool"> <xsl:param name="KeyPoolSnippet"/> <xsl:param name="elemname"/> <xsl:param name="psetname"/> <xsl:param name="pname"/> <xsl:param name="pvalue"/> <xsl:param name="preEvaluation"/> <xsl:param name="parentElement"/> <xsl:param name="elementId"/> <xsl:choose> <xsl:when test="contains($KeyPoolSnippet, '§') and ($psetname != '' and contains($KeyPoolSnippet, $psetname) or $elemname != '')"> <xsl:call-template name="resolvekeypoolpairs"> <xsl:with-param name="KeyPoolSnippet" select="substring-before($KeyPoolSnippet, '§')"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> <xsl:call-template name="resolvekeypool"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, '§')"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> <xsl:with-param name="elementId" select="$elementId"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="resolvekeypoolpairs"> <xsl:param name="KeyPoolSnippet"/> <xsl:param name="elemname"/> <xsl:param name="psetname"/> <xsl:param name="pname"/> <xsl:param name="pvalue"/> <xsl:param name="preEvaluation"/> <xsl:param name="parentElement"/> <xsl:param name="elementId"/> <xsl:if test="contains($KeyPoolSnippet, ' ')"> <xsl:variable name="simkey" select="substring-after($KeyPoolSnippet, ' ')"/> <xsl:choose> <xsl:when test="starts-with($simkey, 'Sim')"> <xsl:variable name="subComplexProp"> <xsl:choose> <xsl:when test="contains( substring-after( substring-after( substring-before($KeyPoolSnippet, ' '), concat($elemname, '.')) ,'.') , '.')"> <xsl:value-of select="substring-after( substring-after( substring-after( substring-before($KeyPoolSnippet, ' '), concat($elemname, '.')) ,'.') , '.')"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:variable name="simprop"> <xsl:choose> <xsl:when test="contains(substring-after($simkey,'.'), '.')"> <xsl:value-of select="substring-before(substring-after($simkey,'.'), '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-after($simkey,'.')"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="simdesignatedvalue"> <xsl:choose> <xsl:when test="contains(substring-after($simkey,'.'), '.')"> <xsl:value-of select="substring-after(substring-after($simkey, '.'), '.')"/> </xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="simpropfullname"> <xsl:choose> <xsl:when test="not(contains($simprop,':'))"> <xsl:value-of select="concat('missingSub:',$simprop)"/> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="contains($simprop, '.')"> </xsl:when> <xsl:otherwise> <xsl:value-of select="$simprop"/> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="$elemname != '' and $psetname = '' and $simprop != ''"> <xsl:variable name="ifckey" select="substring-before($KeyPoolSnippet, ' ')"/> <xsl:variable name="ifcgloid" select="@GlobalId"/> <xsl:variable name="elementchildren"> <xsl:value-of select="concat($elemname, '.')"> </xsl:value-of> </xsl:variable> <xsl:variable name="elementancestor"> <xsl:value-of select="concat('.', $elemname)"/> </xsl:variable> <xsl:variable name="checkall"> <xsl:value-of select="concat('.', $elementchildren)"/> </xsl:variable> <xsl:variable name="nestingpathfromparent"> <xsl:value-of select="substring-before($ifckey,$elementancestor)"/> </xsl:variable> <xsl:variable name="nestingpathtochild"> <xsl:value-of select="substring-after($ifckey,$elementchildren)"/> </xsl:variable> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:choose> <xsl:when test="contains($ifckey,'###.###.')"> <xsl:value-of select="substring-after($ifckey,'###.###.')"/> </xsl:when> <xsl:otherwise> <xsl:variable name="resolvepathtochild"> <xsl:variable name="levelonekey"> <xsl:choose> <xsl:when test="contains( $nestingpathtochild, '.')"> <xsl:value-of select="substring-before( $nestingpathtochild, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathtochild"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="@*[local-name() = substring-after($ifckey, $elementchildren)] != ''"> <xsl:value-of select="@*[local-name() = substring-after($ifckey, $elementchildren)]"/> </xsl:when> <xsl:otherwise> <xsl:variable name="levelonevalue"> <xsl:if test="$levelonekey != ''"> <xsl:choose> <xsl:when test="@*[name() = $levelonekey]"> </xsl:when> <xsl:when test="current()/*[local-name() = $levelonekey]"> </xsl:when> </xsl:choose> </xsl:if> </xsl:variable> <xsl:variable name="nestingpathfromlevelone" select="substring-after($nestingpathtochild, concat($levelonekey, '.'))"/> <xsl:variable name="leveltwokey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelone != '' and contains($nestingpathfromlevelone, '.')"> <xsl:value-of select="substring-before($nestingpathfromlevelone, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelone"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromleveltwo" select="substring-after($nestingpathfromlevelone, concat($leveltwokey, '.'))"/> <xsl:variable name="levelthreekey"> <xsl:choose> <xsl:when test="$nestingpathfromleveltwo != '' and contains($nestingpathfromleveltwo, '.')"> <xsl:value-of select="substring-before($nestingpathfromleveltwo, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromleveltwo"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromlevelthree" select="substring-after($nestingpathfromleveltwo, concat($levelthreekey, '.'))"/> <xsl:variable name="levelfourkey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelthree != '' and contains($nestingpathfromlevelthree, '.')"> <xsl:value-of select="substring-before($nestingpathfromlevelthree, '.')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelthree"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="referencetargetid" select="@id"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="local-name() = $leveltwokey"> <xsl:for-each select="descendant-or-self::node()"> <xsl:if test="local-name() = $levelonekey"> <xsl:choose> <xsl:when test="./node()"> <xsl:for-each select="./node()"> <xsl:if test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> <xsl:for-each select="../../child::*"> <xsl:if test="local-name() = $levelthreekey"> <xsl:choose> <xsl:when test="current()/@*[local-name() = $levelfourkey]"> <xsl:for-each select="current()/@*"> <xsl:if test="local-name() = $levelfourkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="."/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="' '"/> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()/@*[local-name() = 'href']"> <xsl:for-each select="current()/@*"> <xsl:if test="local-name() = 'href'"> <xsl:variable name="refid" select="."/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant-or-self::node()"> <xsl:if test="@id = $refid"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="' '"/> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> <xsl:for-each select="."> <xsl:for-each select=".././node()"> <xsl:if test="local-name() = $levelthreekey"> <xsl:choose> <xsl:when test="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:for-each select="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:variable name="refkey"> <xsl:value-of select="."/> </xsl:variable> <xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant-or-self::node()"> <xsl:if test="@id = $refkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:when> <xsl:when test="./*/@*[local-name() = 'ref'] | ./*/@*[local-name() = 'href'] or ./*/@*[local-name() = 'id']"> <xsl:for-each select="./*/@*[local-name() = 'ref'] | ./*/@*[local-name() = 'href']"> <xsl:variable name="refkey"> <xsl:value-of select="."/> </xsl:variable> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $refkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:for-each> <xsl:value-of select="' '"/> </xsl:for-each> <xsl:for-each select="./*/node()"> <xsl:if test="@*[local-name() = 'id']"> <xsl:variable name="idkey"> <xsl:value-of select="@id"/> </xsl:variable> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> <xsl:value-of select="' '"/> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="resolvepathfromparent"> <xsl:variable name="levelonekey"> <xsl:choose> <xsl:when test="contains( $nestingpathfromparent, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromparent"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromparent"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="@*[local-name() = $levelonekey] != ''"> <xsl:value-of select="@*[local-name() = $levelonekey]"/> </xsl:when> <xsl:otherwise> <xsl:variable name="nestingpathfromlevelone" select="substring-before($nestingpathfromparent, concat('.', $levelonekey))"/> <xsl:variable name="leveltwokey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelone != '' and contains($nestingpathfromlevelone, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromlevelone"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelone"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromleveltwo" select="substring-before($nestingpathfromlevelone, concat('.', $leveltwokey))"/> <xsl:variable name="levelthreekey"> <xsl:choose> <xsl:when test="$nestingpathfromleveltwo != '' and contains($nestingpathfromleveltwo, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromleveltwo"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromleveltwo"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="nestingpathfromlevelthree" select="substring-before($nestingpathfromleveltwo, concat('.', $levelthreekey))"/> <xsl:variable name="levelfourkey"> <xsl:choose> <xsl:when test="$nestingpathfromlevelthree != '' and contains($nestingpathfromlevelthree, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet" select="$nestingpathfromlevelthree"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$nestingpathfromlevelthree"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="checkedvalue"> <xsl:choose> <xsl:when test="msxsl:node-set($parentElement)/@*[local-name() = $levelfourkey]"> <xsl:value-of select="msxsl:node-set($parentElement)/@*[local-name() = $levelfourkey]"/> </xsl:when> <xsl:when test="$parentElement != ''"> <xsl:value-of select="$parentElement"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:variable name="levelonevalue"> <xsl:if test="$levelonekey != ''"> </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="$checkedvalue != '' and (contains($simpropfullname, 'simres:HostElement') or contains($simpropfullname, 'simcore:ParentGroups') or contains($simpropfullname, 'simbldg:ParentSystem'))"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="$checkedvalue"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:when test="$levelonevalue != ''"> <xsl:copy-of select="$levelonevalue"/> </xsl:when> <xsl:otherwise> <xsl:variable name="referencetargetid" select="@id"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="local-name() = $leveltwokey"> <xsl:for-each select="descendant-or-self::node()"> <xsl:if test="local-name() = $levelonekey"> <xsl:for-each select="."> <xsl:if test="current()[@ref = $referencetargetid] | current()[@href = $referencetargetid]"> <xsl:for-each select=".././*"> <xsl:if test="local-name() = $levelthreekey"> <xsl:for-each select="./@*[local-name() = 'ref'] | ./@*[local-name() = 'href']"> <xsl:variable name="refkey"> <xsl:value-of select="."/> </xsl:variable> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $refkey"> <xsl:call-template name="TargetValueFormatConditions"> <xsl:with-param name="sourcename"> <xsl:value-of select="$levelfourkey"/> </xsl:with-param> <xsl:with-param name="sourcevalue"> <xsl:value-of select="@*[local-name() = $levelfourkey]"/> </xsl:with-param> <xsl:with-param name="targetname"> <xsl:value-of select="$simpropfullname"/> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="contains($ifckey, $checkall)"> <xsl:choose> <xsl:when test="$resolvepathfromparent = $resolvepathtochild and ($resolvepathtochild != '' or $resolvepathfromparent != '')"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:when test="$resolvepathtochild = '' and '' != $resolvepathfromparent"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:when test="$resolvepathfromparent = '' and '' != $resolvepathtochild"> <xsl:value-of select="$resolvepathtochild"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$resolvepathtochild"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="contains($ifckey, $elementancestor)"> <xsl:choose> <xsl:when test="$resolvepathfromparent != ''"> <xsl:value-of select="$resolvepathfromparent"/> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="starts-with($ifckey, $elementchildren)"> <xsl:choose> <xsl:when test="$resolvepathtochild != ''"> <xsl:value-of select="$resolvepathtochild"/> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:element> </xsl:when> <xsl:when test="not($pname = '') and contains($KeyPoolSnippet, $psetname) and contains($KeyPoolSnippet, $pname)"> <xsl:choose> <xsl:when test="$preEvaluation != ''"> <xsl:variable name="currentTestString"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="concat(concat(concat(concat(../../@Name, '.'), @Name), '.'), $pvalue)"/> </xsl:call-template> </xsl:variable> <xsl:variable name="conditionTestString"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="$preEvaluation"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$conditionTestString = $currentTestString">TRUE</xsl:when> <xsl:otherwise> FALSE </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="(contains(../../@Name, 'PSim_Controller') or @Name = 'PSim_Controller') and not(local-name() = 'IfcPropertyReferenceValue')"> <xsl:choose> <xsl:when test="@Name = 'PSim_Controller' and contains($KeyPoolSnippet, 'GlobalId')"> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after($simpropfullname, ':')"/> <xsl:value-of select="concat(' ID_cntrl_', $elementId)"/> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="$pvalue"/> </xsl:element> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="local-name() = 'IfcPropertyReferenceValue'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="concat('ID_prv01_', $elementId)"/> </xsl:element> <xsl:for-each select="current()/ifc:PropertyReference/node()"> <xsl:variable name="KeyPool"> <xsl:call-template name="KeyPoolBuilder"> <xsl:with-param name="ElementName" select="local-name()"/> </xsl:call-template> </xsl:variable> <xsl:if test="$KeyPool != ''"> <xsl:variable name="simelemname"> <xsl:call-template name="getTargetElementNames"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:if test="contains($simelemname, ' ') and substring-before(substring-after($simelemname, ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv01_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-before(substring-after($simelemname, ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv01_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv01_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv01_FLAG_'"/> </xsl:call-template> </xsl:if> <xsl:if test="contains(substring-after($simelemname, ' '), ' ') and substring-before(substring-after(substring-after($simelemname, ' '), ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv02_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-before(substring-after(substring-after($simelemname, ' '), ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv02_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv02_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv02_FLAG_'"/> </xsl:call-template> </xsl:if> <xsl:if test="contains(substring-after(substring-after($simelemname, ' '), ' '), ' ') and substring-after(substring-after(substring-after($simelemname, ' '), ' '), ' ')"> <xsl:element name="{normalize-space(concat('eeBIMprv03_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after(substring-after(substring-after($simelemname, ' '), ' '), ' ')"/> <xsl:value-of select="concat(' ID_prv03_', $elementId)"/> </xsl:element> <xsl:call-template name="resolveRefPropContent"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="parentid" select="concat('_prv03_', $elementId)"/> <xsl:with-param name="token" select="'eeBIMprv03_FLAG_'"/> </xsl:call-template> </xsl:if> </xsl:if> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="$simdesignatedvalue != 'FALSE'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="$simdesignatedvalue"/> </xsl:element> </xsl:when> <xsl:when test="$subComplexProp != ''"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:for-each select="./ifc:HasProperties/node()"> <xsl:if test="@Name = $subComplexProp"> <xsl:value-of select="."/> </xsl:if> </xsl:for-each> </xsl:element> </xsl:when> <xsl:when test="$simdesignatedvalue = 'FALSE'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="$pvalue"/> </xsl:element> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:if test="contains($simkey,' ')"> <xsl:call-template name="resolvekeypoolpairs"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, ' ' )"/> <xsl:with-param name="elemname" select="$elemname"/> <xsl:with-param name="psetname" select="$psetname"/> <xsl:with-param name="pname" select="$pname"/> <xsl:with-param name="pvalue" select="$pvalue"/> <xsl:with-param name="preEvaluation" select="$preEvaluation"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:template> <xsl:template name="extractfistvalue"> <xsl:param name="input"/> <xsl:param name="delimiter"/> <xsl:value-of select="substring-after($input, $delimiter)"/> </xsl:template> <xsl:template name="lastofpath"> <xsl:param name="pathsnippet"/> <xsl:choose> <xsl:when test="contains($pathsnippet, '.')"> <xsl:call-template name="lastofpath"> <xsl:with-param name="pathsnippet"> <xsl:call-template name="extractfistvalue"> <xsl:with-param name="input" select="$pathsnippet"/> <xsl:with-param name="delimiter" select="'.'"/> </xsl:call-template> </xsl:with-param> <xsl:with-param name="delimiter" select="'.'"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$pathsnippet"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getglobalid"> <xsl:param name="breadcrum"/> <xsl:for-each select="msxsl:node-set($allsourceobjects)/node()"> <xsl:if test="@id = $breadcrum and @GlobalId"> <xsl:value-of select="@GlobalId"/> </xsl:if> </xsl:for-each> <xsl:apply-templates/> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" omit-xml-declaration="yes"/> <xsl:variable name="LF" select="'&#xA;'"/> <xsl:template name="KeyPoolBuilder"> <xsl:param name="ElementName"/> <xsl:variable name="stripedQuotesCSV"> <xsl:call-template name="remove"> <xsl:with-param name="input" select="$GetMappingTable"/> <xsl:with-param name="removal" select="'&quot;'"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="csvrowfilter"> <xsl:with-param name="localname" select="$ElementName"/> <xsl:with-param name="csvStringToFilter" select="$stripedQuotesCSV"/> </xsl:call-template> </xsl:template> <xsl:template name="csvrowfilter"> <xsl:param name="localname" select="''"/> <xsl:param name="csvStringToFilter" select="''"/> <xsl:param name="currentElem" select="''"/> <xsl:choose> <xsl:when test="contains($csvStringToFilter,$LF)"> <xsl:if test="contains(substring-before($csvStringToFilter,$LF),$localname)"> <xsl:variable name="MappingCondition"> <xsl:call-template name="checkConditionCell"> <xsl:with-param name="elementname" select="$localname"/> <xsl:with-param name="rowsnippet" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="contains($MappingCondition, concat($localname, '.'))"> <xsl:choose> <xsl:when test="contains($MappingCondition, '#')"> <xsl:variable name="conditionalTerm" select="substring-after($MappingCondition, '###.###.')"/> <xsl:if test="contains($conditionalTerm, '.')"> <xsl:choose> <xsl:when test="contains(substring-after($conditionalTerm,'.'), '.')"> <xsl:variable name="preEvaluatePsets"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="concat(concat(concat($conditionalTerm,' '),'SimDummy.ElementName'),'§')"/> <xsl:with-param name="preEvaluation" select="$conditionalTerm"/> </xsl:call-template> </xsl:variable> <xsl:if test="$preEvaluatePsets = 'TRUE'"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:variable name="fieldName" select="substring-before($conditionalTerm,'.')"/> <xsl:variable name="expectedValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="substring-after($conditionalTerm,'.')"/> </xsl:call-template> </xsl:variable> <xsl:variable name="currentValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="@*[name() = $fieldName or $localname = $fieldName]"/> </xsl:call-template> </xsl:variable> <xsl:if test="$currentValue = $expectedValue"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:when> <xsl:when test="contains($MappingCondition, 'PredefinedType')"> <xsl:variable name="expectedValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="substring-after($MappingCondition, 'PredefinedType.')"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="current()/@PredefinedType | current()/*/@PredefinedType"> <xsl:if test="current()[@PredefinedType = $expectedValue] | current()/*[@PredefinedType = $expectedValue]"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:variable name="objectsType"> <xsl:call-template name="IfcType"> <xsl:with-param name="returnTypeObject" select="@ObjectType"/> </xsl:call-template> </xsl:variable> <xsl:if test="$objectsType = $expectedValue"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:call-template name="csvrowfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter"> <xsl:value-of select="substring-after($csvStringToFilter,$LF)"/> </xsl:with-param> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="csvcolumfilter"> <xsl:param name="localname" select="''"/> <xsl:param name="csvStringToFilter" select="''"/> <xsl:param name="getSingleSnippet" select="''"/> <xsl:choose> <xsl:when test="contains($csvStringToFilter,';')"> <xsl:variable name="preview2delim" select="substring-after(substring-after($csvStringToFilter, ';'), ';')"/> <xsl:if test="starts-with($preview2delim, 'Sim')"> <xsl:variable name="mapConditionColumn"> <xsl:value-of select="substring-before($csvStringToFilter,';')"/> </xsl:variable> <xsl:variable name="sourceColumn"> <xsl:value-of select="substring-before(substring-after($csvStringToFilter, ';'),';')"/> </xsl:variable> <xsl:choose> <xsl:when test="$getSingleSnippet != ''"> <xsl:if test="($sourceColumn != '' and contains($mapConditionColumn,concat($localname, '.')) and $sourceColumn = $localname)"> <xsl:value-of select="$mapConditionColumn"/> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:variable name="targetColumn"> <xsl:value-of select="substring-before($preview2delim,';')"/> </xsl:variable> <xsl:value-of select="concat($mapConditionColumn, ' ')"/> <xsl:value-of select="concat($sourceColumn, ' ')"/> <xsl:value-of select="concat($targetColumn, '§')"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter"> <xsl:value-of select="substring-after($csvStringToFilter,';')"/> </xsl:with-param> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="checkConditionCell"> <xsl:param name="elementname"/> <xsl:param name="rowsnippet"/> <xsl:choose> <xsl:when test="contains($rowsnippet, ';')"> <xsl:variable name="firstcellofsnippet"> <xsl:value-of select="substring-before($rowsnippet,';' )"/> </xsl:variable> <xsl:variable name="secondcellofsnippet"> <xsl:if test="contains(substring-after($rowsnippet,';'),';')"> <xsl:value-of select="substring-before(substring-after($rowsnippet,';'),';')"/> </xsl:if> </xsl:variable> <xsl:if test="($secondcellofsnippet != '' and contains($firstcellofsnippet,concat($elementname, '.')) and $secondcellofsnippet = $elementname)"> <xsl:value-of select="$firstcellofsnippet"/> </xsl:if> <xsl:call-template name="checkConditionCell"> <xsl:with-param name="elementname" select="$elementname"/> <xsl:with-param name="rowsnippet" select="substring-after($rowsnippet,';')"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl ifc msxsl"> <xsl:output method="xml" omit-xml-declaration="yes"/> <xsl:variable name="LF" select="'&#xA;'"/> <xsl:template name="KeyPoolBuilder"> <xsl:param name="ElementName"/> <xsl:variable name="stripedQuotesCSV"> <xsl:call-template name="remove"> <xsl:with-param name="input" select="$GetMappingTable"/> <xsl:with-param name="removal" select="'&quot;'"/> </xsl:call-template> </xsl:variable> <xsl:call-template name="csvrowfilter"> <xsl:with-param name="localname" select="$ElementName"/> <xsl:with-param name="csvStringToFilter" select="$stripedQuotesCSV"/> </xsl:call-template> </xsl:template> <xsl:template name="csvrowfilter"> <xsl:param name="localname" select="''"/> <xsl:param name="csvStringToFilter" select="''"/> <xsl:param name="currentElem" select="''"/> <xsl:choose> <xsl:when test="contains($csvStringToFilter,$LF)"> <xsl:if test="contains(substring-before($csvStringToFilter,$LF),$localname)"> <xsl:variable name="MappingCondition"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> <xsl:with-param name="getSingleSnippet" select="'mappingcondition'"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="contains($MappingCondition, concat($localname, '.'))"> <xsl:choose> <xsl:when test="contains($MappingCondition, '#')"> <xsl:variable name="conditionalTerm" select="substring-after($MappingCondition, '###.###.')"/> <xsl:if test="contains($conditionalTerm, '.')"> <xsl:choose> <xsl:when test="contains(substring-after($conditionalTerm,'.'), '.')"> <xsl:variable name="preEvaluatePsets"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="concat(concat(concat($conditionalTerm,' '),'SimDummy.ElementName'),'§')"/> <xsl:with-param name="preEvaluation" select="$conditionalTerm"/> </xsl:call-template> </xsl:variable> <xsl:if test="$preEvaluatePsets = 'TRUE'"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:variable name="fieldName" select="substring-before($conditionalTerm,'.')"/> <xsl:variable name="expectedValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="substring-after($conditionalTerm,'.')"/> </xsl:call-template> </xsl:variable> <xsl:variable name="currentValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="@*[name() = $fieldName or $localname = $fieldName]"/> </xsl:call-template> </xsl:variable> <xsl:if test="$currentValue = $expectedValue"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:when> <xsl:when test="contains($MappingCondition, 'PredefinedType')"> <xsl:variable name="expectedValue"> <xsl:call-template name="ToLower"> <xsl:with-param name="input" select="substring-after($MappingCondition, 'PredefinedType.')"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="current()/@PredefinedType | current()/*/@PredefinedType"> <xsl:if test="current()[@PredefinedType = $expectedValue] | current()/*[@PredefinedType = $expectedValue]"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:variable name="objectsType"> <xsl:call-template name="IfcType"> <xsl:with-param name="returnTypeObject" select="@ObjectType"/> </xsl:call-template> </xsl:variable> <xsl:if test="$objectsType = $expectedValue"> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter" select="substring-before($csvStringToFilter,$LF)"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:call-template name="csvrowfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter"> <xsl:value-of select="substring-after($csvStringToFilter,$LF)"/> </xsl:with-param> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="csvcolumfilter"> <xsl:param name="localname" select="''"/> <xsl:param name="csvStringToFilter" select="''"/> <xsl:param name="getSingleSnippet" select="''"/> <xsl:choose> <xsl:when test="contains($csvStringToFilter,';')"> <xsl:variable name="preview2delim" select="substring-after(substring-after($csvStringToFilter, ';'), ';')"/> <xsl:if test="starts-with($preview2delim, 'Sim')"> <xsl:variable name="mapConditionColumn"> <xsl:value-of select="substring-before($csvStringToFilter,';')"/> </xsl:variable> <xsl:choose> <xsl:when test="$getSingleSnippet != ''"> <xsl:value-of select="$mapConditionColumn"/> </xsl:when> <xsl:otherwise> <xsl:variable name="targetColumn"> <xsl:value-of select="substring-before($preview2delim,';')"/> </xsl:variable> <xsl:variable name="sourceColumn"> <xsl:value-of select="substring-before(substring-after($csvStringToFilter, ';'),';')"/> </xsl:variable> <xsl:value-of select="concat($mapConditionColumn, ' ')"/> <xsl:value-of select="concat($sourceColumn, ' ')"/> <xsl:value-of select="concat($targetColumn, '§')"/> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:call-template name="csvcolumfilter"> <xsl:with-param name="localname" select="$localname"/> <xsl:with-param name="csvStringToFilter"> <xsl:value-of select="substring-after($csvStringToFilter,';')"/> </xsl:with-param> <xsl:with-param name="getSingleSnippet" select="$getSingleSnippet"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/> <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/> <xsl:template name="ToLower"> <xsl:param name="input"/> <xsl:value-of select="translate($input, $uppercase, $lowercase)"/> </xsl:template> <xsl:template name="remove"> <xsl:param name="input"/> <xsl:param name="removal"/> <xsl:param name="exchangevalue" select="''"/> <xsl:choose> <xsl:when test="$exchangevalue != ''"> <xsl:value-of select="translate($input, $removal, $exchangevalue)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="translate($input, $removal, '')"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getTargetElementName"> <xsl:param name="KeyPool"/> <xsl:variable name="splitter" select="concat(concat(local-name(), ' '),'Sim')"/> <xsl:variable name="headtuple"> <xsl:value-of select="concat(concat($splitter, substring-before(substring-after($KeyPool, $splitter), '§')),'§')"/> </xsl:variable> <xsl:variable name="evaltargetname"> <xsl:value-of select="normalize-space(substring-after(substring-before($headtuple, '§'), ' '))"/> </xsl:variable> <xsl:choose> <xsl:when test="contains($evaltargetname, ' ')"> <xsl:choose> <xsl:when test="contains(substring-after($evaltargetname, ' '), ' ')"> <xsl:value-of select="normalize-space( substring-after( substring-after($evaltargetname, ' '), ' ') )"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="normalize-space(substring-after($evaltargetname, ' '))"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:copy-of select="$evaltargetname"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getTargetElementNames"> <xsl:param name="KeyPool"/> <xsl:variable name="splitter" select="concat(concat(local-name(), ' '),'Sim')"/> <xsl:variable name="headtuple"> <xsl:value-of select="concat(concat($splitter, substring-before(substring-after($KeyPool, $splitter), '§')),'§')"/> </xsl:variable> <xsl:variable name="evaltargetname"> <xsl:value-of select="normalize-space(substring-after(substring-before($headtuple, '§'), ' '))"/> </xsl:variable> <xsl:choose> <xsl:when test="contains($evaltargetname, ' ')"> <xsl:choose> <xsl:when test="contains(substring-after($evaltargetname, ' '), ' ')"> <xsl:value-of select="normalize-space( substring-after( substring-after($evaltargetname, ' '), ' ') )"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="normalize-space(substring-after($evaltargetname, ' '))"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:copy-of select="concat(' ', $evaltargetname)"/> </xsl:otherwise> </xsl:choose> <xsl:if test="contains(substring-after($KeyPool, $splitter), $splitter)"> <xsl:call-template name="getTargetElementNames"> <xsl:with-param name="KeyPool" select="substring-after(substring-after($KeyPool, $splitter), ' ')"/> </xsl:call-template> </xsl:if> </xsl:template> <xsl:template name="KeyPoolHelper"> <xsl:param name="currentElement"/> <xsl:param name="parentElement"/> <xsl:variable name="localname"> <xsl:choose> <xsl:when test="contains($currentElement,':')"> <xsl:value-of select="substring-after($currentElement,':')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$currentElement"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="currentKeyPool"> <xsl:variable name="buildKeyPool"> <xsl:call-template name="KeyPoolBuilder"> <xsl:with-param name="ElementName" select="$localname"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="current()/*[@xsi:type ='IfcDistributionSystem' and @GlobalId or @xsi:type = 'ifc:IfcDistributionSystem']"> <xsl:variable name="realname" select="local-name()"/> <xsl:value-of select="$buildKeyPool"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="msxsl:node-set($buildKeyPool)"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="keypoolnodes"> <xsl:call-template name="postevalkeypool"> <xsl:with-param name="KeyPoolSnippet" select="$currentKeyPool"/> <xsl:with-param name="localname" select="$localname"/> </xsl:call-template> </xsl:variable> <xsl:variable name="uniqueHeadTuple"> <xsl:copy-of select="msxsl:node-set($keypoolnodes)/htuple[not(.=following::htuple/.)]"/> </xsl:variable> <xsl:variable name="uniqueTuples"> <xsl:copy-of select="msxsl:node-set($keypoolnodes)/tuple[not(.=following::tuple/.)]"/> </xsl:variable> <xsl:variable name="cleanedKeyPool"> <xsl:for-each select="msxsl:node-set($uniqueHeadTuple)/node()"> <xsl:value-of select="current()"/> </xsl:for-each> <xsl:for-each select="msxsl:node-set($uniqueTuples)/node()"> <xsl:value-of select="current()"/> </xsl:for-each> </xsl:variable> <xsl:if test="current()"> <xsl:choose> <xsl:when test="$uniqueHeadTuple != ''"> <xsl:apply-templates select="current()"> <xsl:with-param name="KeyPool" select="$cleanedKeyPool"/> <xsl:with-param name="parentElement" select="$parentElement"/> </xsl:apply-templates> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> </xsl:if> </xsl:template> <xsl:template name="postevalkeypool"> <xsl:param name="KeyPoolSnippet"/> <xsl:param name="localname"/> <xsl:choose> <xsl:when test="contains($KeyPoolSnippet, '§')"> <xsl:call-template name="postevalkeypoolpairs"> <xsl:with-param name="KeyPoolSnippet" select="substring-before($KeyPoolSnippet, '§')"/> <xsl:with-param name="localname" select="$localname"/> </xsl:call-template> <xsl:call-template name="postevalkeypool"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, '§')"/> <xsl:with-param name="localname" select="$localname"/> </xsl:call-template> </xsl:when> </xsl:choose> </xsl:template> <xsl:template name="postevalkeypoolpairs"> <xsl:param name="localname"/> <xsl:param name="KeyPoolSnippet"/> <xsl:choose> <xsl:when test="contains($KeyPoolSnippet, concat(concat($localname, ' '),'Sim')) and not(contains(substring-after($KeyPoolSnippet, ' Sim'), '.'))"> <htuple> <xsl:value-of select="concat(normalize-space($KeyPoolSnippet), '§')"/> </htuple> </xsl:when> <xsl:otherwise> <xsl:if test="contains($KeyPoolSnippet, concat(' ','Sim'))"> <xsl:variable name="hasdesignatedvalue"> <xsl:variable name="getSimModelColumn"> <xsl:value-of select="substring-after($KeyPoolSnippet, ' Sim')"/> </xsl:variable> <xsl:choose> <xsl:when test="contains(substring-after($getSimModelColumn,'.'), '.')">TRUE</xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="evalcurrentvalue"> <xsl:choose> <xsl:when test="$hasdesignatedvalue = 'TRUE'"> <xsl:variable name="check_value_of_property"> <xsl:call-template name="GenerateTargetElementContentsFromSourceProperties"> <xsl:with-param name="KeyPool" select="concat($KeyPoolSnippet, '§')"/> <xsl:with-param name="preEvaluation" select="substring-after(substring-before($KeyPoolSnippet, ' Sim'), concat($localname, '.'))"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$check_value_of_property = 'TRUE'">TRUE</xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise>FALSE</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:if test="$hasdesignatedvalue = 'FALSE' or ($hasdesignatedvalue = 'TRUE' and $evalcurrentvalue = 'TRUE')"> <tuple> <xsl:choose> <xsl:when test="contains(substring-after($KeyPoolSnippet, ' '), ' ')"> <xsl:call-template name="getTuple"> <xsl:with-param name="KeyPoolSnippet" select="$KeyPoolSnippet"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="concat(normalize-space($KeyPoolSnippet), '§')"/> </xsl:otherwise> </xsl:choose> </tuple> </xsl:if> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getTuple"> <xsl:param name="KeyPoolSnippet"/> <xsl:if test="contains($KeyPoolSnippet, ' ') and (not(starts-with(substring-after($KeyPoolSnippet, ' '),'Sim')) or not(starts-with(substring-after($KeyPoolSnippet, ' '),'sim')))"> <xsl:call-template name="getTuple"> <xsl:with-param name="KeyPoolSnippet" select="substring-after($KeyPoolSnippet, ' ')"/> </xsl:call-template> </xsl:if> <xsl:if test="contains($KeyPoolSnippet, ' ') and (starts-with(substring-after($KeyPoolSnippet, ' '),'Sim') or starts-with(substring-after($KeyPoolSnippet, ' '),'sim'))"> <xsl:copy-of select="concat(normalize-space($KeyPoolSnippet), '§')"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="xsl msxsl"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'"/> <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/> <xsl:template name="ToLower"> <xsl:param name="input"/> <xsl:value-of select="translate($input, $uppercase, $lowercase)"/> </xsl:template> <xsl:template name="remove"> <xsl:param name="input"/> <xsl:param name="removal"/> <xsl:param name="exchangevalue" select="''"/> <xsl:choose> <xsl:when test="$exchangevalue != ''"> <xsl:value-of select="translate($input, $removal, $exchangevalue)"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="translate($input, $removal, '')"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getTargetElementName"> <xsl:param name="KeyPool"/> <xsl:variable name="splitter" select="concat(concat(local-name(), ' '),'Sim')"/> <xsl:variable name="headtuple"> <xsl:value-of select="concat(concat($splitter, substring-before(substring-after($KeyPool, $splitter), '§')),'§')"/> </xsl:variable> <xsl:variable name="evaltargetname"> <xsl:value-of select="normalize-space(substring-after(substring-before($headtuple, '§'), ' '))"/> </xsl:variable> <xsl:choose> <xsl:when test="contains($evaltargetname, ' ')"> <xsl:choose> <xsl:when test="contains(substring-after($evaltargetname, ' '), ' ')"> <xsl:value-of select="normalize-space( substring-after( substring-after($evaltargetname, ' '), ' ') )"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="normalize-space(substring-after($evaltargetname, ' '))"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:copy-of select="$evaltargetname"/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="getTargetElementNames"> <xsl:param name="KeyPool"/> <xsl:variable name="splitter" select="concat(concat(local-name(), ' '),'Sim')"/> <xsl:variable name="headtuple"> <xsl:value-of select="concat(concat($splitter, substring-before(substring-after($KeyPool, $splitter), '§')),'§')"/> </xsl:variable> <xsl:variable name="evaltargetname"> <xsl:value-of select="normalize-space(substring-after(substring-before($headtuple, '§'), ' '))"/> </xsl:variable> <xsl:choose> <xsl:when test="contains($evaltargetname, ' ')"> <xsl:choose> <xsl:when test="contains(substring-after($evaltargetname, ' '), ' ')"> <xsl:value-of select="normalize-space( substring-after( substring-after($evaltargetname, ' '), ' ') )"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="normalize-space(substring-after($evaltargetname, ' '))"/> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:copy-of select="concat(' ', $evaltargetname)"/> </xsl:otherwise> </xsl:choose> <xsl:if test="contains(substring-after($KeyPool, $splitter), $splitter)"> <xsl:call-template name="getTargetElementNames"> <xsl:with-param name="KeyPool" select="substring-after(substring-after($KeyPool, $splitter), ' ')"/> </xsl:call-template> </xsl:if> </xsl:template> <xsl:template name="KeyPoolHelper"> <xsl:param name="currentElement"/> <xsl:param name="parentElement"/> <xsl:variable name="localname"> <xsl:choose> <xsl:when test="contains($currentElement,':')"> <xsl:value-of select="substring-after($currentElement,':')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$currentElement"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="currentKeyPool"> <xsl:variable name="buildKeyPool"> <xsl:call-template name="KeyPoolBuilder"> <xsl:with-param name="ElementName" select="$localname"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="current()/*[(@xsi:type ='IfcDistributionSystem' or @xsi:type = 'ifc:IfcDistributionSystem') and @GlobalId]"> <xsl:variable name="realname" select="local-name()"/> <xsl:value-of select="$buildKeyPool"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="msxsl:node-set($buildKeyPool)"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="keypoolnodes"> <xsl:call-template name="postevalkeypool"> <xsl:with-param name="KeyPoolSnippet" select="$currentKeyPool"/> <xsl:with-param name="localname" select="$localname"/> </xsl:call-template> </xsl:variable> <xsl:variable name="uniqueHeadTuple"> <xsl:copy-of select="msxsl:node-set($keypoolnodes)/htuple[not(.=following::htuple/.)]"/> </xsl:variable> <xsl:variable name="uniqueTuples"> <xsl:copy-of select="msxsl:node-set($keypoolnodes)/tuple[not(.=following::tuple/.)]"/> </xsl:variable> <xsl:variable name="cleanedKeyPool"> <xsl:for-ea