Fichier de commande XML

Les commandes disponibles dans les fichiers de commande CSV sont un sous-ensemble des commandes Loftware. Les commandes suivantes sont disponibles : LOGIN, LABEL, SET, PORT, PRINTER, SESSIONEND, SESSIONSTART et SESSIONPRINT. La syntaxe de ces commandes varie si elles sont utilisées dans un fichier XML.

L'élément de base du fichier de commande XML est <Nice_Commands>. L'élément qui doit suivre est <Label>. L'élément spécifie l'étiquette à utiliser.

Il y a deux méthodes pour lancer l'impression d'étiquettes : imprimer les étiquettes normalement en utilisant l'élément <Print_Job>, ou imprimer les étiquettes en sessions en utilisant l'élément <Session_Print_Job>. Il est aussi possible de changer l'imprimante sur laquelle les étiquettes s'impriment et de paramétrer les valeurs de variables.

Exemple de fichier de commande XML

L'exemple ci-dessous présente une vue structurelle des éléments et de leurs attributs tels qu'ils peuvent être utilisés dans un fichier XML.

<nice_commands>
    <label name="label1.nlbl">

        <session_print_job printer="CAB A3 203DPI" skip=0 job_name="job name 1" print_to_file="filename 1">
            <session quantity="10">
                <variable name="variable name 1" >variable value 1</variable>
            </session>
        </session_print_job>

        <print_job printer="Zebra R-402" quantity="10" skip=0 identical_copies=1 number_of_sets="1" job_name="job name 2" print_to_file="filename 2">
            <variable name="variable1" >1</variable>
            <variable name="variable2" >2</variable> 
            <variable name="variable3" >3</variable>
        </print_job>
    </label>
</nice_commands>

Exemple de fichier de commande XML

Cette section contient la description de structure du fichier de commande XML. Il y a différents éléments qui contiennent des attributs. Certains attributs sont obligatoires, d'autres sont en option. Certains attributs peuvent seulement comporter des valeurs prédéfinies, d'autres peuvent avoir des valeurs personnalisées.

  • <Nice_Commands>: Élément racine.

  • <Label>: Spécifie le fichier d'étiquette à ouvrir. Si l'étiquette est déjà ouverte, elle ne se rouvrira pas. Le fichier d'étiquette doit être accessible depuis cet ordinateur. Pour plus d'informations, consulter la section Accès aux Ressources de Réseau Partagées . Cet élément peut se trouver plusieurs fois dans le fichier de commande.

    • Nom : Cet attribut contient le nom d'étiquette. Mettre éventuellement le nom du chemin de l'étiquette. Obligatoire.

  • <Print_Job>: L'élément qui contient les données d'un travail d'impression. Cet élément peut se trouver plusieurs fois dans le fichier de commande.

    • Imprimante : : À utiliser pour remplacer l'imprimante définie dans l'étiquette. L'imprimante doit être accessible depuis cet ordinateur. Pour plus d'informations, consulter la section Accès aux Ressources de Réseau Partagées . Optionnel.

    • Quantité : À utiliser pour spécifier le nombre d'étiquettes à imprimer. Valeurs possibles : valeur numérique, VARIABLE ou UNLIMITED. Pour plus d'informations concernant les paramètres, consulter l'Imprimer l'étiquette. Obligatoire.

    • Sauter : À utiliser pour spécifier le nombre d'étiquettes à sauter au début. Élément utile pour imprimer des planches d'étiquettes sur une imprimante laser, quand les premières étiquettes sont déjà imprimées. Pour plus d'informations, consulter l'Imprimer l'étiquette. Optionnel.

    • Job_name : À utiliser pour spécifier le nom du travail d'impression. Le nom spécifié est visible dans le spouleur d'impression. Pour plus d'informations, consulter Définir le nom du travail d'impression. Optionnel.

    • Print_to_file : À utiliser pour spécifier le nom du fichier dans lequel il faut enregistrer les commandes de l'imprimante. Pour plus d'informations, voir Rediriger l'impression vers un fichier. Optionnel.

    • Identical_copies : À utiliser pour spécifier le nombre de copies à imprimer pour chaque étiquette. Pour plus d'informations, consulter l'Imprimer l'étiquette. Optionnel.

  • <Session_Print_Job>: Élément qui contient les données et les commandes pour une ou plusieurs sessions. L'élément peut contenir un ou plusieurs <Session> éléments. Il qualifie les règles d'impression de la session. Cet élément peut être utilisé plusieurs fois dans le fichier de commande. Pour rechercher les attributs disponibles, voir ceux de l'élément <Print_Job>. Ils sont tous utilisables, sauf l'attribut de quantité. Voir la description de l'élément <Session> pour déterminer comment spécifier la quantité d'étiquettes dans la session d'impression.

  • <Session>: L'élément qui contient les données pour une session. En imprimant en sessions, toutes les étiquettes sont codées et envoyées à l'imprimante dans un seul travail d'impression.

    • Quantité : À utiliser pour spécifier le nombre d'étiquettes à imprimer. Valeurs possibles : valeur numérique, chaîne de caractères VARIABLE ou chaîne UNLIMITED. Pour plus d'informations concernant les paramètres, consulter l'Imprimer l'étiquette. Obligatoire.

  • <Variable>: L'élément qui assigne les valeurs aux variables de l'étiquette. Cet élément peut se trouver plusieurs fois dans le fichier de commande.

    • Nom : L'attribut qui contient le nom de variable. Obligatoire.

