ActChargeOn.xml

Материал из Фабиус wiki
Перейти к: навигация, поиск

<?xml version="1.0" encoding="utf-8"?>

<xs:schema version    = "1.0"
 xmlns:ns             = "http://fsrar.ru/WEGAIS/ActChargeOn"
 targetNamespace      = "http://fsrar.ru/WEGAIS/ActChargeOn"
 xmlns:xs             = "http://www.w3.org/2001/XMLSchema"
 elementFormDefault   = "qualified"
 attributeFormDefault = "unqualified"
 xmlns:c              = "http://fsrar.ru/WEGAIS/Common"
 xmlns:oref           = "http://fsrar.ru/WEGAIS/ClientRef"
 xmlns:pref           = "http://fsrar.ru/WEGAIS/ProductRef"
 xmlns:iab            = "http://fsrar.ru/WEGAIS/ActInventoryABInfo">
 <xs:import namespace = "http://fsrar.ru/WEGAIS/Common" schemaLocation="EGCommon.xsd"/>
 <xs:import namespace = "http://fsrar.ru/WEGAIS/ClientRef" schemaLocation="ClientRef.xsd"/>
 <xs:import namespace = "http://fsrar.ru/WEGAIS/ProductRef" schemaLocation="ProductRef.xsd"/>
 <xs:import namespace = "http://fsrar.ru/WEGAIS/ActInventoryABInfo" schemaLocation="ActInventoryABInfo.xsd"/>
 <xs:complexType name="ActChargeOnType">
   <xs:annotation>
     <xs:documentation>Акт постановки на баланс</xs:documentation>
   </xs:annotation>
   <xs:sequence>
     <xs:element name="Identity" type="c:IdentityType" nillable="false" minOccurs="0" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Идентификатор документа(клиентский)</xs:documentation>
       </xs:annotation>
     </xs:element>
     <xs:element name="Header">
       <xs:complexType>
         <xs:all>
           <xs:element name="Number" type="c:NoEmptyString50" minOccurs="1" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Номер документа</xs:documentation>
             </xs:annotation>
           </xs:element>
           <xs:element name="ActDate" type="c:DateNoTime" minOccurs="1" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Дата акта постановки на баланс</xs:documentation>
             </xs:annotation>
           </xs:element>
           <xs:element name="Note" minOccurs="0" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Примечание</xs:documentation>
             </xs:annotation>
             <xs:simpleType>
               <xs:restriction base="xs:string">
                 <xs:maxLength value="500"/>
               </xs:restriction>
             </xs:simpleType>
           </xs:element>
         </xs:all>
       </xs:complexType>
     </xs:element>
     <xs:element name="Content">
       <xs:complexType>
         <xs:sequence>
           <xs:element name="Position" type="ns:ActChargeOnPositionType" minOccurs="1" maxOccurs="unbounded">
             <xs:annotation>
               <xs:documentation>Содержимое акта должно содержать 1 и более позиций</xs:documentation>
             </xs:annotation>
           </xs:element>
         </xs:sequence>
       </xs:complexType>
       <xs:unique name="PosUn">
         <xs:selector xpath="ns:Position"/>
         <xs:field xpath="ns:Identity"/>
       </xs:unique>
       <xs:unique name="MarkCodeUn">
         <xs:selector xpath="ns:Position/ns:MarkCodeInfo/ns:MarkCode"/>
         <xs:field xpath="."/>
       </xs:unique>
     </xs:element>
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ActChargeOnPositionType">
   <xs:annotation>
     <xs:documentation>Позиция</xs:documentation>
   </xs:annotation>
   <xs:all>
     <xs:element name="Identity" type="c:IdentityType" nillable="false" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Идентификатор позиции</xs:documentation>
       </xs:annotation>
     </xs:element>
     <xs:element name="Product" type="pref:ProductInfo" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Информация о продукции</xs:documentation>
       </xs:annotation>
     </xs:element>
     <xs:element name="Quantity" type="c:PositiveDecimalType" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Количество</xs:documentation>
       </xs:annotation>
     </xs:element>
     <xs:element name="InformAB" nillable="false" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Справки А и Б</xs:documentation>
       </xs:annotation>
       <xs:complexType>
         <xs:choice>
           <xs:element name="InformABKey" type="ns:InformABKeyType" nillable="false" minOccurs="1" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Справки А и Б ссылочного типа</xs:documentation>
             </xs:annotation>
           </xs:element>
           <xs:element name="InformABReg" type="ns:InformABRegType" nillable="false" minOccurs="1" maxOccurs="1">
             <xs:annotation>
               <xs:documentation>Справка А и цепочка справок Б</xs:documentation>
             </xs:annotation>
           </xs:element>
         </xs:choice>
       </xs:complexType>
     </xs:element>
     <xs:element name="MarkCodeInfo"  type="ns:MarkCodeInfoType" minOccurs="0" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Перечень считанных кодов марок</xs:documentation>
       </xs:annotation>
     </xs:element>
   </xs:all>
 </xs:complexType>
 <xs:complexType name="MarkCodeInfoType">
   <xs:annotation>
     <xs:documentation>Список считанных кодов марок</xs:documentation>
   </xs:annotation>
   <xs:sequence>
     <xs:element name="MarkCode" type="c:PDF417String" nillable="false" minOccurs="1" maxOccurs="unbounded" >
     </xs:element>
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="InformABKeyType">
   <xs:annotation>
     <xs:documentation>Справки А и Б ссылки</xs:documentation>
   </xs:annotation>
   <xs:sequence>
     <xs:element name="FormA" type="c:NoEmptyString50" nillable="false" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Идентификатор справки А</xs:documentation>
       </xs:annotation>
     </xs:element>
     <xs:element name="LastFormB" type="c:NoEmptyString50" nillable="false" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Идентификатор последней справки Б</xs:documentation>
       </xs:annotation>
     </xs:element>
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="InformABRegType">
   <xs:annotation>
     <xs:documentation>Справки А и Б документы</xs:documentation>
   </xs:annotation>
   <xs:sequence>
     <xs:element name="InformA" type="iab:InformARegType"  nillable="false" minOccurs="1" maxOccurs="1">
       <xs:annotation>
         <xs:documentation>Cправка А</xs:documentation>
       </xs:annotation>
     </xs:element>
   </xs:sequence>
 </xs:complexType>
</xs:schema>