<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="ProgrammersReference.xslt"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ePocket.no/Handyman62/Api">
  <xs:element name="ItemNumberTypeList">
    <xs:annotation>
      <xs:documentation>Handyman Import: Item number types with grouping structure</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ItemNumberType" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="HSID" minOccurs="0">
                <xs:simpleType>
                  <xs:annotation>
                    <xs:appinfo>1-4</xs:appinfo>
                    <xs:documentation>
                      Handyman has 4 predefined item number types that can be modified:

                      1=Elnummer
                      2=EAN
                      3=Manufacturers number
                      4=NRF Number

                      If some of these are to be updated with new group information, use one of the numbers above, otherwise don't send tag.
                    </xs:documentation>
                  </xs:annotation>
                  <xs:restriction base="xs:integer">
                    <xs:enumeration value="1"/>
                    <xs:enumeration value="2"/>
                    <xs:enumeration value="3"/>
                    <xs:enumeration value="4"/>
                    </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ID">
                <xs:annotation>
                  <xs:documentation>Unique ID for item number type.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Name">
                <xs:annotation>
                  <xs:documentation>Display name of item number type</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ItemGroupList" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>List og item groups</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ItemGroup" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="ItemGroupID">
                            <xs:annotation>
                              <xs:documentation>ID for group. Pricelist items with same value in ItemGroup will be connected to this group when pricelist is imported</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="ParentID">
                            <xs:annotation>
                              <xs:documentation>Blank if no parent (Top level Item group)</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="20"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="ItemGroupName">
                            <xs:annotation>
                              <xs:documentation>Display name of item group</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Level" minOccurs="0">
                            <xs:simpleType>
                            <xs:annotation>
                              <xs:appinfo>1-n</xs:appinfo>
                              <xs:documentation>
                                Use to indicate the nesting level for the group. Top level is 1 (No parent provided)
                                This is neccesary to make the PDA item group search function to work properly.


                                OBS! If level is not provided, it is calculated when sending to the PDA based on the following formula:

                                If Length(ItemGroupID)&gt; 1 Then
                                  Level = Length(ItemGroupID) - 1
                                  If Level &lt; 3 Then
                                    HasChildren = "True"
                                  End If
                                End If

                                Example: ID = "10", Level = "1"
                                         ID = "101", Level = "2"

                                It is also assumed that the maximum level in such a case is 3.
                              </xs:documentation>
                            </xs:annotation>
                              <xs:restriction base="xs:integer">
                                <xs:pattern value="[1-n]"/>
                              </xs:restriction>
                            </xs:simpleType> 
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>