Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit c1445a8

Browse files
sjoelundOpenModelica-Hudson
authored andcommitted
[FMI] Escape the model's description attribute
Models with a class comment containing `<` or `>` would cause parser errors when loading the generated FMU. Belonging to [master]: - #1905
1 parent fba8150 commit c1445a8

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

Compiler/Template/CodegenFMU1.tpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ case SIMCODE(modelInfo = MODELINFO(varInfo = vi as VARINFO(__), vars = SIMVARS(s
8787
let numberOfEventIndicators = getNumberOfEventIndicators(simCode)
8888
<<
8989
fmiVersion="<%fmiVersion%>"
90-
modelName="<%modelName%>"
91-
modelIdentifier="<%modelIdentifier%>"
90+
modelName="<%Util.escapeModelicaStringToXmlString(modelName)%>"
91+
modelIdentifier="<%Util.escapeModelicaStringToXmlString(modelIdentifier)%>"
9292
guid="{<%guid%>}"
93-
description="<%description%>"
94-
generationTool="<%generationTool%>"
93+
description="<%Util.escapeModelicaStringToXmlString(description)%>"
94+
generationTool="<%Util.escapeModelicaStringToXmlString(generationTool)%>"
9595
generationDateAndTime="<%generationDateAndTime%>"
9696
variableNamingConvention="<%variableNamingConvention%>"
9797
numberOfContinuousStates="<%numberOfContinuousStates%>"

Compiler/Template/CodegenFMU2.tpl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ case SIMCODE(modelInfo = MODELINFO(varInfo = vi as VARINFO(__), vars = SIMVARS(s
118118
let numberOfEventIndicators = getNumberOfEventIndicators(simCode)
119119
<<
120120
fmiVersion="<%fmiVersion%>"
121-
modelName="<%modelName%>"
121+
modelName="<%Util.escapeModelicaStringToXmlString(modelName)%>"
122122
guid="{<%guid%>}"
123-
description="<%description%>"
124-
generationTool="<%generationTool%>"
125-
generationDateAndTime="<%generationDateAndTime%>"
123+
description="<%Util.escapeModelicaStringToXmlString(description)%>"
124+
generationTool="<%Util.escapeModelicaStringToXmlString(generationTool)%>"
125+
generationDateAndTime="<%Util.escapeModelicaStringToXmlString(generationDateAndTime)%>"
126126
variableNamingConvention="<%variableNamingConvention%>"
127127
numberOfEventIndicators="<%numberOfEventIndicators%>"
128128
>>
@@ -136,7 +136,7 @@ case SIMCODE(__) then
136136
let modelIdentifier = modelNamePrefix(simCode)
137137
<<
138138
<CoSimulation
139-
modelIdentifier="<%modelIdentifier%>"
139+
modelIdentifier="<%Util.escapeModelicaStringToXmlString(modelIdentifier)%>"
140140
needsExecutionTool="false"
141141
canHandleVariableCommunicationStepSize="true"
142142
canInterpolateInputs="false"

0 commit comments

Comments
 (0)