beta release KIT Tool | EneffBIM converter 2016 Version 0.2 notes: improved...

beta release KIT Tool | EneffBIM converter 2016  Version 0.2 notes: improved mapping table syntax interpretation, bug fixes, optimized business logic (performance and new IFC4ADD1 structures)
parent ba7fbc6a
......@@ -92,8 +92,11 @@
<SimFlowFitting_Default_Default RefId="ID0SBCwkhtr4RvmQFUPnplg"/>
<SimFlowFitting_Default_Default RefId="ID0SBCwkhtr4RvmQFUPnplgH"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1_"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1d"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1Z"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D1j"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D14"/>
<SimFlowFitting_Default_Default RefId="ID0LMbjl8XfFaui1YxJs_D16"/>
<SimFlowFitting_Default_Default RefId="ID3dRw6Yp9BjhdE5QH6wzxT"/>
<SimFlowFitting_Default_Default RefId="ID3dRw6Yp9BjhdE5QH6wzx3"/>
<SimFlowMover_Pump_ConstantSpeedReturn RefId="ID0LMbjl8XfFaui1YxJs_D1q"><simcore:SimUniqueID>0LMbjl8XfFaui1YxJs_D1q</simcore:SimUniqueID><simmep:SimFlowMover_Name>Pump IFC4 Schema:Allgemein:908032</simmep:SimFlowMover_Name><simmep:SimFlowMover_MotorEff>0.9</simmep:SimFlowMover_MotorEff><simmep:SimFlowMover_RatedFlowRate>0.02</simmep:SimFlowMover_RatedFlowRate><simmep:SimFlowMover_RatedPumpHead>165.850824</simmep:SimFlowMover_RatedPumpHead><simmep:SimFlowMover_FracMotorInEffToFluidStream/><simmep:SimFlowMover_PumpContType/></SimFlowMover_Pump_ConstantSpeedReturn>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
<SimModel xsi:schemaLocation="http://www.lbl.gov/namespaces/Sim/Model ../../../../../EnEffBIM_UseCases/SimModelSchema/simmodel.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/MepModel"/>
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) GenerateTargetElement.xsl 17.3.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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: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: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:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) IfcActor.xsl 29.2.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="getSimElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="targetelements"> <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:call-template name="GenerateIfcElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="pregens" select="$targetelements"/> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) IfcActor.xsl 17.3.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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.1 (Author KIT BLM) IfcController.xsl 17.3.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="filterAllElementContents"> <xsl:param name="input"/> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="not(starts-with(local-name(), 'eeBIMc_FLAG_'))"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template name="filterAllControllerContents"> <xsl:param name="input"/> <xsl:variable name="filter"> <xsl:for-each select="msxsl:node-set($input)/node()"> <xsl:if test="starts-with(local-name(), 'eeBIMc_FLAG_')"> <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="FillControllerSceleton"> <xsl:param name="taggedTargetContent"/> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) IfcOccupant.xsl 29.2.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="getSimElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="targetelements"> <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:call-template name="GenerateIfcElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="pregens" select="$targetelements"/> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) IfcOccupant.xsl 17.3.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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.1 (Author KIT BLM) IfcTank.xsl 29.2.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="getSimElementName"> <xsl:with-param name="KeyPool" select="$KeyPool"/> </xsl:call-template> </xsl:variable> <xsl:variable name="targetelements"> <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:call-template name="GenerateIfcElement"> <xsl:with-param name="KeyPool" select="$KeyPool"/> <xsl:with-param name="simelemname" select="$simelemname"/> <xsl:with-param name="pregens" select="$targetelements"/> </xsl:call-template> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM) IfcTank.xsl 17.3.2016 --><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="filteredelementscontrollercontents"> <xsl:call-template name="filterAllControllerContents"> <xsl:with-param name="input" select="$resolvedfromproperties"/> </xsl:call-template> </xsl:variable> <xsl:choose> <xsl:when test="$filteredelementscontrollercontents != '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="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="$filteredcurrentelementcontents"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> <xsl:call-template name="FillControllerSceleton"> <xsl:with-param name="taggedTargetContent" select="$filteredelementscontrollercontents"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <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:otherwise> </xsl:choose> </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.1 (Author KIT BLM) -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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"/>
<!--Check wether IfcElement is instance (else ignore reference object with @ref="...")-->
<xsl:if test="current()[@GlobalId]">
<!--or $preEvaluation != ''"-->
<xsl:for-each select=".">
<!--DEBUG-->
<!--<xsl:copy-of select="$PropertySetsByRelDefBy"/>-->
<!--DEBUG-->
<!--DEBUG-->
<!--<xsl:value-of select="$elemid"/>-->
<!--DEBUG-->
<!--<xsl:choose>
<xsl:when test="$preEvaluation != ''">
<xsl:call-template name="IterateAlongSequenceOrder">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
<xsl:with-param name="CurrentSimElementName" select="$simelemname"/>
<xsl:with-param name="preEvaluation" select="$preEvaluation"/>
<xsl:with-param name="unsortedtargetcontent" select="$unsortedtargetcontent"/>
</xsl:call-template>
-->
<!--<xsl:copy-of select="current()"/>-->
<!--
</xsl:when>
<xsl:otherwise>-->
<!--GENERATE the target element-->
<xsl:element name="{$simelemname}">
<!--DEBUG-->
<!--<xsl:element name="SimFlowPlant_Boiler_BoilerHotWater">-->
<!--<xsl:copy-of select="$KeyPool"/>-->
<!--<xsl:element name="ConcatedPsetCollections">
<xsl:copy-of select="$ConcatedPsetCollections"/>
</xsl:element>-->
<!--DEBUG-->
<!--DEBUG-->
<!--<xsl:element name="SimFlowPlant_Boiler_BoilerHotWater">-->
<!--<xsl:element name="DuplicateList">
<xsl:copy-of select="$DuplicateList"/>
</xsl:element> -->
<!--DEBUG-->
<!--generate the only xml attribute-->
<xsl:attribute name="RefId"><xsl:call-template name="TargetValueFormatConditions"><!--Here is where the ID-Generator has to go --><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>
<!--concat('ID',@GlobalId)-->
<!--</xsl:variable>-->
<!--<xsl:variable name="uniquecollection" select="msxsl:node-set($mergelcollections)"/>-->
<!--name of corrosponding simmodel element-->
<!--Debug-->
<!--<xsl:value-of select="$CurrentSimElementName"/>-->
<!--Debug-->
<!--employ the SimXsdRepository with the combined pset collection from the source model
after checking the existance of the handed in pset/properties in the mapping table they are generated and added to result tree in correct (schema-conform) order-->
<!--<xsl:value-of select="$KeyPool"/>-->
<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:with-param name="unsortedtargetcontent" select="$unsortedtargetcontent"/>
</xsl:call-template>
<!--<xsl:if test="$pregens != ''">
<xsl:copy-of select="$pregens"/>
</xsl:if>-->
</xsl:element>
<!--</xsl:otherwise>
</xsl:choose>-->
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:param name="KeyPool"/>
<xsl:param name="preEvaluation"/>
<!--Check wether IfcElement is instance (else ignore reference object with @ref="...")-->
<xsl:if test="current()[@GlobalId]">
<!--or $preEvaluation != ''"-->
<xsl:for-each select=".">
<!--##################################################### INTERIMS ############################################################-->
<!--in order to generalize template: trigger switches "IfcPropertySet" or "orderonly"-->
<!--resolve IFC concept: if duplicate property in IFC model, then property on object's TYPE gets overwritten by the more specific property on object's OCCURANCE-->
<!--<xsl:copy-of select="current()"/>-->
<!--case 1: gather psets connected via IFC Type-->
<xsl:variable name="PropertySetsByType">
<xsl:call-template name="IfcType">
<!--<xsl:with-param name="elemid" select="$elemid"/>
<xsl:with-param name="elem" select="$elem"/>-->
</xsl:call-template>
</xsl:variable>
<!--case 2: gather psets connected via RelDefByProperties-->
<xsl:variable name="PropertySetsByRelDefBy">
<xsl:call-template name="ResolveIfcRelDefinesByProperties">
<!--<xsl:with-param name="elemid" select="$elemid"/>-->
</xsl:call-template>
<!--IsDefinedBy-->
<xsl:if test="current()/IsDefinedBy"><!--name="PropertySetsBy_IsDefinedBy"-->
<xsl:for-each select="current()/IsDefinedBy/IfcRelDefinesByProperties/RelatingPropertyDefinition">
<xsl:copy-of select="current()"/>
</xsl:for-each>
</xsl:if>
</xsl:variable>
<!--combine ALL possible PSets to current source object (concat(PropertySetsByType, PropertySetsByRelDefBy)-->
<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:call-template name="ConcatPsetCollections">
<xsl:with-param name="PSByRelDef" select="$PropertySetsByRelDefBy"/>
<xsl:with-param name="PSByType" select="$PropertySetsByType"/>
</xsl:call-template>-->
</xsl:variable>
<!--generate all keyPool matching pset/properties (unsorted!)-->
<!--<xsl:variable name="PreGeneratedAccordingToKeyPool">-->
<!--<xsl:for-each select="msxsl:node-set($pregens)/*">
<xsl:copy-of select="current()"/>
</xsl:for-each>-->
<!--to do: filter only property sets where the @Name attribute is contained in current KeyPool-->
<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:call-template>
</xsl:for-each>
<!--</xsl:variable>-->
<!--Debug-->
<!--<xsl:element name="PreGeneratedAccordingToKeyPool">
<xsl:copy-of select="$PreGeneratedAccordingToKeyPool"/>
</xsl:element>-->
<!--Debug-->
<!--##################################################### INTERIMS ############################################################-->
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template name="MergeTargetElementContentCollections">
<xsl:param name="generictargetcontent"/>
<xsl:param name="resolvedfromproperties"/>
<!--COMBINE WITH PREGENERATED FROM ELEMENT -->
<!--<xsl:variable name="mergelcollections">-->
<!--<xsl:for-each select="msxsl:node-set($PreGeneratedAccordingToKeyPool)/node()">
<xsl:copy-of select="current()"/>
</xsl:for-each>-->
<!--<xsl:variable name="unsortedtargetcontent">-->
<!--overwrite_generic_with_pset_source-->
<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>
<!--in case -->
<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:variable>-->
<!--<xsl:variable name="checkuniqueness">
<xsl:for-each select="msxsl:node-set($pregens)/node()">
<xsl:if test="name() = $psetitem">
<xsl:copy-of select="current()"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:choose>-->
<!--<xsl:when test="$checkuniqueness = ''">
<xsl:copy-of select="$checkuniqueness"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="current()"/>
</xsl:otherwise>
</xsl:choose>-->
<!--RETURN the collection of target element content produced by resolving the properties connected to the source object-->
<!--<xsl:if test="$unsortedtargetcontent = ''">
<xsl:copy-of select="$unsortedtargetcontent"/>
</xsl:if>-->
</xsl:template>
</xsl:stylesheet>
......@@ -8,11 +8,11 @@
<xsl:param name="KeyPool"/>
<xsl:if test="$KeyPool != ''">
<xsl:variable name="simelemname">
<xsl:call-template name="getSimElementName">
<xsl:call-template name="getTargetElementName">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="targetelements">
<xsl:variable name="generictargetcontent">
<!--<xsl:element name="simcore:SimUniqueID">TTT</xsl:element>-->
<!-- generate current's target elements specific fields and attributes (e.g. UniqueId)-->
<!--<xsl:copy>-->
......@@ -22,11 +22,26 @@
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<xsl:variable name="resolvedfromproperties">
<!-- generate target element content from current source object's properties-->
<!--<xsl:copy>-->
<xsl:call-template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--Call the Generic Generation Template-->
<xsl:call-template name="GenerateIfcElement">
<xsl:call-template name="GenerateTargetElement">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
<xsl:with-param name="simelemname" select="$simelemname"/>
<xsl:with-param name="pregens" select="$targetelements"/>
<xsl:with-param name="unsortedtargetcontent">
<!--<xsl:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<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>
......
......@@ -8,6 +8,7 @@
<xsl:include href="../../KeyPoolHelper/xsl/KeyPoolHelper.xsl"/>
<xsl:include href="../../KeyBoundElementGenerator/xsl/KeyBoundElementGenerator.xsl"/>
<xsl:include href="../../SimXsdRrepository/xsl/SimXsdRrepository.xsl"/>
<xsl:include href="../../GenerateTargetElement/xsl/GenerateTargetElement.xsl"/>
<!--IFC common templates-->
<xsl:include href="../../IfcPropertySet/xsl/IfcPropertySet.xsl"/>
<xsl:include href="../../IfcType/xsl/IfcType.xsl"/>
......
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.1 (Author KIT BLM)-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/MepModel" xmlns:ifc="http://www.buildingsmart-tech.org/ifcXML/IFC4/Add1" exclude-result-prefixes="xsl ifc">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.lbl.gov/namespaces/Sim/Model" xmlns:simcore="http://www.lbl.gov/namespaces/Sim/SimModelCore" xmlns:simres="http://www.lbl.gov/namespaces/Sim/ResourcesGeneral" xmlns:simgeom="http://www.lbl.gov/namespaces/Sim/ResourcesGeometry" xmlns:simbldg="http://www.lbl.gov/namespaces/Sim/BuildingModel" xmlns:simmep="http://www.lbl.gov/namespaces/Sim/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="*"/>
<!--the IfcBoiler template-->
......@@ -8,26 +8,87 @@
<xsl:param name="KeyPool"/>
<xsl:if test="$KeyPool != ''">
<xsl:variable name="simelemname">
<xsl:call-template name="getSimElementName">
<xsl:call-template name="getTargetElementName">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="targetelements">
<xsl:variable name="generictargetcontent">
<!--<xsl:element name="simcore:SimUniqueID">TTT</xsl:element>-->
<!-- generate current's target elements specific fields and attributes (e.g. UniqueId)-->
<!-- generate current source object's target elements specific fields and attributes (e.g. UniqueId)-->
<!--<xsl:copy>-->
<xsl:call-template name="resolvekeypool">
<xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/>
<xsl:with-param name="elemname" select="'name'"/>
<xsl:with-param name="elemname" select="name()"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--Call the Generic Generation Template-->
<xsl:call-template name="GenerateIfcElement">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
<xsl:with-param name="simelemname" select="$simelemname"/>
<xsl:with-param name="pregens" select="$targetelements"/>
</xsl:call-template>
<xsl:variable name="resolvedfromproperties">
<!-- generate target element content from current source object's properties-->
<!--<xsl:copy>-->
<xsl:call-template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--VARIA TEST arbitrary controller element generation-->
<!--we need to introduce one additional xsl:variable as intermediate step because with the content of target element SimBoiler also the content for the corrosponding SimController was generated which we need to filter-->
<xsl:variable name="filteredelementscontrollercontents">
<xsl:call-template name="filterAllControllerContents">
<xsl:with-param name="input" select="$resolvedfromproperties"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$filteredelementscontrollercontents != 'FALSE'">
<xsl:variable name="filteredcurrentelementcontents">
<xsl:call-template name="filterAllElementContents">
<xsl:with-param name="input" select="$resolvedfromproperties"/>
</xsl:call-template>
</xsl:variable>
<!--Call the Generic Generation Template-->
<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:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<xsl:call-template name="MergeTargetElementContentCollections">
<xsl:with-param name="generictargetcontent" select="$generictargetcontent"/>
<xsl:with-param name="resolvedfromproperties" select="$filteredcurrentelementcontents"/>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<!--TESTWISE produce arbitrary target controller element-->
<!--<xsl:if test="$filteredelementscontrollercontents != 'FALSE'">-->
<!--DEBUG-->
<!--<xsl:element name="SimActor_Actor_Default">
<xsl:copy-of select="$filteredelementscontrollercontents"/>
<xsl:copy-of select="$filteredcurrentelementcontents"/>
</xsl:element>-->
<!--DEBUG-->
<!--<SimController>
Hello controller!
</SimController>-->
<xsl:call-template name="FillControllerSceleton">
<xsl:with-param name="taggedTargetContent" select="$filteredelementscontrollercontents"/>
</xsl:call-template>
<!--</xsl:if>-->
</xsl:when>
<xsl:otherwise>
<!--Call the Generic Generation Template-->
<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:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<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:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
......@@ -8,6 +8,7 @@
<xsl:include href="../../KeyPoolHelper/xsl/KeyPoolHelper.xsl"/>
<xsl:include href="../../KeyBoundElementGenerator/xsl/KeyBoundElementGenerator.xsl"/>
<xsl:include href="../../SimXsdRrepository/xsl/SimXsdRrepository.xsl"/>
<xsl:include href="../../GenerateTargetElement/xsl/GenerateTargetElement.xsl"/>
<!--IFC common templates-->
<xsl:include href="../../IfcPropertySet/xsl/IfcPropertySet.xsl"/>
<xsl:include href="../../IfcType/xsl/IfcType.xsl"/>
......
......@@ -29,13 +29,13 @@
<xsl:param name="KeyPool"/>
<xsl:if test="$KeyPool != ''">
<xsl:variable name="simelemname">
<xsl:call-template name="getSimElementName">
<xsl:call-template name="getTargetElementName">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="targetelements">
<xsl:variable name="generictargetcontent">
<!--<xsl:element name="simcore:SimUniqueID">TTT</xsl:element>-->
<!-- generate current's target elements specific fields and attributes (e.g. UniqueId)-->
<!-- generate current source object's target elements specific fields and attributes (e.g. UniqueId)-->
<!--<xsl:copy>-->
<xsl:call-template name="resolvekeypool">
<xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/>
......@@ -43,11 +43,26 @@
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<xsl:variable name="resolvedfromproperties">
<!-- generate target element content from current source object's properties-->
<!--<xsl:copy>-->
<xsl:call-template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--Call the Generic Generation Template-->
<xsl:call-template name="GenerateIfcElement">
<xsl:call-template name="GenerateTargetElement">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
<xsl:with-param name="simelemname" select="$simelemname"/>
<xsl:with-param name="pregens" select="$targetelements"/>
<xsl:with-param name="unsortedtargetcontent">
<!--<xsl:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<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>
......
......@@ -8,6 +8,7 @@
<xsl:include href="../../KeyPoolHelper/xsl/KeyPoolHelper.xsl"/>
<xsl:include href="../../KeyBoundElementGenerator/xsl/KeyBoundElementGenerator.xsl"/>
<xsl:include href="../../SimXsdRrepository/xsl/SimXsdRrepository.xsl"/>
<xsl:include href="../../GenerateTargetElement/xsl/GenerateTargetElement.xsl"/>
<!--IFC common templates-->
<xsl:include href="../../IfcPropertySet/xsl/IfcPropertySet.xsl"/>
<xsl:include href="../../IfcType/xsl/IfcType.xsl"/>
......
......@@ -30,8 +30,8 @@
</xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:when test="current()/@ref">
<xsl:variable name="refid" select="current()/@ref"/>
<xsl:when test="current()/@ref | current()/@href">
<xsl:variable name="refid" select="current()/@ref | current()/@href"/>
<!--CASE 2 (ref-id): NOT NESTED-->
<xsl:for-each select="msxsl:node-set($allsourceobjects)/descendant::ifc:IfcBuildingStorey">
<!--//*/ifc:IfcBuildingStorey-->
......@@ -70,13 +70,13 @@
<xsl:param name="KeyPool"/>
<xsl:if test="$KeyPool != ''">
<xsl:variable name="simelemname">
<xsl:call-template name="getSimElementName">
<xsl:call-template name="getTargetElementName">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="targetelements">
<xsl:variable name="generictargetcontent">
<!--<xsl:element name="simcore:SimUniqueID">TTT</xsl:element>-->
<!-- generate current's target elements specific fields and attributes (e.g. UniqueId)-->
<!-- generate current source object's target elements specific fields and attributes (e.g. UniqueId)-->
<!--<xsl:copy>-->
<xsl:call-template name="resolvekeypool">
<xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/>
......@@ -84,11 +84,26 @@
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<xsl:variable name="resolvedfromproperties">
<!-- generate target element content from current source object's properties-->
<!--<xsl:copy>-->
<xsl:call-template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--Call the Generic Generation Template-->
<xsl:call-template name="GenerateIfcElement">
<xsl:call-template name="GenerateTargetElement">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
<xsl:with-param name="simelemname" select="$simelemname"/>
<xsl:with-param name="pregens" select="$targetelements"/>
<xsl:with-param name="unsortedtargetcontent">
<!--<xsl:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<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>
......
......@@ -8,6 +8,7 @@
<xsl:include href="../../KeyPoolHelper/xsl/KeyPoolHelper.xsl"/>
<xsl:include href="../../KeyBoundElementGenerator/xsl/KeyBoundElementGenerator.xsl"/>
<xsl:include href="../../SimXsdRrepository/xsl/SimXsdRrepository.xsl"/>
<xsl:include href="../../GenerateTargetElement/xsl/GenerateTargetElement.xsl"/>
<!--IFC common templates-->
<xsl:include href="../../IfcPropertySet/xsl/IfcPropertySet.xsl"/>
<xsl:include href="../../IfcType/xsl/IfcType.xsl"/>
......
......@@ -8,14 +8,40 @@
<xsl:param name="KeyPool"/>
<xsl:if test="$KeyPool != ''">
<xsl:variable name="simelemname">
<xsl:call-template name="getSimElementName">
<xsl:call-template name="getTargetElementName">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="generictargetcontent">
<!--<xsl:element name="simcore:SimUniqueID">TTT</xsl:element>-->
<!-- generate current source object's target elements specific fields and attributes (e.g. UniqueId)-->
<!--<xsl:copy>-->
<xsl:call-template name="resolvekeypool">
<xsl:with-param name="KeyPoolSnippet" select="$KeyPool"/>
<xsl:with-param name="elemname" select="'name'"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<xsl:variable name="resolvedfromproperties">
<!-- generate target element content from current source object's properties-->
<!--<xsl:copy>-->
<xsl:call-template name="GenerateTargetElementContentsFromSourceProperties">
<xsl:with-param name="KeyPool" select="$KeyPool"/>
</xsl:call-template>
<!--</xsl:copy>-->
</xsl:variable>
<!--Call the Generic Generation Template-->
<xsl:call-template name="GenerateIfcElement">
<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:copy-of select="$generictargetcontent"/>-->
<!--<xsl:copy-of select="$resolvedfromproperties"/>-->
<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>
......
......@@ -8,6 +8,7 @@
<xsl:include href="../../KeyPoolHelper/xsl/KeyPoolHelper.xsl"/>
<xsl:include href="../../KeyBoundElementGenerator/xsl/KeyBoundElementGenerator.xsl"/>
<xsl:include href="../../SimXsdRrepository/xsl/SimXsdRrepository.xsl"/>