Nav apraksta

initupload.xsd 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xs:schema xmlns="http://e-dokumenty.mf.gov.pl" xmlns:mf="http://e-dokumenty.mf.gov.pl" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://e-dokumenty.mf.gov.pl" elementFormDefault="qualified">
  3. <xs:element name="InitUpload" type="mf:InitUploadType"/>
  4. <xs:complexType name="InitUploadType">
  5. <xs:sequence>
  6. <xs:element name="DocumentType" minOccurs="1" maxOccurs="1">
  7. <xs:annotation>
  8. <xs:documentation>JPK - dokumenty przesyłane cyklicznie, JPKAH - dokumenty przesyłane doraźnie w ramach kontroli</xs:documentation>
  9. </xs:annotation>
  10. <xs:simpleType>
  11. <xs:restriction base="xs:string">
  12. <xs:enumeration value="JPK">
  13. <xs:annotation>
  14. <xs:documentation>Dokumenty przesyłane cyklicznie</xs:documentation>
  15. </xs:annotation>
  16. </xs:enumeration>
  17. <xs:enumeration value="JPKAH">
  18. <xs:annotation>
  19. <xs:documentation>Dokumenty przesyłane doraźnie w ramach kontroli</xs:documentation>
  20. </xs:annotation>
  21. </xs:enumeration>
  22. </xs:restriction>
  23. </xs:simpleType>
  24. </xs:element>
  25. <xs:element name="Version" fixed="01.02.01.20160617" minOccurs="1" maxOccurs="1">
  26. <xs:simpleType>
  27. <xs:restriction base="xs:string"/>
  28. </xs:simpleType>
  29. </xs:element>
  30. <xs:element name="EncryptionKey" minOccurs="1" maxOccurs="1">
  31. <xs:complexType>
  32. <xs:simpleContent>
  33. <xs:restriction base="mf:EncryptionKeyRSAType">
  34. <xs:minLength value="344"/>
  35. <xs:maxLength value="344"/>
  36. </xs:restriction>
  37. </xs:simpleContent>
  38. </xs:complexType>
  39. </xs:element>
  40. <xs:element name="DocumentList" type="mf:ArrayOfDocumentType" minOccurs="1" maxOccurs="1">
  41. <xs:unique name="UniqueDocumentFileName">
  42. <xs:selector xpath="mf:Document"/>
  43. <xs:field xpath="mf:FileName"/>
  44. </xs:unique>
  45. </xs:element>
  46. <xs:element name="AuthData" minOccurs="0" maxOccurs="1">
  47. <xs:annotation>
  48. <xs:documentation>To opcjonalne pole powinno zawierać dokument XML zgodny z opublikowaną schemą SIG-2008_v2-0.xsd zaszyfrowany z wykorzystaniem algorytmu symetrycznego AES256. Powinien zostać wykorzystany ten sam klucz, który jest wykorzystywany do szyfrowania części skompresowanego archiwum pliku JPK i załączany do niniejszego pliku metadanych. Algorytm kodowania zaszyfrowanych danych to Base64.</xs:documentation>
  49. </xs:annotation>
  50. <xs:simpleType>
  51. <xs:restriction base="xs:string"/>
  52. </xs:simpleType>
  53. </xs:element>
  54. </xs:sequence>
  55. </xs:complexType>
  56. <xs:complexType name="ArrayOfDocumentType">
  57. <xs:sequence>
  58. <xs:element name="Document" minOccurs="1">
  59. <xs:complexType>
  60. <xs:complexContent>
  61. <xs:extension base="mf:DocumentType"/>
  62. </xs:complexContent>
  63. </xs:complexType>
  64. </xs:element>
  65. </xs:sequence>
  66. </xs:complexType>
  67. <xs:complexType name="DocumentType">
  68. <xs:sequence>
  69. <xs:element name="FormCode">
  70. <xs:annotation>
  71. <xs:documentation>KodFormularza zawarty w nagłówku pliku XML.</xs:documentation>
  72. </xs:annotation>
  73. <xs:complexType>
  74. <xs:simpleContent>
  75. <xs:extension base="xs:string">
  76. <xs:attribute name="systemCode" type="xs:string" use="required">
  77. <xs:annotation>
  78. <xs:documentation>Atrybut kodSystemowy elementu KodFormularza z pliku XML.</xs:documentation>
  79. </xs:annotation>
  80. </xs:attribute>
  81. <xs:attribute name="schemaVersion" type="xs:string" use="required">
  82. <xs:annotation>
  83. <xs:documentation>Atrybut wersjaSchemy elementu KodFormularza z pliku XML.</xs:documentation>
  84. </xs:annotation>
  85. </xs:attribute>
  86. </xs:extension>
  87. </xs:simpleContent>
  88. </xs:complexType>
  89. </xs:element>
  90. <xs:element name="FileName">
  91. <xs:simpleType>
  92. <xs:restriction base="xs:string">
  93. <xs:pattern value="[a-zA-Z0-9_\.\-]{5,55}"/>
  94. </xs:restriction>
  95. </xs:simpleType>
  96. </xs:element>
  97. <xs:element name="ContentLength" type="xs:long"/>
  98. <xs:element name="HashValue" minOccurs="1" maxOccurs="1">
  99. <xs:complexType>
  100. <xs:simpleContent>
  101. <xs:restriction base="mf:HashValueSHAType">
  102. <xs:minLength value="44"/>
  103. <xs:maxLength value="44"/>
  104. </xs:restriction>
  105. </xs:simpleContent>
  106. </xs:complexType>
  107. </xs:element>
  108. <xs:element name="FileSignatureList" minOccurs="1" maxOccurs="1">
  109. <xs:complexType>
  110. <xs:complexContent>
  111. <xs:extension base="mf:ArrayOfFileSignatureType">
  112. <xs:attribute name="filesNumber" use="required">
  113. <xs:simpleType>
  114. <xs:restriction base="xs:int">
  115. <xs:minInclusive value="1"/>
  116. </xs:restriction>
  117. </xs:simpleType>
  118. </xs:attribute>
  119. </xs:extension>
  120. </xs:complexContent>
  121. </xs:complexType>
  122. <xs:unique name="UniqueFileSignatureFileName">
  123. <xs:selector xpath="mf:FileSignature"/>
  124. <xs:field xpath="mf:FileName"/>
  125. </xs:unique>
  126. <xs:unique name="UniqueFileSignatureOrdinalNumber">
  127. <xs:selector xpath="mf:FileSignature"/>
  128. <xs:field xpath="mf:OrdinalNumber"/>
  129. </xs:unique>
  130. </xs:element>
  131. </xs:sequence>
  132. </xs:complexType>
  133. <xs:complexType name="ArrayOfFileSignatureType">
  134. <xs:sequence>
  135. <xs:element name="Packaging">
  136. <xs:complexType>
  137. <xs:choice>
  138. <xs:element name="SplitZip">
  139. <xs:complexType>
  140. <xs:attribute name="type" use="required" fixed="split"/>
  141. <xs:attribute name="mode" use="required" fixed="zip"/>
  142. </xs:complexType>
  143. </xs:element>
  144. </xs:choice>
  145. </xs:complexType>
  146. </xs:element>
  147. <xs:element name="Encryption">
  148. <xs:complexType>
  149. <xs:choice>
  150. <xs:element name="AES">
  151. <xs:complexType>
  152. <xs:sequence>
  153. <xs:element name="IV">
  154. <xs:complexType>
  155. <xs:simpleContent>
  156. <xs:restriction base="mf:EncryptionAESIVType">
  157. <xs:minLength value="24"/>
  158. <xs:maxLength value="24"/>
  159. </xs:restriction>
  160. </xs:simpleContent>
  161. </xs:complexType>
  162. </xs:element>
  163. </xs:sequence>
  164. <xs:attribute name="size" type="xs:int" use="required" fixed="256"/>
  165. <xs:attribute name="block" type="xs:int" use="required" fixed="16"/>
  166. <xs:attribute name="mode" use="required" fixed="CBC"/>
  167. <xs:attribute name="padding" use="required" fixed="PKCS#7"/>
  168. </xs:complexType>
  169. </xs:element>
  170. </xs:choice>
  171. </xs:complexType>
  172. </xs:element>
  173. <xs:element name="FileSignature" type="mf:FileSignatureType" minOccurs="1" maxOccurs="unbounded"/>
  174. </xs:sequence>
  175. </xs:complexType>
  176. <xs:complexType name="FileSignatureType">
  177. <xs:sequence>
  178. <xs:element name="OrdinalNumber">
  179. <xs:simpleType>
  180. <xs:restriction base="xs:int">
  181. <xs:minInclusive value="1"/>
  182. </xs:restriction>
  183. </xs:simpleType>
  184. </xs:element>
  185. <xs:element name="FileName" minOccurs="1" maxOccurs="1">
  186. <xs:simpleType>
  187. <xs:restriction base="xs:string">
  188. <xs:pattern value="[a-zA-Z0-9_\.\-]{5,55}"/>
  189. </xs:restriction>
  190. </xs:simpleType>
  191. </xs:element>
  192. <xs:element name="ContentLength" type="xs:int" minOccurs="1" maxOccurs="1"/>
  193. <xs:element name="HashValue">
  194. <xs:complexType>
  195. <xs:simpleContent>
  196. <xs:restriction base="mf:HashValueMD5Type">
  197. <xs:minLength value="24"/>
  198. <xs:maxLength value="24"/>
  199. </xs:restriction>
  200. </xs:simpleContent>
  201. </xs:complexType>
  202. </xs:element>
  203. </xs:sequence>
  204. </xs:complexType>
  205. <xs:complexType name="HashValueSHAType">
  206. <xs:simpleContent>
  207. <xs:extension base="xs:token">
  208. <xs:attribute name="algorithm" use="required" fixed="SHA-256"/>
  209. <xs:attribute name="encoding" use="required" fixed="Base64"/>
  210. </xs:extension>
  211. </xs:simpleContent>
  212. </xs:complexType>
  213. <xs:complexType name="HashValueMD5Type">
  214. <xs:simpleContent>
  215. <xs:extension base="xs:token">
  216. <xs:attribute name="algorithm" use="required" fixed="MD5"/>
  217. <xs:attribute name="encoding" use="required" fixed="Base64"/>
  218. </xs:extension>
  219. </xs:simpleContent>
  220. </xs:complexType>
  221. <xs:complexType name="EncryptionAESIVType">
  222. <xs:simpleContent>
  223. <xs:extension base="xs:token">
  224. <xs:attribute name="bytes" use="required" fixed="16"/>
  225. <xs:attribute name="encoding" use="required" fixed="Base64"/>
  226. </xs:extension>
  227. </xs:simpleContent>
  228. </xs:complexType>
  229. <xs:complexType name="EncryptionKeyRSAType">
  230. <xs:simpleContent>
  231. <xs:extension base="xs:token">
  232. <xs:attribute name="algorithm" use="required" fixed="RSA"/>
  233. <xs:attribute name="mode" use="required" fixed="ECB"/>
  234. <xs:attribute name="padding" use="required" fixed="PKCS#1"/>
  235. <xs:attribute name="encoding" use="required" fixed="Base64"/>
  236. </xs:extension>
  237. </xs:simpleContent>
  238. </xs:complexType>
  239. </xs:schema>