aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-08 10:31:59 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-08 10:31:59 +0200
commita8bd62ade64937e554e977c755e2989a798161cc (patch)
tree863b4ecaf0dcb11c081aaf0b6827b49bc9220d09
parent648632858c007b361476953d0b3019c410a75fb7 (diff)
downloadmoa-zs-a8bd62ade64937e554e977c755e2989a798161cc.tar.gz
moa-zs-a8bd62ade64937e554e977c755e2989a798161cc.tar.bz2
moa-zs-a8bd62ade64937e554e977c755e2989a798161cc.zip
Update mzs:DeliveryRequest Schema
- Remove MZSDreq/Sender/ConfirmationAddress (because its already Available in Sender/{WebserviceURL,EmailAddress}) - Simplify MZSDReq/Receiver (no actual schema change, just refactoring) - Remove XML Payload (because this delivery method does not exist in zusemsg) - Simplify Payload Schema and adapt it to zusemsg:Attachment - Remove DayOfBirthType (because dead code) - Metadata: replace mzs definition of metadata with reference to msg:Metadata. Reason: Both interfaces work the exact same way so there is no reason in not reusing the interface. Using the same interface definitions does not affect the integration effort for app developers, because the msg:metadata changed quite drastically and app developers will need to integrate these changes anyways. The changes in zusemsg:Metadata are so invasive that MOAZS cannot prevent them from propagating into the app2mzs interfaces. A benefit from reusing the msg:MetaData interface is that there will be less types, less duplicate code, less repetition, and therefore cleaner and easier to maintain.
-rw-r--r--src/main/resources/mzs/app2mzs.xsd163
-rw-r--r--src/main/resources/mzs/mzs_mypersondata_en.xsd12
2 files changed, 12 insertions, 163 deletions
diff --git a/src/main/resources/mzs/app2mzs.xsd b/src/main/resources/mzs/app2mzs.xsd
index cd388a1..bf5d421 100644
--- a/src/main/resources/mzs/app2mzs.xsd
+++ b/src/main/resources/mzs/app2mzs.xsd
@@ -40,166 +40,28 @@
</xs:choice>
<xs:element ref="msg:Logo" minOccurs="0"/>
<xs:element ref="msg:AdditionalCriteria" minOccurs="0"/>
- <xs:element ref="msg:ConfirmationAddress" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element ref="Receiver"/>
- <xs:element name="MetaData">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Subject" type="xs:string" minOccurs="0"/>
- <xs:element ref="AppDeliveryID"/>
- <xs:element name="GZ" type="xs:string" minOccurs="0"/>
- <xs:element name="DeliveryQuality">
- <xs:annotation>
- <xs:documentation>RSa oder non-RSa</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="RSa"/>
- <xs:enumeration value="RSa+"/>
- <xs:enumeration value="nonRSa"/>
- <xs:enumeration value="nonRSa+"/>
- <xs:enumeration value="R"/>
- <xs:enumeration value="R+"/>
- <xs:enumeration value="RS"/>
- <xs:enumeration value="RS+"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="DeliveryConfirmation" type="xs:boolean" minOccurs="0"/>
- <xs:element name="RequiresEncryption" type="xs:boolean"/>
- <xs:element name="DocumentClass" minOccurs="0">
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:maxLength value="255"/>
- <xs:minLength value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="References" minOccurs="0">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="AppDeliveryID"/>
- <xs:element name="GZ" type="xs:string"/>
- <xs:element ref="MZSDeliveryID"/>
- <xs:element name="ZSDeliveryID" type="xs:string"/>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="DualDelivery" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="DualDeliveryServer" type="xs:string" minOccurs="0"/>
- <xs:element name="PrintParameter" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- <xs:attribute name="profile" type="xs:anyURI" use="optional"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="MailBody" minOccurs="0">
- <xs:annotation>
- <xs:documentation>Optional mail body</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="MimeType" type="xs:token"/>
- <xs:element name="Content" type="xs:base64Binary"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="XMLDocument" minOccurs="0">
+ <xs:element name="Receiver" type="p:PersonDataType"/>
+ <xs:element name="MetaData" ref="msg:MetaData" />
+ <xs:element name="Payload" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
- <xs:element name="XMLContent">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##any" processContents="lax"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
<xs:choice>
- <xs:element name="XMLProfileID"/>
- <xs:sequence>
- <xs:element name="FileName" type="xs:token"/>
- <xs:element name="MIMEType" type="xs:token"/>
- <xs:element name="ResultingMIMEType" type="xs:token"/>
- <xs:element name="SignatureXPath">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Index" type="xs:integer" use="required"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="SignatureStylesheet">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="XMLContent">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##any" processContents="lax"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="PreviewStylesheet" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="FileName" type="xs:token"/>
- <xs:element name="XMLContent">
- <xs:complexType>
- <xs:sequence>
- <xs:any namespace="##any" processContents="lax"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
+ <xs:element name="BinaryDocument" type="xs:base64Binary" />
+ <xs:element name="DocumentReference" type="xs:anyURI" />
</xs:choice>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Payload" minOccurs="0" maxOccurs="unbounded">
- <xs:complexType>
- <xs:choice>
- <xs:element name="BinaryDocument">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Base64Content" type="xs:base64Binary"/>
- <xs:element name="FileName" type="xs:token"/>
- <xs:element name="MIMEType" type="xs:token"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="DocumentReference">
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ <xs:element name="MD5Checksum" type="xs:string" minOccurs="0"/>
+ <xs:element name="msg:DocumentClass" minOccurs="0" />
+ <xs:element name="Size" type="xs:nonNegativeInteger">
<xs:annotation>
- <xs:documentation>URL fuer Callback Attachment</xs:documentation>
+ <xs:documentation>Größe in Bytes</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="URL" type="xs:anyURI"/>
- <xs:element name="FileName" type="xs:token"/>
- <xs:element name="MIMEType" type="xs:token"/>
- <xs:element name="MD5Checksum" type="xs:string" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
</xs:element>
- </xs:choice>
+ </xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -250,7 +112,6 @@
</xs:simpleType>
</xs:element>
<xs:element name="MZSDeliveryID" type="xs:string"/>
- <xs:element name="Receiver" type="p:PersonDataType"/>
<xs:element name="Success" type="SuccessType">
<xs:annotation>
<xs:documentation>Zustellstück was successfully delivered to MOA-ZS</xs:documentation>
diff --git a/src/main/resources/mzs/mzs_mypersondata_en.xsd b/src/main/resources/mzs/mzs_mypersondata_en.xsd
index 43a3a88..756669f 100644
--- a/src/main/resources/mzs/mzs_mypersondata_en.xsd
+++ b/src/main/resources/mzs/mzs_mypersondata_en.xsd
@@ -12,11 +12,6 @@
<xs:documentation>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation>
</xs:annotation>
</xs:element>
- <xs:element name="PersonData" type="PersonDataType">
- <xs:annotation>
- <xs:documentation>element of signed person datastructure type</xs:documentation>
- </xs:annotation>
- </xs:element>
<!-- ### base type for person data ### -->
<xs:element name="Person" type="AbstractPersonType"/>
<!-- ### physical person and corporate body ### -->
@@ -324,11 +319,4 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
- <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
- <xs:simpleType name="DateOfBirthType">
- <xs:annotation>
- <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
- </xs:annotation>
- <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
- </xs:simpleType>
</xs:schema>