optimized code (fixes the last two issues regarding the output to reference model of use case 1).

parent e117750b
<?xml version="1.0" encoding="utf-8"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) GenerateTargetElement.xsl 20.9.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(), ' ') != '' and substring-after(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.9 (Author KIT BLM) GenerateTargetElement.xsl 23.9.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:variable name="assembleContents"> <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(), ' ') != '' and substring-after(text(), ' ') != ' '"> <xsl:element name="{normalize-space(substring-before(text(), ' '))}"> <xsl:value-of select="substring-after(text(), ' ')"/> </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="$assembleContents"/> </xsl:call-template> </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.9 (Author KIT BLM) IfcActor.xsl 20.9.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.9 (Author KIT BLM) IfcActor.xsl 23.9.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.9 (Author KIT BLM) IfcBoiler.xsl 20.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcBoiler.xsl 23.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </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.9 (Author KIT BLM) IfcBuilding.xsl 20.9.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.9 (Author KIT BLM) IfcBuilding.xsl 23.9.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.9 (Author KIT BLM) IfcBuildingStorey.xsl 20.9.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.9 (Author KIT BLM) IfcBuildingStorey.xsl 23.9.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.9 (Author KIT BLM) IfcBuildingSystem.xsl 20.9.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.9 (Author KIT BLM) IfcBuildingSystem.xsl 23.9.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.9 (Author KIT BLM) IfcController.xsl 20.9.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.9 (Author KIT BLM) IfcController.xsl 23.9.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.9 (Author KIT BLM) IfcDistributionPort.xsl 20.9.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.9 (Author KIT BLM) IfcDistributionPort.xsl 23.9.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.9 (Author KIT BLM) IfcDistributionSystem.xsl 20.9.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.9 (Author KIT BLM) IfcDistributionSystem.xsl 23.9.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.9 (Author KIT BLM) IfcGroup.xsl 20.9.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
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcGroup.xsl 23.9.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.9 (Author KIT BLM) IfcHelper.xsl 20.9.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
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcHelper.xsl 23.9.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.9 (Author KIT BLM) IfcOccupant.xsl 20.9.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.9 (Author KIT BLM) IfcOccupant.xsl 23.9.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.9 (Author KIT BLM) IfcPipeFitting.xsl 20.9.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.9 (Author KIT BLM) IfcPipeFitting.xsl 23.9.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.9 (Author KIT BLM) IfcPipeSegment.xsl 20.9.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.9 (Author KIT BLM) IfcPipeSegment.xsl 23.9.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.9 (Author KIT BLM) IfcProject.xsl 20.9.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.9 (Author KIT BLM) IfcProject.xsl 23.9.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.9 (Author KIT BLM) IfcPump.xsl 20.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcPump.xsl 23.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </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.9 (Author KIT BLM) IfcRelConnectsPorts.xsl 20.9.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.9 (Author KIT BLM) IfcRelConnectsPorts.xsl 23.9.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.9 (Author KIT BLM) IfcSite.xsl 20.9.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.9 (Author KIT BLM) IfcSite.xsl 23.9.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.9 (Author KIT BLM) IfcSpace.xsl 20.9.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.9 (Author KIT BLM) IfcSpace.xsl 23.9.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.9 (Author KIT BLM) IfcSpaceHeater.xsl 20.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcSpaceHeater.xsl 23.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </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.9 (Author KIT BLM) IfcSystem.xsl 20.9.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
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcSystem.xsl 23.9.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.9 (Author KIT BLM) IfcTank.xsl 20.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcTank.xsl 23.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </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.9 (Author KIT BLM) IfcType.xsl 20.9.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.9 (Author KIT BLM) IfcType.xsl 23.9.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.9 (Author KIT BLM) IfcValve.xsl 20.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </xsl:if> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) IfcValve.xsl 23.9.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="filtercomplexpropertycontent"> <xsl:call-template name="tryAssembleTargetFromComplexProperty"> <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:copy-of select="$filtercomplexpropertycontent"/> </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.9 (Author KIT BLM) IfcZone.xsl 20.9.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.9 (Author KIT BLM) IfcZone.xsl 23.9.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: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:when test="@Name = 'PSim_Controller' and contains($KeyPoolSnippet, 'AssignedToFlowElement') and $elementId != ''"> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="concat(' ID', $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() = 'IfcComplexProperty'"> <xsl:choose> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves' and $subComplexProp = 'GlobalId'"> <xsl:element name="{normalize-space(concat('eeBIMcp_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after($simpropfullname, ':')"/> <xsl:value-of select="concat(' ID_cp_', $elementId)"/> </xsl:element> </xsl:when> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves' and $subComplexProp != ''"> <xsl:for-each select="./ifc:HasProperties/node()"> <xsl:if test="@Name = $subComplexProp"> <xsl:element name="{normalize-space(concat('eeBIMcp_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="."/> </xsl:element> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="concat(' ID_cp_', $elementId)"/> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:if 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:if> </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:variable name="generateContents"> <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:variable> <xsl:if test="$generateContents !=''"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:copy-of select="$generateContents"/> </xsl:element> </xsl:if> </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:when test="@Name = 'PSim_Controller' and contains($KeyPoolSnippet, 'AssignedToFlowElement') and $elementId != ''"> <xsl:element name="{normalize-space(concat('eeBIMc_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="concat(' ID', $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() = 'IfcComplexProperty'"> <xsl:choose> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves' and $subComplexProp = 'GlobalId'"> <xsl:element name="{normalize-space(concat('eeBIMcp_FLAG_', 'SimDummy'))}"> <xsl:value-of select="substring-after($simpropfullname, ':')"/> <xsl:value-of select="concat(' ID_cp_', $elementId)"/> </xsl:element> </xsl:when> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves' and $subComplexProp != ''"> <xsl:for-each select="./ifc:HasProperties/node()"> <xsl:if test="@Name = $subComplexProp"> <xsl:element name="{normalize-space(concat('eeBIMcp_FLAG_', substring-after($simpropfullname, ':')))}"> <xsl:value-of select="concat($simpropfullname,' ')"/> <xsl:value-of select="."/> </xsl:element> </xsl:if> </xsl:for-each> </xsl:when> <xsl:when test="@Name = 'PartialLoadEfficiencyCurves'"> <xsl:element name="{normalize-space($simpropfullname)}"> <xsl:value-of select="concat(' ID_cp_', $elementId)"/> </xsl:element> </xsl:when> <xsl:otherwise> <xsl:if 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:if> </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"?>
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) SimXsdRrepository.xsl 20.9.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:xs="http://www.w3.org/2001/XMLSchema" 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="vSchema"> <xsl:copy-of select="$simmodel"/> <xsl:copy-of select="$simres"/> <xsl:copy-of select="$simmep"/> <xsl:copy-of select="$simgeom"/> <xsl:copy-of select="$simcore"/> <xsl:copy-of select="$simbldg"/> </xsl:variable> <xsl:template name="IterateAlongSequenceOrder"> <xsl:param name="KeyPool"/> <xsl:param name="CurrentSimElementName"/> <xsl:param name="preEvaluation"/> <xsl:param name="unsortedtargetcontent"/> <xsl:choose> <xsl:when test="$preEvaluation != ''"> <xsl:copy-of select="$unsortedtargetcontent"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="msxsl:node-set($vSchema)"> <xsl:choose> <xsl:when test="$CurrentSimElementName != 'SimModel'"> <xsl:apply-templates select="key('kxsComplexTypeByName', $CurrentSimElementName)"> <xsl:with-param name="pElement" select="$CurrentSimElementName"/> <xsl:with-param name="pUnsortedItemList" select="$unsortedtargetcontent"/> </xsl:apply-templates> </xsl:when> <xsl:when test="$CurrentSimElementName = 'SimModel'"> <xsl:apply-templates select="key('kxsElementByName', $CurrentSimElementName)"> <xsl:with-param name="pElement" select="$CurrentSimElementName"/> <xsl:with-param name="pUnsortedItemList" select="$unsortedtargetcontent"/> </xsl:apply-templates> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:key name="kxsComplexTypeByName" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simmodel" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simcore" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simres" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simgeom" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simbldg" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simmep" match="xs:complexType" use="@name"/> <xsl:key name="kxsElementByName" match="xs:element" use="@name"/> <xsl:template match="xs:complexType"> <xsl:param name="pElement"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="base"> <xsl:choose> <xsl:when test="current()/xs:complexContent/xs:extension[@base]"> <xsl:value-of select="current()/xs:complexContent/xs:extension/@base"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="current()/xs:sequence/xs:element"> <xsl:apply-templates mode="generate" select="current()/xs:sequence/xs:element"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:when> <xsl:otherwise> <xsl:if test="$base != ''"> <xsl:variable name="subnamespace" select="substring-before($base,':')"/> <xsl:variable name="localname" select="substring-after($base,':')"/> <xsl:choose> <xsl:when test="$subnamespace = 'simmodel'"> <xsl:for-each select="msxsl:node-set($simmodel)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simmodel', $base)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simcore'"> <xsl:for-each select="msxsl:node-set($simcore)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simcore', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simres'"> <xsl:for-each select="msxsl:node-set($simres)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simres', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simgeom'"> <xsl:for-each select="msxsl:node-set($simgeom)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simgeom', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simbldg'"> <xsl:for-each select="msxsl:node-set($simbldg)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simbldg', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simmep'"> <xsl:for-each select="msxsl:node-set($simmep)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simmep', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:if> <xsl:apply-templates mode="generate" select="current()/xs:complexContent/xs:extension/xs:sequence/*"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="xs:element"> <xsl:param name="pElement"/> <xsl:param name="pUnsortedItemList"/> <xsl:apply-templates mode="order" select="current()/xs:complexType/xs:sequence/*"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:template> <xsl:template match="xs:element" mode="generate"> <xsl:param name="pParent"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="CurrentSequenceElementName" select="@ref | @href"/> <xsl:for-each select="msxsl:node-set($pUnsortedItemList)/*"> <xsl:if test="$CurrentSequenceElementName = name()"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template match="xs:element" mode="order"> <xsl:param name="pParent"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="CurrentSequenceElementName" select="@name"/> <xsl:for-each select="msxsl:node-set($pUnsortedItemList)/*"> <xsl:if test="$CurrentSequenceElementName = name()"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template></xsl:stylesheet>
\ No newline at end of file
<!-- KIT Tool | EneffBIM converter 2016 Version 0.9 (Author KIT BLM) SimXsdRrepository.xsl 23.9.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:xs="http://www.w3.org/2001/XMLSchema" 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="vSchema"> <xsl:copy-of select="$simmodel"/> <xsl:copy-of select="$simres"/> <xsl:copy-of select="$simmep"/> <xsl:copy-of select="$simgeom"/> <xsl:copy-of select="$simcore"/> <xsl:copy-of select="$simbldg"/> </xsl:variable> <xsl:template name="IterateAlongSequenceOrder"> <xsl:param name="KeyPool"/> <xsl:param name="CurrentSimElementName"/> <xsl:param name="preEvaluation"/> <xsl:param name="unsortedtargetcontent"/> <xsl:choose> <xsl:when test="$preEvaluation != ''"> <xsl:copy-of select="$unsortedtargetcontent"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="msxsl:node-set($vSchema)"> <xsl:choose> <xsl:when test="$CurrentSimElementName != 'SimModel'"> <xsl:apply-templates select="key('kxsComplexTypeByName', $CurrentSimElementName)"> <xsl:with-param name="pElement" select="$CurrentSimElementName"/> <xsl:with-param name="pUnsortedItemList" select="$unsortedtargetcontent"/> </xsl:apply-templates> </xsl:when> <xsl:when test="$CurrentSimElementName = 'SimModel'"> <xsl:apply-templates select="key('kxsElementByName', $CurrentSimElementName)"> <xsl:with-param name="pElement" select="$CurrentSimElementName"/> <xsl:with-param name="pUnsortedItemList" select="$unsortedtargetcontent"/> </xsl:apply-templates> </xsl:when> </xsl:choose> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:key name="kxsComplexTypeByName" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simmodel" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simcore" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simres" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simgeom" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simbldg" match="xs:complexType" use="@name"/> <xsl:key name="kxsComplexTypeByName_simmep" match="xs:complexType" use="@name"/> <xsl:key name="kxsElementByName" match="xs:element" use="@name"/> <xsl:template match="xs:complexType"> <xsl:param name="pElement"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="base"> <xsl:choose> <xsl:when test="current()/xs:complexContent/xs:extension[@base]"> <xsl:value-of select="current()/xs:complexContent/xs:extension/@base"/> </xsl:when> </xsl:choose> </xsl:variable> <xsl:choose> <xsl:when test="current()/xs:sequence/xs:element"> <xsl:apply-templates mode="generate" select="current()/xs:sequence/xs:element"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:when> <xsl:otherwise> <xsl:if test="$base != ''"> <xsl:variable name="subnamespace" select="substring-before($base,':')"/> <xsl:variable name="localname" select="substring-after($base,':')"/> <xsl:choose> <xsl:when test="$subnamespace = 'simmodel'"> <xsl:for-each select="msxsl:node-set($simmodel)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simmodel', $base)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simcore'"> <xsl:for-each select="msxsl:node-set($simcore)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simcore', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simres'"> <xsl:for-each select="msxsl:node-set($simres)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simres', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simgeom'"> <xsl:for-each select="msxsl:node-set($simgeom)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simgeom', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simbldg'"> <xsl:for-each select="msxsl:node-set($simbldg)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simbldg', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> <xsl:when test="$subnamespace = 'simmep'"> <xsl:for-each select="msxsl:node-set($simmep)"> <xsl:apply-templates select="key('kxsComplexTypeByName_simmep', $localname)"> <xsl:with-param name="pElement" select="localname"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:for-each> </xsl:when> </xsl:choose> </xsl:if> <xsl:apply-templates mode="generate" select="current()/xs:complexContent/xs:extension/xs:sequence/*"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="xs:element"> <xsl:param name="pElement"/> <xsl:param name="pUnsortedItemList"/> <xsl:apply-templates mode="order" select="current()/xs:complexType/xs:sequence/*"> <xsl:with-param name="pParent" select="$pElement"/> <xsl:with-param name="pUnsortedItemList" select="$pUnsortedItemList"/> </xsl:apply-templates> </xsl:template> <xsl:template match="xs:element" mode="generate"> <xsl:param name="pParent"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="CurrentSequenceElementName" select="@ref | @href"/> <xsl:for-each select="msxsl:node-set($pUnsortedItemList)/*"> <xsl:if test="$CurrentSequenceElementName = name()"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template> <xsl:template match="xs:element" mode="order"> <xsl:param name="pParent"/> <xsl:param name="pUnsortedItemList"/> <xsl:variable name="CurrentSequenceElementName" select="@name"/> <xsl:for-each select="msxsl:node-set($pUnsortedItemList)/*"> <xsl:if test="$CurrentSequenceElementName = name()"> <xsl:copy-of select="current()"/> </xsl:if> </xsl:for-each> </xsl:template></xsl:stylesheet>
\ No newline at end of file
......
......@@ -233,6 +233,7 @@
<!--<xsl:copy-of select="./*"/>-->
<!--static template call "Fill Sceleton":-->
<!--<xsl:call-template name="IfcController"/>-->
<xsl:variable name="assembleContents">
<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(), ' ') != '' and substring-after(text(), ' ') != ' '">
<!--<xsl:element name="SimActor_Actor_Default"> <xsl:value-of select="text()"/> </xsl:element>-->
......@@ -241,6 +242,12 @@
</xsl:element>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:call-template name="IterateAlongSequenceOrder">
<!--<xsl:with-param name="KeyPool" select="$KeyPool"/>-->
<xsl:with-param name="CurrentSimElementName" select="$designatedElementTargetName"/>
<xsl:with-param name="unsortedtargetcontent" select="$assembleContents"/>
</xsl:call-template>
</xsl:element>
</xsl:when>
<xsl:when test="contains(name(), 'SimDummy')">
......
......@@ -200,7 +200,7 @@
<xsl:variable name="nestingpathtochild">
<xsl:value-of select="substring-after($ifckey,$elementchildren)"/>
</xsl:variable>
<xsl:element name="{normalize-space($simpropfullname)}">
<xsl:variable name="generateContents">
<!--DEBUG-->
<!--<xsl:value-of select="$ifckey"/>: <xsl:value-of select="$simpropfullname"/>((<xsl:value-of select="$simkey"/>)) ((<xsl:value-of select="$checkall"/>))-->
<!--*| nestingpathfromparent: <xsl:value-of select="$nestingpathfromparent"/> |*
......@@ -843,7 +843,12 @@
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:variable>
<xsl:if test="$generateContents !=''">
<xsl:element name="{normalize-space($simpropfullname)}">
<xsl:copy-of select="$generateContents"/>
</xsl:element>
</xsl:if>
</xsl:when>
<!-- PROPERTYSET MATCH CONDITION - if current iterated source property matches the entry in the mapping table a corresponding target output is produced-->
<xsl:when test="not($pname = '') and contains($KeyPoolSnippet, $psetname) and contains($KeyPoolSnippet, $pname)">
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment