Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Using XML entity is not a good idea

abner-sa
8 - Asteroid

I need to share one constant between multiple workflows. Since, a yxmd file is XML a files, then I thought of using XML entities to make it easier to store, find, and replace the values of the constants.

 

Something like:

 

<?xml version="1.0"?>
<!DOCTYPE AlteryxDocument[
<!ENTITY travar "1">
]>
<AlteryxDocument yxmdVer="2021.3">

...

<Node ToolID="5">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="162" y="54" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>[Correto] = (1+1=2) &travar;</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Click aqui e depois click fora!</DefaultAnnotationText>
<Left value="False" />
</Annotation>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>

...

</AlteryxDocument>

 

However, when clicking on the node containing the entity:

 

Click here.png

 

 the Alteryx Designer (x64 v2021.3.5.03604) crash:

 

image_2022_06_03T13_21_02_190Z.png

 

After that, it's game over, you have to kill the process.

3 REPLIES 3
gabrielvilella
14 - Magnetar

If I understood you correctly, you are opening YXMD files as XML, finding and replacing strings within the XML then saving it again as YXMD, correct? If you are using Alteryx to do this process, please make sure that you have AMP engine turned off. If you already do, please share the workflow that is doing the find and replace. 

abner-sa
8 - Asteroid

I changed the approach. Instead of using XML Entities, I decided to replace the values of constants which are unique too.

abner-sa
8 - Asteroid

Yes. I inserted an internal DTD into the yxmd.

Labels