University of La PlataProject specific questions and answers from the projects at the National University of La Plata.RE: SET_ICON_VISIBLE functionSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=1155802014-04-30T11:29:22Z2014-04-30T11:22:52ZDear Karen,<br /><br />the icons you are refering to ("Modelling", "Analysis", "Simulation", "Evaluation", "Import/Export") are not menu icons, but icons for changing the ADOxx component, so they are handled differently by ADOxx.<br /><br />It would be possible to hide some of these icons, but only as part of the product build process. When requesting to build an ADOxx-based Modelling Toolkit, the developer may request to include only some of the ADOxx components, not all of them, and the licence code for that specific Toolkit would be generated according to this request.<br /><br />Disabling one particular component would result in the corresponding icon appearing grayed. For this, you would have to use the command call DISABLE_COMP of the message port "Application" . Enabling a prefiously disabled componend can be done with the command call ENABLE_COMP.<br /><br />The syntax of the command calls is:<div class="code"><span class="code-lines">1</span>CC "Application" DISABLE_COMP { Component }<br /><span class="code-lines">2</span>CC "Application" ENABLE_COMP { Component }<br /></div><br />where "Component" may have one of the following values :<div class="code"><span class="code-lines">1</span>all, acquisition, modeling, analysis, simulation, evaluation, importexport</div><br />Below are some examples:<br /><div class="code"><span class="code-lines">1</span>CC "Application" DISABLE_COMP modeling<br /><span class="code-lines">2</span>CC "AdoScript" INFOBOX "Modeling has been disabled"<br /><span class="code-lines">3</span>CC "Application" DISABLE_COMP all<br /><span class="code-lines">4</span>CC "AdoScript" INFOBOX "All components have been disabled"<br /><span class="code-lines">5</span>CC "Application" ENABLE_COMP modeling<br /><span class="code-lines">6</span>CC "AdoScript" INFOBOX "Modeling has been enabled again"<br /><span class="code-lines">7</span>CC "Application" ENABLE_COMP all<br /><span class="code-lines">8</span>CC "AdoScript" INFOBOX "All components have been enabled"<br /></div><br /><br />The attached file "DISABLED_COMP.png" shows the appearance of the icons for disabled components, where as "ENABLED_COMP.png" displays the icons for enabled components.Sabin Popescu2014-04-30T11:22:52ZRE: SET_ICON_VISIBLE functionKaren Pochhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=1156032014-04-29T12:23:08Z2014-04-29T12:23:08ZThank you very much. That was very helpful. <br />And if I want to hide one of the next icons: "Modelling", "Analysis", "Simulation", "Evaluation", "Import/Export", which are their ID's?Karen Poch2014-04-29T12:23:08ZRE: SET_ICON_VISIBLE functionSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=1134682014-04-23T07:05:02Z2014-04-23T05:40:18ZIn order to hide icons, you need to use the name ID of the icon. For a list of all available icons, please refer to the list below. The captial name represents the one to be used in the command.<br />The example below shows the use of the command SET_ICON_VISIBLE in the event handler of the event "AppInitialized":<br /><br /><div class="code"><span class="code-lines">1</span>ON_EVENT "AppInitialized"<br /><span class="code-lines">2</span>{<br /><span class="code-lines">3</span> CC "Application" SET_ICON_VISIBLE component: "simulation" name: "PATH" visible: 0<br /><span class="code-lines">4</span>}<br /></div><br />List with the icon identifiers for all predefined ADOxx icons:<br /><br /><table><tr><td><strong>Icon ID</strong></td><td><strong>Icon Description</strong></td></tr><tr><td>BACK</td><td>Navigate back</td></tr><tr><td>FWD</td><td>Navigate forward</td></tr><tr><td>LIST</td><td>Window list</td></tr><tr><td>EXCEL</td><td>Acquisition tables</td></tr><tr><td>NEW</td><td>New model</td></tr><tr><td>MLOAD</td><td>Open model</td></tr><tr><td>SAVE</td><td>Save model</td></tr><tr><td>MPRINT</td><td>Print model</td></tr><tr><td>APLOAD</td><td>Application models</td></tr><tr><td>UNDO</td><td>Undo</td></tr><tr><td>CUT</td><td>Cut</td></tr><tr><td>COPY</td><td>Copy</td></tr><tr><td>PASTE</td><td>Paste</td></tr><tr><td>VGRAPH</td><td>View graphics</td></tr><tr><td>VTABLE</td><td>View table</td></tr><tr><td>ZOOM</td><td>Zoom</td></tr><tr><td>ONEONE</td><td>Scale 1:1</td></tr><tr><td>ALL</td><td>Make all visible</td></tr><tr><td>RAACT</td><td>Snap grid active</td></tr><tr><td>RAVIS</td><td>Snap grid visible</td></tr><tr><td>FIND</td><td>Find</td></tr><tr><td>CHNG</td><td>Global change</td></tr><tr><td>HORI</td><td>Align horizontally</td></tr><tr><td>VERT</td><td>Align vertically</td></tr><tr><td>AREA</td><td>Drawing area size</td></tr><tr><td>MGGEN</td><td>Graphics generation</td></tr><tr><td>COST</td><td>Time and costs</td></tr><tr><td>QUERI</td><td>Queries/Reports</td></tr><tr><td>USQUERI</td><td>Predefined queries</td></tr><tr><td>RELTABS</td><td>Relation tables</td></tr><tr><td>ANALY</td><td>Calculation</td></tr><tr><td>PATH</td><td>Path analysis</td></tr><tr><td>WORKL</td><td>Capacity analysis</td></tr><tr><td>VOL</td><td>Workload analysis (steady-state)</td></tr><tr><td>VOLDYN</td><td>Workload analysis (fixed time period)</td></tr><tr><td>AGENT</td><td>Agents</td></tr><tr><td>OFFLINE</td><td>Offline animation</td></tr><tr><td>DELSIM</td><td>Delete simulation results</td></tr><tr><td>DELCACHE</td><td>Free simulation cache</td></tr><tr><td>SLOAD</td><td>Open model (simulation comp)</td></tr><tr><td>SPRINT</td><td>Print model (simulation comp)</td></tr><tr><td>SGGEN</td><td>Graphics generation (simulation comp)</td></tr><tr><td>FLOW</td><td>FlowMark audit trail evaluation</td></tr><tr><td>RESCMP</td><td>Comparison of results</td></tr><tr><td>USEVAL</td><td>Predefined queries</td></tr><tr><td>CCC_IST</td><td>Actual-process cost analysus</td></tr><tr><td>CCC_PLAN</td><td>Plan-process cost analysis</td></tr><tr><td>ADLIM</td><td>ADL import</td></tr><tr><td>ADLEX</td><td>ADL export</td></tr><tr><td>HTML</td><td>HTML export</td></tr><tr><td>DOCU</td><td>RTF export</td></tr><tr><td>EXCUST</td><td>Documentation options</td></tr></table>Sabin Popescu2014-04-23T05:40:18ZSET_ICON_VISIBLE functionKaren Pochhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=1133602014-04-23T07:04:33Z2014-04-22T14:49:31Z<span style="font-family: arial,helvetica,sans-serif">I want to hide some icons located in the quickaccessbar. I've added the next line in the event handler for the event AppInitialize, but the icons still appear:</span><span style="font-family: arial,helvetica,sans-serif"><br /></span><span style="font-family: arial,helvetica,sans-serif"> <strong>CC "Application" SET_ICON_VISIBLE component: "simulation" name: "Path analysis" visible: 0</strong><br /></span><span style="font-family: arial,helvetica,sans-serif"><strong><br /></strong></span><span style="font-family: arial,helvetica,sans-serif">Which is the correct way to write this condition and which is the mistake I'm making?</span>Karen Poch2014-04-22T14:49:31ZRE: Mandatory check on RECORD attributteSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771922014-03-07T14:01:02Z2014-03-07T14:01:02ZThe script that implements a custom check of the mandatory attributes for every object in a model also includes functionality for testing the mandatory condition for every column in every attribute of type TABLE.<br />Please check this post:<br /><br /><a href="http://www.adoxx.org/live/faq/-/message_boards/message/77188">http://www.adoxx.org/live/faq/-/message_boards/message/77188</a>Sabin Popescu2014-03-07T14:01:02ZRE: Mandatory check on RECORD attributteSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=772272014-03-07T13:55:12Z2014-03-07T13:55:07ZIf you have used the keyword mandatory for the attribute "Posicion" in the AttrRep of the class "Puerta", the field is displayed in red only when the table is empty (standard value). As soon as you have a row in the table, the attribute name is black, as the current value of the attribute "Posicion" and the default value (empty) are different. Unfortunately, the "mandatory" keyword has no effect in the AttrRep definition of the RecordClass used for the Table attribute. <br />However, since the RecordClassMultiplicity is set to 1, meaning that you can only have one row, why not define two separate attributes, x_Posicion and y_Posicion, and use the keyword "mandatory" for them? These two attributes may be placed inside a GROUP, called "Posicion" and the AttrRep code would look like this:<br /><div class="code"><span class="code-lines">1</span>NOTEBOOK<br /><span class="code-lines">2</span>...<br /><span class="code-lines">3</span>CHAPTER "Description"<br /><span class="code-lines">4</span>GROUP "Posicion"<br /><span class="code-lines">5</span>ATTR "x_Posicion" mandatory<br /><span class="code-lines">6</span>ATTR "y_Posicion" mandatory<br /><span class="code-lines">7</span>ENDGROUP<br /><span class="code-lines">8</span>...<br /></div>Sabin Popescu2014-03-07T13:55:07ZRE: Mandatory attributes checkSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771882014-03-07T13:52:11Z2014-03-07T13:49:59ZI have managed to implement a solution for running an automated "mandatory check" before saving a model. I've attached the application library in ABL format, including the script file, and also the script file (ASC).<br />Below a short descriprion of the algorithm implemented in the script:<br /><div class="code"><span class="code-lines"> 1</span>- read model id from the global variable<br /><span class="code-lines"> 2</span>- get all objects<br /><span class="code-lines"> 3</span>- for each object<br /><span class="code-lines"> 4</span> - read value of the class attribute AttrRep<br /><span class="code-lines"> 5</span> - call procedure GET_MANDATORY_ATTRIBUTES for parsing the AttrRep and identifying the mandatory attributes<br /><span class="code-lines"> 6</span> - for each mandatory attribute<br /><span class="code-lines"> 7</span> - get attribute value<br /><span class="code-lines"> 8</span> - get default value<br /><span class="code-lines"> 9</span> - if attribute is of type RECORD<br /><span class="code-lines">10</span> - if no rows<br /><span class="code-lines">11</span> - add line to the errorlist: Object name, attribute name<br /><span class="code-lines">12</span> - else<br /><span class="code-lines">13</span> - get record class information<br /><span class="code-lines">14</span> - read class attribute AttrRep of the record class<br /><span class="code-lines">15</span> - parse AttrRep for identifying mandatory attributes of the record class (columns)<br /><span class="code-lines">16</span> - for each row<br /><span class="code-lines">17</span> - get row ID<br /><span class="code-lines">18</span> - for each mandatory attribute in the record class (column)<br /><span class="code-lines">19</span> - get value of the mandatory attribute for the current row (value of the cell)<br /><span class="code-lines">20</span> - get default value of the mandatory attribute for the current row (default value of the cell)<br /><span class="code-lines">21</span> - if the two values are equal<br /><span class="code-lines">22</span> - add entry to the errorlist: object name, attribute name, column name<br /><span class="code-lines">23</span> endif<br /><span class="code-lines">24</span> endfor<br /><span class="code-lines">25</span> endfor<br /><span class="code-lines">26</span> endif<br /><span class="code-lines">27</span> - else<br /><span class="code-lines">28</span> - if the two values are equal<br /><span class="code-lines">29</span> - add entry to the errorlist: object name, attribute name<br /><span class="code-lines">30</span> endif<br /><span class="code-lines">31</span> endif<br /><span class="code-lines">32</span> endfor<br /><span class="code-lines">33</span>endfor<br /><span class="code-lines">34</span><br /><span class="code-lines">35</span>- if the errorlist is not empty<br /><span class="code-lines">36</span> - show error dialog containing the list of errors of mandatory check<br /><span class="code-lines">37</span> - if the endbutton is "no"<br /><span class="code-lines">38</span> - set global variable nMandatoryCheckExitValue to -1<br /><span class="code-lines">39</span> endif<br /><span class="code-lines">40</span>endif<br /></div><br /> <br />procedure GET_MANDATORY_ATTRIBUTES<br /><div class="code"><span class="code-lines">1</span>- get next occurrence of the modifier "mandatory"<br /><span class="code-lines">2</span>- while the modifier "mandatory" is found<br /><span class="code-lines">3</span> - find the corresponding attribute<br /><span class="code-lines">4</span> - add the attribute to the attribute list<br /><span class="code-lines">5</span> - get next occurrence of the modifier "mandatory"<br /><span class="code-lines">6</span>end while <br /></div><br />In the library attribute <strong>ExternalCoupling</strong>, an event handler is implemented for the event <strong>BeforeSaveModel</strong>. <br />The handler saves the ID of the model to be saved in a global variable and calls the script file. <br />After running the script file, the event handler reads the global variable <strong>g_nMandatoryCheckExitValue </strong>and uses it as an exit parameter: (-1: don't save, throw no error; 0: save, throw no error)Sabin Popescu2014-03-07T13:49:59ZRE: Change languageSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=772242014-03-07T13:43:35Z2014-03-07T13:43:35ZAll the platform functionality of ADOxx is profided in english only. <br />All functionality developed by you may be implemented in just about any language.Sabin Popescu2014-03-07T13:43:35ZRE: Disabled the item menu "XML Export (default)"Sabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=772192014-03-07T13:42:38Z2014-03-07T13:42:30ZYou can remove any menu item using the command call <strong>REMOVE_MENU_ITEM</strong> of the message port <strong>Application</strong>. It is recommended to use the command call in the event handler for the event <strong>AppInitialize</strong>. This is an example for removing the menu item "XML Export (default)..." :<div class="code"><span class="code-lines">1</span> ON_EVENT "AppInitialized"{<br /><span class="code-lines">2</span>CC "Application" REMOVE_MENU_ITEM component: "importexport" item: "Model\tXML Export (default)..."<br /><span class="code-lines">3</span>}<br /></div><br />*the parameter component must contain the identifier of the component that contains the menu<br />*the parameter item must contain the definition of the item to be removed; the item is defined as a succession of menus and submenus separated by the character "\t": <br /><menu>\t<submenu>\t<sub-submenu>\t<item>Sabin Popescu2014-03-07T13:42:30ZRE: Set value "off" to the attribute "Autosave"Sabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771802014-03-07T13:40:44Z2014-03-07T13:40:24ZYou can disable the AUTOSAVE feature for the current user by calling the SET_AUTOSAVE comand call when the Modelling Toolkit is started. This is achieved by adding the following line in the event handler for the "AppInitialized" event:<br /><div class="code"><span class="code-lines">1</span>ON_EVENT "AppInitialized" {<br /><span class="code-lines">2</span><br /><span class="code-lines">3</span> CC "Modeling" SET_AUTOSAVE off<br /><span class="code-lines">4</span><br /><span class="code-lines">5</span>}<br /></div>Sabin Popescu2014-03-07T13:40:24ZRE: Before save functionalitySabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771752014-03-07T13:33:42Z2014-03-07T13:30:20Z<span style="font-size: 12px"></span> I would recommend creating an event handler for the event "BeforeSaveModel". The example below implements a simple event handler that, when the event is triggered, triggers the standard cardinality check of ADOxx. During this check, all cardinality errors will be shown to the user in a separate information box. In the end, if any cardinality errors have been found, a warning box is displayed, asking the user if they still want to save the model. Unfortunately, the current implementation of the cardinality check does not allow the developer catch all the error messages and display them in one single dialog, but we have created a Change Request regarding this issue for a future version of ADOxx.<br /><div class="code"><span class="code-lines"> 1</span>ON_EVENT "BeforeSaveModel"<br /><span class="code-lines"> 2</span>{<br /><span class="code-lines"> 3</span># modelid, origin: "new"("Model" - "New"), "saveas-new" ("Model"- "Save as" Part 1), "save" ("Model" - "Save")and "saveas-save" ("Model" - "Save as" Part<br /><span class="code-lines"> 4</span>2).<br /><span class="code-lines"> 5</span># Exit Values: 0 - no abortion, -1 - abortion without error, -2 - abortion with error, >0 - abort with core error code.<br /><span class="code-lines"> 6</span><br /><span class="code-lines"> 7</span>CC "Modeling" CHECK_CARDINALITIES modelid: ( modelid ) nosuccessmessage<br /><span class="code-lines"> 8</span># --> RESULT ecode: intValue<br /><span class="code-lines"> 9</span><br /><span class="code-lines">10</span>IF (ecode) {<br /><span class="code-lines">11</span> CC "AdoScript" WARNINGBOX "Cardinality check has failed.\n\nDo you still want to save your model?" title: "Cardinality check failure" yes-no<br /><span class="code-lines">12</span> IF ( endbutton = "yes") {<br /><span class="code-lines">13</span> EXIT 0<br /><span class="code-lines">14</span> }<br /><span class="code-lines">15</span> ELSE {<br /><span class="code-lines">16</span> EXIT -1<br /><span class="code-lines">17</span> }<br /><span class="code-lines">18</span>}<br /><span class="code-lines">19</span>}<br /></div>Sabin Popescu2014-03-07T13:30:20ZMandatory check on RECORD attributtehttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=772092014-03-27T11:45:47Z2014-03-07T11:48:41ZI've defined a RECORD "Posicion" with two integer attributes "x" and "y". They are mandatory and their default value is "0". (Image 1)<br /><br />The property "RecordClassMultiplicity" has the value "1". When I add a row, the attribute "Posicion" shows in black indicating its value is ok, but the columns "x" and "y" still have "0" value. (Image 2). It should be in black when the attributes "x" and "y" are different of "0".<br /><br />I want to check, before closing the window, that the "x" and "y" values are bigger than 0. How could I do it?2014-03-07T11:48:41ZMandatory attributes checkhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=772042014-03-27T11:46:11Z2014-03-07T11:44:35ZI want to make something similar to the cardinality check, with the mandatory attributes. Before the metamodel is saved, I want to call a function that checks all mandatory attributtes are setted. If the result is ok, the metamodel should be saved, in other case it must show an error message to the user. Is it possible to do that?2014-03-07T11:44:35ZChange languagehttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771652014-03-27T11:46:38Z2014-03-07T11:43:08ZIs it possible to change to Spanish the language of the tool (i.e the error messages)? How can I do it?2014-03-07T11:43:08ZDisabled the item menu "XML Export (default)"https://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=770972014-03-27T11:47:02Z2014-03-07T11:42:37ZIs it possible to disabled only the item menu "XML Export (default)"? How can I do it?2014-03-07T11:42:37ZSet value "off" to the attribute "Autosave"https://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=771582014-03-27T12:07:03Z2014-03-07T11:42:05ZIs there any way to set by default the value "off" to the attribute "AUTOSAVE" when you create a user? Or is there any posibility of setting that property on any attribute of the "Labrary management"? That's because I want the user to save the model manually.2014-03-07T11:42:05ZBefore save functionalityhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=770902014-03-27T12:07:23Z2014-03-07T11:40:08ZThe metamodel shouldn't be save unless the user press "<strong>Model >> Save</strong>" or "<strong>Model >> Save as...</strong>" or in the case the user close the tool and the model haven't been saved before. <br />In these cases I want to check cardinalities and check that all mandatory attributes have seted a correct value. If exists any errors I want to inform it to the user (all errors cardinalities as shown when "CHECK_CARDINALITIES before-save" is set, and all atributes which have an incorrect value with it respective class) and save the metamodel on the database (only if the user is agree).2014-03-07T11:40:08ZRE: Exported XML file formatWilfrid Utzhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=576922014-01-08T09:54:07Z2014-01-08T09:54:07ZI might extend on Sabin's answer a bit with respect to modifying the XML output and enhancing the exported information as suggested in the initial post. Using XSL as suggested for transformation would be one approach to transform to a different format using the given information in the initial XML provided through the export. <br /><br />In case the exported information is insufficient (as in the example snipplet) and needs extension, this can be done by modifying and adapting the AdoScript files producing the XML in ADOxx. As part of the platform distribution you can find the AdoScript files responsible for importing and exporting XML information through the user interface ("Import/Export" component -> "Model" -> "XML Import (default)" or "XML Export (default)") in the installation directory of ADOxx (should be %PROGRAM FILES%\BOC\ADOxx13_EN_SA. <br /><br />The following files are available in the directory to triggered during the XML export:<br /><ul style="list-style: disc inside;"><li>xmlexp3012.asc</li><li>xmlexp3012_procs.asc</li></ul style="list-style: disc inside;">The following files are available in the directory to trigger the XML import:<ul style="list-style: disc inside;"><li>xmlimp3012.asc</li><li>xmlimp3012_globals_meta.asc</li><li>xmlimp3012_preprocs.asc</li><li>xmlimp3012_procs.asc</li><li>xmlimp3013.asc</li><li>xmlimpexp3012_globals_de.asc</li><li>xmlimpexp3012_globals_en.asc</li><li>xmlimpexp3012_globals_meta.asc</li></ul style="list-style: disc inside;">In order to have the modification as described in the question, we can modify the procedure <strong>XMLEXP_PRINTATTRIBUTE</strong><strong></strong>in <strong>xmlexp3012_procs.asc</strong> which is responsible for writing attributes to the output. The modification to add attribute IDs relates to adding the following statement for the different types RECORD, INTERREF, and all other ATTRIBUTES.<br /><br /><div class="code"><span class="code-lines"> 1</span>CC "Documentation" XML_WRITEATTRIBUTE "id" value: (STR n_attrid)<br /><span class="code-lines"> 2</span>#--> RESULT ecode:intValue<br /><span class="code-lines"> 3</span>SETL n_ecode: (ecode)<br /><span class="code-lines"> 4</span><br /><span class="code-lines"> 5</span>IF (n_ecode != 0) {<br /><span class="code-lines"> 6</span> CC "AdoScript" ERRORBOX ("[axmlexp-24.1]\n" +<br /><span class="code-lines"> 7</span> c_g_str_xml_xml_writeattribute_1 + "id" +<br /><span class="code-lines"> 8</span> c_g_str_xml_xml_writeattribute_2 + str_attrtype +<br /><span class="code-lines"> 9</span> c_g_str_xml_xml_writeattribute_3 +<br /><span class="code-lines">10</span> c_g_str_xml_error + STR n_ecode)<br /><span class="code-lines">11</span> #--> RESULT endbutton:strValue<br /><span class="code-lines">12</span> SETL b_thisxmlexp_aborted:1<br /><span class="code-lines">13</span> EXIT<br /><span class="code-lines">14</span>}<br /></div><br />Please find attached the updated AdoScript - in order to install the update, download the file and overwrite the AdoScript in the installation directory. After a restart the export is enhanced with attribute IDs.Wilfrid Utz2014-01-08T09:54:07ZRE: Mandatory attributesSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=576062014-01-08T07:43:49Z2014-01-08T07:43:49Z<span style="color: #333333"><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 12px">It is defined that attributes can be marked in AttrRep as </span></span></span><strong><span style="color: #333333"><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 12px">mandatory</span></span></span></strong><span style="color: #333333"><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 12px">, whereas mandatory means that attribute values shall be </span></span></span><strong><span style="color: #333333"><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 12px">different from the default attribute value</span></span></span></strong><span style="color: #333333"><span style="font-family: Arial, Helvetica, sans-serif"><span style="font-size: 12px">.</span></span></span>Sabin Popescu2014-01-08T07:43:49ZRE: Exported XML file formatSabin Popescuhttps://www.adoxx.org/live/c/message_boards/find_message?p_l_id=&messageId=575592014-01-08T07:41:20Z2014-01-08T07:41:20Z<span style="color: #333333"><span style="font-family: arial, helvetica, sans-serif"><span style="font-size: 12px">There is no standard functionality for adding another attribute to the tags in the file resulting after the XML export. <br />You could, however, create your own XSL file and call an external XSL transformation engine (provided with ADOxx) after successfully exporting your model(s). Please let me know if this could be an option for you and I'll be glad to assist you with creating the XSL file and/or creating the AdoScript for calling the XSL transformation.</span></span></span>Sabin Popescu2014-01-08T07:41:20Z