123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- <?xml version="1.0" encoding="utf-8"?>
- <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">
- <xs:element name="InitUpload" type="mf:InitUploadType"/>
- <xs:complexType name="InitUploadType">
- <xs:sequence>
- <xs:element name="DocumentType" minOccurs="1" maxOccurs="1">
- <xs:annotation>
- <xs:documentation>JPK - dokumenty przesyłane cyklicznie, JPKAH - dokumenty przesyłane doraźnie w ramach kontroli</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="JPK">
- <xs:annotation>
- <xs:documentation>Dokumenty przesyłane cyklicznie</xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- <xs:enumeration value="JPKAH">
- <xs:annotation>
- <xs:documentation>Dokumenty przesyłane doraźnie w ramach kontroli</xs:documentation>
- </xs:annotation>
- </xs:enumeration>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="Version" fixed="01.02.01.20160617" minOccurs="1" maxOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
- </xs:element>
- <xs:element name="EncryptionKey" minOccurs="1" maxOccurs="1">
- <xs:complexType>
- <xs:simpleContent>
- <xs:restriction base="mf:EncryptionKeyRSAType">
- <xs:minLength value="344"/>
- <xs:maxLength value="344"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="DocumentList" type="mf:ArrayOfDocumentType" minOccurs="1" maxOccurs="1">
- <xs:unique name="UniqueDocumentFileName">
- <xs:selector xpath="mf:Document"/>
- <xs:field xpath="mf:FileName"/>
- </xs:unique>
- </xs:element>
- <xs:element name="AuthData" minOccurs="0" maxOccurs="1">
- <xs:annotation>
- <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>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:string"/>
- </xs:simpleType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ArrayOfDocumentType">
- <xs:sequence>
- <xs:element name="Document" minOccurs="1">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="mf:DocumentType"/>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="DocumentType">
- <xs:sequence>
- <xs:element name="FormCode">
- <xs:annotation>
- <xs:documentation>KodFormularza zawarty w nagłówku pliku XML.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="systemCode" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>Atrybut kodSystemowy elementu KodFormularza z pliku XML.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="schemaVersion" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>Atrybut wersjaSchemy elementu KodFormularza z pliku XML.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="FileName">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="[a-zA-Z0-9_\.\-]{5,55}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="ContentLength" type="xs:long"/>
- <xs:element name="HashValue" minOccurs="1" maxOccurs="1">
- <xs:complexType>
- <xs:simpleContent>
- <xs:restriction base="mf:HashValueSHAType">
- <xs:minLength value="44"/>
- <xs:maxLength value="44"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="FileSignatureList" minOccurs="1" maxOccurs="1">
- <xs:complexType>
- <xs:complexContent>
- <xs:extension base="mf:ArrayOfFileSignatureType">
- <xs:attribute name="filesNumber" use="required">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:minInclusive value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:unique name="UniqueFileSignatureFileName">
- <xs:selector xpath="mf:FileSignature"/>
- <xs:field xpath="mf:FileName"/>
- </xs:unique>
- <xs:unique name="UniqueFileSignatureOrdinalNumber">
- <xs:selector xpath="mf:FileSignature"/>
- <xs:field xpath="mf:OrdinalNumber"/>
- </xs:unique>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ArrayOfFileSignatureType">
- <xs:sequence>
- <xs:element name="Packaging">
- <xs:complexType>
- <xs:choice>
- <xs:element name="SplitZip">
- <xs:complexType>
- <xs:attribute name="type" use="required" fixed="split"/>
- <xs:attribute name="mode" use="required" fixed="zip"/>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="Encryption">
- <xs:complexType>
- <xs:choice>
- <xs:element name="AES">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="IV">
- <xs:complexType>
- <xs:simpleContent>
- <xs:restriction base="mf:EncryptionAESIVType">
- <xs:minLength value="24"/>
- <xs:maxLength value="24"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- <xs:attribute name="size" type="xs:int" use="required" fixed="256"/>
- <xs:attribute name="block" type="xs:int" use="required" fixed="16"/>
- <xs:attribute name="mode" use="required" fixed="CBC"/>
- <xs:attribute name="padding" use="required" fixed="PKCS#7"/>
- </xs:complexType>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="FileSignature" type="mf:FileSignatureType" minOccurs="1" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="FileSignatureType">
- <xs:sequence>
- <xs:element name="OrdinalNumber">
- <xs:simpleType>
- <xs:restriction base="xs:int">
- <xs:minInclusive value="1"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="FileName" minOccurs="1" maxOccurs="1">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:pattern value="[a-zA-Z0-9_\.\-]{5,55}"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="ContentLength" type="xs:int" minOccurs="1" maxOccurs="1"/>
- <xs:element name="HashValue">
- <xs:complexType>
- <xs:simpleContent>
- <xs:restriction base="mf:HashValueMD5Type">
- <xs:minLength value="24"/>
- <xs:maxLength value="24"/>
- </xs:restriction>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="HashValueSHAType">
- <xs:simpleContent>
- <xs:extension base="xs:token">
- <xs:attribute name="algorithm" use="required" fixed="SHA-256"/>
- <xs:attribute name="encoding" use="required" fixed="Base64"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="HashValueMD5Type">
- <xs:simpleContent>
- <xs:extension base="xs:token">
- <xs:attribute name="algorithm" use="required" fixed="MD5"/>
- <xs:attribute name="encoding" use="required" fixed="Base64"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="EncryptionAESIVType">
- <xs:simpleContent>
- <xs:extension base="xs:token">
- <xs:attribute name="bytes" use="required" fixed="16"/>
- <xs:attribute name="encoding" use="required" fixed="Base64"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:complexType name="EncryptionKeyRSAType">
- <xs:simpleContent>
- <xs:extension base="xs:token">
- <xs:attribute name="algorithm" use="required" fixed="RSA"/>
- <xs:attribute name="mode" use="required" fixed="ECB"/>
- <xs:attribute name="padding" use="required" fixed="PKCS#1"/>
- <xs:attribute name="encoding" use="required" fixed="Base64"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:schema>
|