Thanks for the file
(deleted already). I looked into it and I think, I know now what causes the UEStudio code folding engine for XML to fail.
First, I think a block like
<AdditionalProperties>
Configuration=$(Configuration)
</AdditionalProperties>
is not valid for an XML file. But I'm not an XML expert. Well, that block is not the problem.
The cause of the code folding problem are the string values defined with single quotes instead of double quotes to be able to use double quotes inside the string value without the need to use the entity " like in
<Exec Command='"$(InnoSetupCompilerPath)" $(QtSupportFolder)\install\files\exor\install.iss /fJMSuite_nightly_$(nightlybuildDate)
'
Condition="'$(Delivering)' == 'true' And '$(Nightly)' == 'true'
" />
I think that is valid according to XML specification, but UEStudio has definitely a problem with string values defined by single quotes containing inside double quote characters. I will report this issue to IDM support by email.
For myself it would be interesting how the XML parser of Microsoft interprets that file. Does the parser really look for first double OR single quote character after a
value[whitespaces]=[whitespaces] to determine type of string value definition or is it hard coded in the parser that attribute
Command of element
Exec has a string value with single quote character as delimiter character.
I used the following macro to replace every double quote character inside a single quoted command string by
" and after saving the file with a new name code folding was perfect as far as I could see.
Code: Select all
InsertMode
ColumnModeOff
HexOff
UltraEditReOn
Top
Loop 0
Find RegExp "Command='*'"
IfNotFound
ExitLoop
EndIf
Find SelectText """
Replace All """
EndLoop