mois dtd && DTO 추가
parent
fbc2cf42d8
commit
3728923fde
@ -0,0 +1,248 @@
|
||||
package cokr.xit.adds.inf.mois.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import jakarta.xml.bind.annotation.XmlValue;
|
||||
import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
|
||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
* packageName : cokr.xit.adds.inf.mois.model
|
||||
* fileName : ExchangepackDto
|
||||
* author : limju
|
||||
* date : 2024-05-02
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-05-02 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@JacksonXmlRootElement(localName = "exchangepack") //, namespace = "https://www.nims.or.kr/schema/nims")
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ExchangepackDto {
|
||||
@XmlElement(required = true)
|
||||
protected Header header;
|
||||
|
||||
protected Contents contents;
|
||||
|
||||
@XmlAttribute(name = "filename", required = true)
|
||||
protected String filename;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Header {
|
||||
@XmlElement(required = true)
|
||||
protected Server server;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected Sender sender;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected Receiver receiver;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String sendersystemname;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected Exchangetype exchangetype;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String doctype;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String date;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String administrativenum;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String title;
|
||||
|
||||
protected Addenda addenda;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Server {
|
||||
@XmlElement(required = true)
|
||||
protected String sendserverid;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String receiveserverid;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Sender {
|
||||
@XmlElement(required = true)
|
||||
protected Organ organ;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String sendkey;
|
||||
|
||||
protected String username;
|
||||
|
||||
protected String userposition;
|
||||
|
||||
protected String email;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Organ {
|
||||
@XmlElement(required = true)
|
||||
protected Orgname orgname;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected Deptname deptname;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Orgname {
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
||||
@XmlAttribute(name = "orgcode", required = true)
|
||||
protected String orgcode;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Deptname {
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
||||
@XmlAttribute(name = "deptcode", required = true)
|
||||
protected String deptcode;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Receiver {
|
||||
@XmlElement(required = true)
|
||||
protected Organ organ;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String recvkey;
|
||||
|
||||
protected String username;
|
||||
|
||||
protected String userposition;
|
||||
|
||||
protected String email;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Exchangetype {
|
||||
@XmlElement(required = true)
|
||||
protected String maintype;
|
||||
|
||||
protected String subtype;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Addenda {
|
||||
protected List<Addendum> addendum;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Addendum {
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
||||
@XmlAttribute(name = "Name", required = true)
|
||||
protected String name;
|
||||
|
||||
@XmlAttribute(name = "comment", required = true)
|
||||
protected String comment;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Contents {
|
||||
protected List<Content> content;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Content {
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
||||
@XmlAttribute(name = "content-role", required = true)
|
||||
protected String contentRole;
|
||||
|
||||
@XmlAttribute(name = "sub-role")
|
||||
@Builder.Default
|
||||
protected String subRole = "content";
|
||||
|
||||
@XmlAttribute(name = "content-transfer-encoding")
|
||||
@Builder.Default
|
||||
protected String contentTransferEncoding = "base64";
|
||||
|
||||
@XmlAttribute(name = "filename", required = true)
|
||||
protected String filename;
|
||||
|
||||
@XmlAttribute(name = "content-type")
|
||||
protected String contentType;
|
||||
|
||||
@XmlAttribute(name = "charset")
|
||||
protected String charset;
|
||||
|
||||
@XmlAttribute(name = "attachorder")
|
||||
protected String attachorder;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* default = non
|
||||
* modifiable | modified | non
|
||||
* </pre>
|
||||
*/
|
||||
@XmlAttribute(name = "modify")
|
||||
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
|
||||
@Builder.Default
|
||||
protected String modify = "non";
|
||||
}
|
||||
}
|
@ -0,0 +1,137 @@
|
||||
package cokr.xit.adds.inf.mois.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
||||
|
||||
import jakarta.xml.bind.annotation.XmlAttribute;
|
||||
import jakarta.xml.bind.annotation.XmlElement;
|
||||
import jakarta.xml.bind.annotation.XmlValue;
|
||||
import jakarta.xml.bind.annotation.adapters.CollapsedStringAdapter;
|
||||
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
* packageName : cokr.xit.adds.inf.mois.model
|
||||
* fileName : PackDto
|
||||
* author : limju
|
||||
* date : 2024-05-02
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-05-02 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@JacksonXmlRootElement(localName = "pack")
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class PackDto {
|
||||
@XmlElement(required = true)
|
||||
protected Header header;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected Contents contents;
|
||||
|
||||
@XmlAttribute(name = "filename", required = true)
|
||||
protected String filename;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Header {
|
||||
@XmlElement(required = true)
|
||||
protected Type type;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String date;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String sender;
|
||||
|
||||
@XmlElement(required = true)
|
||||
protected String receiver;
|
||||
|
||||
@XmlElement(name = "sender_userid", required = true)
|
||||
protected String senderUserid;
|
||||
|
||||
@XmlElement(name = "receiver_userid", required = true)
|
||||
protected String receiverUserid;
|
||||
|
||||
@XmlElement(name = "sender_email")
|
||||
protected String senderEmail;
|
||||
|
||||
@XmlElement(name = "sender_orgname", required = true)
|
||||
protected String senderOrgname;
|
||||
|
||||
@XmlElement(name = "sender_systemname", required = true)
|
||||
protected String senderSystemname;
|
||||
|
||||
@XmlElement(name = "administrative_num", required = true)
|
||||
protected String administrativeNum;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Type {
|
||||
/**
|
||||
* <pre>
|
||||
* docType 속성
|
||||
* send|fail|arrive|receive|invalid|submit|return|approval
|
||||
*</pre>
|
||||
*/
|
||||
@XmlAttribute(name = "doc-type", required = true)
|
||||
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
|
||||
protected String docType;
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Contents {
|
||||
protected List<Content> content;
|
||||
|
||||
public List<Content> getContent() {
|
||||
if (content == null) {
|
||||
content = new ArrayList<Content>();
|
||||
}
|
||||
return this.content;
|
||||
}
|
||||
}
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public static class Content {
|
||||
@XmlValue
|
||||
protected String value;
|
||||
|
||||
@XmlAttribute(name = "content-role", required = true)
|
||||
protected String contentRole;
|
||||
|
||||
@XmlAttribute(name = "content-transfer-encoding")
|
||||
protected String contentTransferEncoding = "base64";
|
||||
|
||||
@XmlAttribute(name = "filename", required = true)
|
||||
protected String filename;
|
||||
|
||||
@XmlAttribute(name = "content-type")
|
||||
protected String contentType;
|
||||
|
||||
@XmlAttribute(name = "charset")
|
||||
protected String charset;
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="EUC-KR"?>
|
||||
<!--
|
||||
filename: exchangepack.dtd
|
||||
Typical usage:
|
||||
<?XML version="1.0" encoding="euc-kr" ?>
|
||||
<!DOCTYPE exchangepack SYSTEM "exchangepack.dtd">
|
||||
<pack> ... </pack>
|
||||
-->
|
||||
<!ELEMENT exchangepack (header, contents?)>
|
||||
<!ATTLIST exchangepack
|
||||
filename CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT header (server, sender, receiver, sendersystemname, exchangetype, doctype, date, administrativenum, title, addenda?)>
|
||||
<!ELEMENT server (sendserverid, receiveserverid)>
|
||||
<!ELEMENT sendserverid (#PCDATA)>
|
||||
<!ELEMENT receiveserverid (#PCDATA)>
|
||||
<!ELEMENT sender (organ, sendkey, username?, userposition?, email?)>
|
||||
<!ELEMENT receiver (organ, recvkey, username?, userposition?, email?)>
|
||||
<!ELEMENT organ (orgname, deptname)>
|
||||
<!ELEMENT orgname (#PCDATA)>
|
||||
<!ATTLIST orgname
|
||||
orgcode CDATA #REQUIRED>
|
||||
<!ELEMENT deptname (#PCDATA)>
|
||||
<!ATTLIST deptname
|
||||
deptcode CDATA #REQUIRED
|
||||
>
|
||||
<!ELEMENT sendkey (#PCDATA)>
|
||||
<!ELEMENT recvkey (#PCDATA)>
|
||||
<!ELEMENT username (#PCDATA)>
|
||||
<!ELEMENT userposition (#PCDATA)>
|
||||
<!ELEMENT email (#PCDATA)>
|
||||
<!ELEMENT sendersystemname (#PCDATA)>
|
||||
<!ELEMENT exchangetype (maintype, subtype?)>
|
||||
<!ELEMENT maintype (#PCDATA)>
|
||||
<!ELEMENT subtype (#PCDATA)>
|
||||
<!ELEMENT doctype (#PCDATA)>
|
||||
<!ELEMENT date (#PCDATA)>
|
||||
<!ELEMENT administrativenum (#PCDATA)>
|
||||
<!ELEMENT title (#PCDATA)>
|
||||
<!ELEMENT addenda (addendum*)>
|
||||
<!ELEMENT addendum (#PCDATA)>
|
||||
<!ATTLIST addendum
|
||||
Name CDATA #REQUIRED
|
||||
comment CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT contents (content)*>
|
||||
<!ELEMENT content (#PCDATA)>
|
||||
<!ATTLIST content
|
||||
content-role CDATA #REQUIRED
|
||||
sub-role CDATA "content"
|
||||
content-transfer-encoding CDATA "base64"
|
||||
filename CDATA #REQUIRED
|
||||
content-type CDATA #IMPLIED
|
||||
charset CDATA #IMPLIED
|
||||
attachorder CDATA #IMPLIED
|
||||
modify (modifiable | modified | non) "non"
|
||||
>
|
@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="EUC-KR"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
|
||||
<xs:element name="exchangepack">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="header"/>
|
||||
<xs:element ref="contents" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="filename" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="header">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="server"/>
|
||||
<xs:element ref="sender"/>
|
||||
<xs:element ref="receiver"/>
|
||||
<xs:element ref="sendersystemname"/>
|
||||
<xs:element ref="exchangetype"/>
|
||||
<xs:element ref="doctype"/>
|
||||
<xs:element ref="date"/>
|
||||
<xs:element ref="administrativenum"/>
|
||||
<xs:element ref="title"/>
|
||||
<xs:element ref="addenda" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="server">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="sendserverid"/>
|
||||
<xs:element ref="receiveserverid"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="sendserverid" type="xs:string"/>
|
||||
<xs:element name="receiveserverid" type="xs:string"/>
|
||||
|
||||
<xs:element name="sender">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="organ"/>
|
||||
<xs:element ref="sendkey"/>
|
||||
<xs:element ref="username" minOccurs="0"/>
|
||||
<xs:element ref="userposition" minOccurs="0"/>
|
||||
<xs:element ref="email" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="receiver">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="organ"/>
|
||||
<xs:element ref="recvkey"/>
|
||||
<xs:element ref="username" minOccurs="0"/>
|
||||
<xs:element ref="userposition" minOccurs="0"/>
|
||||
<xs:element ref="email" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="organ">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="orgname"/>
|
||||
<xs:element ref="deptname"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="orgname">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="orgcode" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="deptname">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="deptcode" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="sendkey" type="xs:string"/>
|
||||
<xs:element name="recvkey" type="xs:string"/>
|
||||
<xs:element name="username" type="xs:string"/>
|
||||
<xs:element name="userposition" type="xs:string"/>
|
||||
<xs:element name="email" type="xs:string"/>
|
||||
|
||||
<xs:element name="sendersystemname" type="xs:string"/>
|
||||
<xs:element name="exchangetype">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="maintype"/>
|
||||
<xs:element ref="subtype" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="maintype" type="xs:string"/>
|
||||
<xs:element name="subtype" type="xs:string"/>
|
||||
<xs:element name="doctype" type="xs:string"/>
|
||||
<xs:element name="date" type="xs:string"/>
|
||||
<xs:element name="administrativenum" type="xs:string"/>
|
||||
<xs:element name="title" type="xs:string"/>
|
||||
|
||||
<xs:element name="addenda">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="addendum" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="addendum">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="Name" type="xs:string" use="required"/>
|
||||
<xs:attribute name="comment" type="xs:string" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="contents">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="content"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="content">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="content-role" type="xs:string" use="required"/>
|
||||
<xs:attribute name="sub-role" type="xs:string" default="content"/>
|
||||
<xs:attribute name="content-transfer-encoding" type="xs:string" default="base64"/>
|
||||
<xs:attribute name="filename" type="xs:string" use="required"/>
|
||||
<xs:attribute name="content-type" type="xs:string"/>
|
||||
<xs:attribute name="charset" type="xs:string"/>
|
||||
<xs:attribute name="attachorder" type="xs:string"/>
|
||||
<xs:attribute name="modify" default="non">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="modifiable"/>
|
||||
<xs:enumeration value="modified"/>
|
||||
<xs:enumeration value="non"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="EUC-KR" ?>
|
||||
|
||||
<!ELEMENT pack (header, contents)>
|
||||
<!ATTLIST pack filename CDATA #REQUIRED >
|
||||
|
||||
<!ELEMENT header (type, date, sender, receiver, sender_userid, receiver_userid, sender_email?,sender_orgname, sender_systemname?, administrative_num)>
|
||||
|
||||
<!ELEMENT type EMPTY>
|
||||
<!ATTLIST type doc-type (send|fail|arrive|receive|invalid|submit|return|approval) #REQUIRED >`
|
||||
<!ELEMENT date (#PCDATA)>
|
||||
<!ELEMENT sender (#PCDATA)>
|
||||
<!ELEMENT receiver (#PCDATA)>
|
||||
<!ELEMENT sender_userid (#PCDATA)>
|
||||
<!ELEMENT receiver_userid (#PCDATA)>
|
||||
<!ELEMENT sender_email (#PCDATA)>
|
||||
<!ELEMENT sender_orgname (#PCDATA)>
|
||||
<!ELEMENT sender_systemname (#PCDATA)>
|
||||
<!ELEMENT administrative_num (#PCDATA)>
|
||||
|
||||
<!ELEMENT contents (content)*>
|
||||
|
||||
<!ELEMENT content (#PCDATA)>
|
||||
<!ATTLIST content content-role CDATA #REQUIRED >
|
||||
<!ATTLIST content content-transfer-encoding CDATA "base64" >
|
||||
<!ATTLIST content filename CDATA #REQUIRED >
|
||||
<!ATTLIST content content-type CDATA #IMPLIED >
|
||||
<!ATTLIST content charset CDATA #IMPLIED >
|
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="EUC-KR"?>
|
||||
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
||||
|
||||
<xs:element name="pack">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="header"/>
|
||||
<xs:element ref="contents"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="filename" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="header">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="type"/>
|
||||
<xs:element ref="date"/>
|
||||
<xs:element ref="sender"/>
|
||||
<xs:element ref="receiver"/>
|
||||
<xs:element ref="sender_userid"/>
|
||||
<xs:element ref="receiver_userid"/>
|
||||
<xs:element ref="sender_email" minOccurs="0"/>
|
||||
<xs:element ref="sender_orgname"/>
|
||||
<xs:element ref="sender_systemname"/>
|
||||
<xs:element ref="administrative_num"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="type">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="doc-type" use="required">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NMTOKEN">
|
||||
<xs:enumeration value="send"/>
|
||||
<xs:enumeration value="fail"/>
|
||||
<xs:enumeration value="arrive"/>
|
||||
<xs:enumeration value="receive"/>
|
||||
<xs:enumeration value="invalid"/>
|
||||
<xs:enumeration value="submit"/>
|
||||
<xs:enumeration value="return"/>
|
||||
<xs:enumeration value="approval"/>
|
||||
<xs:enumeration value="normal-resend"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="date" type="xs:string"/>
|
||||
<xs:element name="sender" type="xs:string"/>
|
||||
<xs:element name="receiver" type="xs:string"/>
|
||||
<xs:element name="sender_userid" type="xs:string"/>
|
||||
<xs:element name="receiver_userid" type="xs:string"/>
|
||||
<xs:element name="sender_email" type="xs:string"/>
|
||||
<xs:element name="sender_orgname" type="xs:string"/>
|
||||
<xs:element name="sender_systemname" type="xs:string"/>
|
||||
<xs:element name="administrative_num" type="xs:string"/>
|
||||
<xs:element name="contents">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element ref="content"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="content">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="content-role" type="xs:string" use="required"/>
|
||||
<xs:attribute name="content-transfer-encoding" type="xs:string" default="base64"/>
|
||||
<xs:attribute name="filename" type="xs:string" use="required"/>
|
||||
<xs:attribute name="content-type" type="xs:string"/>
|
||||
<xs:attribute name="charset" type="xs:string"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
Loading…
Reference in New Issue