Schéma de Définition XML (XSD) pour le fichier de commande XML

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="nice_commands">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="label" maxOccurs="unbounded" minOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="print_job" maxOccurs="unbounded" minOccurs="0">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="database" maxOccurs="unbounded" minOccurs="0">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                        <xs:attribute name="name" type="xs:string" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="table" maxOccurs="unbounded" minOccurs="0">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                        <xs:attribute name="name" type="xs:string" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="variable" maxOccurs="unbounded" minOccurs="0">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">   
                                                        <xs:attribute name="name" type="xs:string" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                    <xs:attribute name="quantity" type="xs:string" use="required" />
                                    <xs:attribute name="printer" type="xs:string" use="optional" />
                                    <xs:attribute name="skip" type="xs:integer" use="optional" />
                                    <xs:attribute name="identical_copies" type="xs:integer" use="optional" />
                                    <xs:attribute name="number_of_sets" type="xs:integer" use="optional" />
                                    <xs:attribute name="job_name" type="xs:string" use="optional" />
                                    <xs:attribute name="print_to_file" type="xs:string" use="optional" />
                                    <xs:attribute name="print_to_file_append" type="xs:boolean" use="optional" />
                                    <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="session_print_job" maxOccurs="unbounded" minOccurs="0">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="database" maxOccurs="unbounded" minOccurs="0">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">       
                                                        <xs:attribute name="name" type="xs:string" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="table" maxOccurs="unbounded" minOccurs="0">
                                            <xs:complexType>
                                                <xs:simpleContent>
                                                    <xs:extension base="xs:string">
                                                        <xs:attribute name="name" type="xs:string" use="required" />
                                                    </xs:extension>
                                                </xs:simpleContent>
                                            </xs:complexType>
                                        </xs:element>
                                        <xs:element name="session" minOccurs="1" maxOccurs="unbounded">
                                            <xs:complexType>
                                                <xs:sequence>
                                                    <xs:element name="variable" minOccurs="0" maxOccurs="unbounded">
                                                        <xs:complexType>    
                                                            <xs:simpleContent>
                                                                <xs:extension base="xs:string">
                                                                    <xs:attribute name="name" type="xs:string" use="required" />                                                                
                                                                </xs:extension>       
                                                            </xs:simpleContent>
                                                        </xs:complexType>
                                                    </xs:element>
                                                </xs:sequence>
                                                <xs:attribute name="quantity" type="xs:string" use="required" />
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                    <xs:attribute name="printer" type="xs:string" use="optional" />
                                    <xs:attribute name="skip" type="xs:integer" use="optional" />
                                    <xs:attribute name="job_name" type="xs:string" use="optional" />
                                    <xs:attribute name="print_to_file" type="xs:string" use="optional" />
                                    <xs:attribute name="print_to_file_append" type="xs:boolean" use="optional" />
                                    <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" />
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="name" type="xs:string" use="required" />
                        <xs:attribute name="close" type="xs:boolean" use="optional" />
                        <xs:attribute name="clear_variable_values" type="xs:boolean" use="optional" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="quit" type="xs:boolean" use="required" />
        </xs:complexType>
    </xs:element>
</xs:schema>