Changes for page Exercises
Last modified by Carlijn Kokkeler on 2022/10/19 13:32
From version 16.1
edited by Carlijn Kokkeler
on 2022/10/19 12:30
on 2022/10/19 12:30
Change comment:
There is no comment for this version
To version 12.1
edited by Carlijn Kokkeler
on 2022/10/19 11:41
on 2022/10/19 11:41
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -15,226 +15,26 @@ 15 15 By following the steps below, you should gain a better understanding of the differences between CDM, CDM messages, and system messages. 16 16 17 17 * Creating a CDM 18 - Please import the file Order.xsd in your CDM. The code for this file can be found in section 4. Code for xsd files.18 + Please import the file Order.xsd in your CDM. 19 19 * Creating a CDM message 20 - Now, go to your CDM message and select Order as root entity. 21 - Add all other entities and attributes from Order.xsd, which were imported into the CDM, to your CDM message definition. 20 + Now, go to your CDM message and select Order as root entity. Add all other entities and attributes from Order.xsd, which were imported into the CDM, to your CDM message definition. 22 22 * Creating a system message 23 - In one of your System messages, import the file TransportOrder.xsd. The code for this file can be found at the bottom of this page. 24 -* Creating a CDM message 25 - Select CreateOrder as root entity and add all other entities and attributes to your system definition. 26 -* Complete message mapping 27 - Now that you have completed these steps, go to Message mapping and complete the mapping. 22 + In one of your System messages, import the file TransportOrder.xsd. Select CreateOrder as root entity and add all other entities and attributes to your system definition. 28 28 29 - Thesolutions to theseexercisescan be found [[here>>doc:Main.eMagiz Academy.UseCases.Datamodelingin Design.Exercises.Solutions.WebHome||target="blank"]].24 +== 3.4 Complete message mapping == 30 30 31 -== 4. Code for xsd files == 32 -Code for Order.xsd: 33 -{{code language="xml"}} 34 -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 35 - xmlns="http://www.carlijnsplatform.com/ns/capetms/cdm/1.0/" 36 - attributeFormDefault="unqualified" 37 - elementFormDefault="qualified" 38 - targetNamespace="http://www.carlijnsplatform.com/ns/capetms/cdm/1.0/"> 39 - <xs:complexType name="Order"> 40 - <xs:sequence> 41 - <xs:element name="Date" type="xs:dateTime"/> 42 - <xs:element name="OrderId" type="nonEmptyString"/> 43 - <xs:element name="Customer" type="Customer"/> 44 - <xs:element name="PickupAddress" type="PickupAddress"/> 45 - <xs:element name="DeliveryAddress" type="DeliveryAddress"/> 46 - <xs:element maxOccurs="unbounded" name="OrderLine" type="OrderLine"/> 47 - </xs:sequence> 48 - </xs:complexType> 49 - <xs:complexType name="Customer"> 50 - <xs:sequence> 51 - <xs:element name="Name" type="nonEmptyString"/> 52 - <xs:element name="Email" type="nonEmptyString"/> 53 - </xs:sequence> 54 - </xs:complexType> 55 - <xs:complexType name="PickupAddress"> 56 - <xs:sequence> 57 - <xs:element name="Name" type="nonEmptyString"/> 58 - <xs:element name="Street" type="nonEmptyString"/> 59 - <xs:element name="StreetNumber" type="nonEmptyString"/> 60 - <xs:element name="PostalCode" type="nonEmptyString"/> 61 - <xs:element name="City" type="nonEmptyString"/> 62 - <xs:element name="Country" type="nonEmptyString"/> 63 - </xs:sequence> 64 - </xs:complexType> 65 - <xs:complexType name="DeliveryAddress"> 66 - <xs:sequence> 67 - <xs:element name="Name" type="nonEmptyString"/> 68 - <xs:element name="Street" type="nonEmptyString"/> 69 - <xs:element name="StreetNumber" type="nonEmptyString"/> 70 - <xs:element name="PostalCode" type="nonEmptyString"/> 71 - <xs:element name="City" type="nonEmptyString"/> 72 - <xs:element name="Country" type="nonEmptyString"/> 73 - </xs:sequence> 74 - </xs:complexType> 75 - <xs:complexType name="OrderLine"> 76 - <xs:sequence> 77 - <xs:element name="PackageUnit" type="nonEmptyString"/> 78 - <xs:element name="Quantity" type="xs:long"/> 79 - <xs:element name="Description" type="nonEmptyString"/> 80 - <xs:element name="Weight" type="xs:decimal"/> 81 - </xs:sequence> 82 - </xs:complexType> 83 - <xs:simpleType name="nonEmptyString"> 84 - <xs:restriction base="xs:string"> 85 - <xs:minLength value="1"/> 86 - </xs:restriction> 87 - </xs:simpleType> 88 - <xs:element name="Order" type="Order"/> 89 -</xs:schema> 90 -{{/code}} 26 +Now that you have completed these steps, go to Message mapping and complete the mapping. 91 91 92 -Code for TransportOrder.xsd: 93 -{{code language="xml"}} 94 -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 95 - xmlns="https://transportinc.nl/ns/tms/1.0/" 96 - attributeFormDefault="unqualified" 97 - elementFormDefault="unqualified" 98 - targetNamespace="https://transportinc.nl/ns/tms/1.0/"> 99 - <xs:complexType name="CreateOrder"> 100 - <xs:sequence> 101 - <xs:element name="Order" type="Order"/> 102 - </xs:sequence> 103 - </xs:complexType> 104 - <xs:complexType name="Order"> 105 - <xs:sequence> 106 - <xs:element name="OrderID"> 107 - <xs:simpleType> 108 - <xs:restriction base="xs:string"> 109 - <xs:maxLength value="200"/> 110 - </xs:restriction> 111 - </xs:simpleType> 112 - </xs:element> 113 - <xs:element name="OrderDate" type="xs:dateTime"/> 114 - <xs:element minOccurs="0" name="Order_Customer" type="Order_Customer"/> 115 - <xs:element name="Address" type="Address"/> 116 - <xs:element name="PartnerInfo_Order" type="PartnerInfo_Order"/> 117 - <xs:element name="OrderLine_Order" type="OrderLine_Order"/> 118 - </xs:sequence> 119 - </xs:complexType> 120 - <xs:complexType name="Order_Customer"> 121 - <xs:sequence> 122 - <xs:element minOccurs="0" name="Customer" type="Customer"/> 123 - </xs:sequence> 124 - </xs:complexType> 125 - <xs:complexType name="Customer"> 126 - <xs:sequence> 127 - <xs:element name="Name"> 128 - <xs:simpleType> 129 - <xs:restriction base="xs:string"> 130 - <xs:maxLength value="200"/> 131 - </xs:restriction> 132 - </xs:simpleType> 133 - </xs:element> 134 - <xs:element minOccurs="0" name="Contact_Customer" type="Contact_Customer"/> 135 - </xs:sequence> 136 - </xs:complexType> 137 - <xs:complexType name="Contact_Customer"> 138 - <xs:sequence> 139 - <xs:element maxOccurs="unbounded" 140 - minOccurs="0" 141 - name="Contact" 142 - type="Contact"/> 143 - </xs:sequence> 144 - </xs:complexType> 145 - <xs:complexType name="Contact"> 146 - <xs:sequence> 147 - <xs:element name="eMail"> 148 - <xs:simpleType> 149 - <xs:restriction base="xs:string"> 150 - <xs:maxLength value="200"/> 151 - </xs:restriction> 152 - </xs:simpleType> 153 - </xs:element> 154 - <xs:element minOccurs="0" name="Name"> 155 - <xs:simpleType> 156 - <xs:restriction base="xs:string"> 157 - <xs:maxLength value="200"/> 158 - </xs:restriction> 159 - </xs:simpleType> 160 - </xs:element> 161 - </xs:sequence> 162 - </xs:complexType> 163 - <xs:complexType name="Address"> 164 - <xs:sequence> 165 - <xs:element name="Type" type="nonEmptyString"/> 166 - <xs:element name="Name" type="nonEmptyString"/> 167 - <xs:element name="Street" type="nonEmptyString"/> 168 - <xs:element name="PostalCode" type="nonEmptyString"/> 169 - <xs:element name="City" type="nonEmptyString"/> 170 - <xs:element name="Country" type="nonEmptyString"/> 171 - </xs:sequence> 172 - </xs:complexType> 173 - <xs:complexType name="PartnerInfo_Order"> 174 - <xs:sequence> 175 - <xs:element maxOccurs="unbounded" 176 - minOccurs="0" 177 - name="PartnerInfo" 178 - type="PartnerInfo"/> 179 - </xs:sequence> 180 - </xs:complexType> 181 - <xs:complexType name="PartnerInfo"> 182 - <xs:sequence> 183 - <xs:element name="UUID"> 184 - <xs:simpleType> 185 - <xs:restriction base="xs:string"> 186 - <xs:maxLength value="64"/> 187 - </xs:restriction> 188 - </xs:simpleType> 189 - </xs:element> 190 - </xs:sequence> 191 - </xs:complexType> 192 - <xs:complexType name="OrderLine_Order"> 193 - <xs:sequence> 194 - <xs:element maxOccurs="unbounded" 195 - minOccurs="0" 196 - name="OrderLine" 197 - type="OrderLine"/> 198 - </xs:sequence> 199 - </xs:complexType> 200 - <xs:complexType name="OrderLine"> 201 - <xs:sequence> 202 - <xs:element name="Description"> 203 - <xs:simpleType> 204 - <xs:restriction base="xs:string"> 205 - <xs:maxLength value="200"/> 206 - </xs:restriction> 207 - </xs:simpleType> 208 - </xs:element> 209 - <xs:element name="Quantity" type="xs:long"/> 210 - <xs:element name="Unit" type="Enum"/> 211 - <xs:element minOccurs="0" name="Weight" type="xs:double"/> 212 - </xs:sequence> 213 - </xs:complexType> 214 - <xs:simpleType name="nonEmptyString"> 215 - <xs:restriction base="xs:string"> 216 - <xs:minLength value="1"/> 217 - </xs:restriction> 218 - </xs:simpleType> 219 - <xs:simpleType name="Enum"> 220 - <xs:restriction base="xs:string"> 221 - <xs:enumeration value="COLLI"/> 222 - <xs:enumeration value="EURO"/> 223 - <xs:enumeration value="BOX"/> 224 - <xs:enumeration value="SACK"/> 225 - </xs:restriction> 226 - </xs:simpleType> 227 - <xs:element name="CreateOrder" type="CreateOrder"/> 228 -</xs:schema> 229 -{{/code}} 230 -== 5. Key takeaways == 28 +The solutions to these exercises can be found [[here>>doc:Main.eMagiz Academy.Use Cases.Data modeling in Design.Exercises.Solutions.WebHome||target="blank"]]. 231 231 30 +== 4. Key takeaways == 31 + 232 232 * The CDM holds all entities and attributes that are relevant within the context of your complete integration landscape. 233 233 * The CDM message is tailor-made for a specific piece of data and only holds the entities and attributes relevant for that piece of data. 234 234 * A system message is specific to a system. 235 235 236 236 237 -== 6. Suggested Additional Readings ==37 +== 5. Suggested Additional Readings == 238 238 239 239 If you are interested in this topic and want more information on it please read the help text provided by eMagiz. 240 240