Last modified by Danniar Firdausy on 2024/09/16 14:32

From version 1.2
edited by eMagiz
on 2022/06/08 13:19
Change comment: Update document after refactoring.
To version 6.1
edited by Erik Bakker
on 2024/03/07 15:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -intermediate-defining-your-message-structures-limitations-of-emagiz-definitions
1 +Limitations of eMagiz definitions
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.marijn
1 +XWiki.ebakker
Content
... ... @@ -1,20 +1,11 @@
1 -{{html wiki="true"}}
2 -<div class="ez-academy">
3 - <div class="ez-academy_body">
1 +{{container}}
2 +{{container layoutStyle="columns"}}
3 +(((
4 4  
5 -<div class="doc">
6 -
7 -
8 -
9 -= Limitations of eMagiz definitions =
10 -
11 11  In this microlearning, we will focus on certain limitations when importing your definition in eMagiz. It is necessary to understand these limitations in order to make the correct choices before importing your definition into eMagiz.
12 12  
13 -Should you have any questions, please contact academy@emagiz.com.
7 +Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]].
14 14  
15 -* Last update: March 26th 2021
16 -* Required reading time: 5 minutes
17 -
18 18  == 1. Prerequisites ==
19 19  
20 20  * Basic knowledge of the eMagiz platform
... ... @@ -29,11 +29,11 @@
29 29  
30 30  * Imported files cannot be larger than 1MB
31 31  * xs:all statements cannot be represented in the data model.
23 +* ref statements cannot be represented in the data model.
24 +* choice constructs cannot be represented in the data model.
32 32  * Iterations (maxOccurs) over a threshold of 50 are not accepted
33 33  * Cross reference between entities that could lead to an infinite loop are not accepted
34 34  
35 -
36 -
37 37  == 3. Limitations of eMagiz definitions ==
38 38  
39 39  In this microlearning, we will focus on certain limitations when importing your definition in eMagiz. It is necessary to understand these limitations in order to make the correct choices before importing your definition into eMagiz.
... ... @@ -41,7 +41,9 @@
41 41  Identifying and knowing about these restrictions will improve your decision making the moment you want to import your definition
42 42  
43 43  * Imported files cannot be larger than 1MB
44 -* xs:all statements cannot be represented in the data model
35 +* xs:all statements cannot be represented in the data model.
36 +* ref statements cannot be represented in the data model.
37 +* choice constructs cannot be represented in the data model.
45 45  * Iterations (maxOccurs) over a threshold of 50 are not accepted
46 46  * Cross reference between entities that could lead to an infinite loop are not accepted
47 47  
... ... @@ -60,43 +60,39 @@
60 60  * Write a custom XSLT that will transform the incoming message to a structured messages that you can validate via the tooling
61 61  * Use a custom XSD as validation and use the standard eMagiz tooling for your transformation, whereby you assume that your system definition has a defined structure
62 62  
63 -=== 3.3 Iterations (maxOccurs) over a threshold of 50 are not accepted ===
56 +=== 3.3 ref statements cannot be represented in the data model ===
64 64  
65 -To prevent weird results when it comes to the creation of data models we do not accept maxOccurs above 50. To succesfully import your definition you should change the maxOccurs setting to unbounded. This way eMagiz will succesfully import the definition. As of today we have never encountered a practical case where this caused issues.
58 +As specified before in earlier microlearnings, eMagiz defines the expected structure with the help of data models. Within a data model you need to specify the association between entities. In XSD terminology this is represented as follows <xs:element type="itemsType" name="items"/>. However, sometimes we see a different notation that is not working when importing an XSD in eMagiz. This notation is <xs:group ref="status_group" />. To get this in you need to rewrite the association in your XSD a bit to reflect the first notation and mention that the assocation is optional (minOccurs="0").
66 66  
67 -=== 3.4 Cross reference between entities that could lead to an infinite loop are not accepted ===
60 +=== 3.4 Choice statements cannot be represented in the data model ===
68 68  
69 -In some cases we see definitions in which entities keep referecing each other. This could cause an infinite loop to occur when trying to build up the correct structure of your system message. Therefore we do an initial check when importing your file to safeguard ourselves against creating infinite loops in our portal that will in the end break the eMagiz portal.
62 +As specified before in earlier microlearnings, eMagiz defines the expected structure with the help of data models. Within a data model you need to specify the association between entities and order within these entities. In XSD terminology this is represented as follows <xs:complexType><xs:element name="employee" type="employee"/><xs:element name="member" type="member"/></xs:complexType>. However, sometimes we see that a choice is offered in the XSD. This notation means that you can supply A or B. This notation is <xs:complexType><xs:choice><xs:element name="employee" type="employee"/><xs:element name="member" type="member"/></xs:choice></xs:complexType>. To get this in you need to remove the reference to the <xs:choice> and the </xs:choice> lines in your XSD and make each element within the choice optional (minOccurs="0").
70 70  
71 -===== Practice =====
64 +=== 3.5 Iterations (maxOccurs) over a threshold of 50 are not accepted ===
72 72  
73 -== 4. Assignment ==
66 +To prevent weird results when it comes to the creation of data models we do not accept maxOccurs above 50. To succesfully import your definition you should change the maxOccurs setting to unbounded. This way eMagiz will succesfully import the definition. As of today we have never encountered a practical case where this caused issues.
74 74  
75 -Make sure that at least one of the attributes within one of your data models is set to Confidential
76 -This assignment can be completed within the Design phase of your (Academy) project that you have created/used in the previous assignment.
68 +=== 3.6 Cross reference between entities that could lead to an infinite loop are not accepted ===
77 77  
78 -== 5. Key takeaways ==
70 +In some cases we see definitions in which entities keep referecing each other. This could cause an infinite loop to occur when trying to build up the correct structure of your system message. Therefore we do an initial check when importing your file to safeguard ourselves against creating infinite loops in our portal that will in the end break the eMagiz portal.
79 79  
72 +== 4. Key takeaways ==
73 +
80 80  Identifying and knowing about these restrictions will improve your decision making the moment you want to import your definition
81 81  
82 82  * Imported files cannot be larger than 1MB
83 -* xs:all statements cannot be represented in the data model
77 +* xs:all statements cannot be represented in the data model.
78 +* ref statements cannot be represented in the data model.
79 +* choice constructs cannot be represented in the data model.
84 84  * Iterations (maxOccurs) over a threshold of 50 are not accepted
85 85  * Cross reference between entities that could lead to an infinite loop are not accepted
86 86  
83 +== 5. Suggested Additional Readings ==
87 87  
88 -
89 -== 6. Suggested Additional Readings ==
90 -
91 91  If you are interested in this topic and want more information on it please read the help text provided by eMagiz.
92 92  
93 -== 7. Silent demonstration video ==
87 +)))
94 94  
95 -As this is a theoretical microlearning there is no video
89 +((({{toc/}}))){{/container}}
90 +{{/container}}
96 96  
97 -</div>
98 -
99 -</div>
100 -</div>
101 -
102 -{{/html}}