POSXML
Introduction '''POSXML''' (acronym for '''P'''oint '''O'''f '''S'''ale e'''X'''tended '''M'''arkup  '''L'''anguage) is a programming language, based on XML, that is used to create applications for a POS terminal.Normally  the programming language used to develop such applications is C or C++. The main purpose of POSXML  is to simplify the development of applications for POS terminals. It contains a set of instructions and pre-programmed commands, which allow direct interaction with the machine, resulting in a large reduction in application development time.
Language features === The structure of POSXML ===POSXML  is organized and structured in the form of tags, showing levels and subsets of a set of commands and instructions, that form the logical structure of a POSXML application.Example:		    			        			               ...        ...			=== Compiled language ===Similar to the vast majority of existing programming languages, POSXML is compiled in a specific format to reduce the file size which allows the application to be run on a POS terminal using a framework (virtual machine).When compiled, a program written in POSXML,  becomes a set of bytecodes that are interpreted by the virtual machine on the POS terminal which results in the implementation on the POS terminal.Example:Compiled bytecode:d0 \x0A 0 \x0A Bytecode example \x0A \x0D=== Syntax ===The commands and instructions of POSXML, such as the compliance on the use of capital letters and lowercase letters (case sensitive), are acquired through training. Some commands  that belong to the language do not require parameters, unlike other commands that need input to interact with the machine.Examples:Commands that do not require instructions or parameters.Commands that require instructions and parameters to interact with the equipment.The names given to functions, variables, and pages should also obey the rules written in capital letters and lowercase letters, so if a developer creates a function called "calcula_digito" he will not be able to call on the variable via "Calcula_Digito". The call of a function, or variable page must meet the exact name that was assigned by the programmer.=== Commands and instructions ===Because it is a structured language based on XML, POSXML is a language that is constantly evolving,  new commands and instructions can be added to your library at any time. Initially, the language had only  two dozen basic commands  to create a functional application on a POS terminal, using few resources: only the basic display (LCD), keypad, magnetic card reader and printer.With the evolution of language, there are now almost one hundred commands and instructions available to deal with files, pictures, mathematical operators, functions to manipulate variables of the String type, definition of variables, logical operators, classes for working with protocol ISO 8583 (Protocol standard for exchanging information in transactions with credit cards), among others.=== Variables and data types ===Variables in POSXML are typed; there are only two types, integer and string. POSXML limits the number of declared variables to 512.These variables are declared global, i.e. They are shared throughout all the scheduled pages of the POSXML program in runtime process.Examples:String type variable:Integer  type variable:A call to a variable that is declared in the memory, is made by $(name_of_the_variable), regardless of its type.It is also possible to convert a variable of one type into the other type. In POSXML the commands inttostring and stringtoint are used for this.Examples:=== File system ===When writing an application for a POS terminal, the developer is faced  with the need to write to the specific file system of the equipment. The POSXML language works with files of type WALK dbFile  (A file system defined by the framework that interprets a program compiled POSXML). This file system WALK dbFile uses the format: key = buffer\nkey = buffer\n, basically the format of text files in a Unix environment, where  is used to wrap. There are 8 basic commands in the POSXML language  to work with files in the POS terminal, they are. * editfile* readfile* readfilebyindex* deletefile* file.open* file.write* file.read* file.closeExamples:
Code examples ===The traditional "Hello World"======Menu, functions and impressions===                                                        ===Dealing with the POS file===  ===An example with while "While"===
References
See also * Credit cards* Private label* Visa Inc.* Mastercard* Visanet* Redecard* HDLC* GPRS* SSL* RENPAC* ADSL