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:
the Alteryx Designer (x64 v2021.3.5.03604) crash:
After that, it's game over, you have to kill the process.
Solved! Go to Solution.
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.
Yes. I inserted an internal DTD into the yxmd.