- 13 -
Each of the fields’ types must have the following attributes:
name
– each field must have a unique name. “udt-field” and “container-
field” have a predefined names “UDT” and “Container ID” respectively.
length
– the number of characters (ASCII characters) the field holds.
value
– the field’s default value.
desc
– the field’s description.
regex-pattern
– regular expression pattern used to validate the value entered
by the user for that field. The application validates the user input by
matching the user input against the regex-pattern. If it matches then the
input is valid, otherwise an error message is displayed (see details
below). If an empty value is set (that is, regex-pattern=””) then the
application checks only that the value typed is no longer that the above
length
attribute. The Application employs the .Net Framework
Nondeterministic Finite Automaton (NFA) engine for the value
matching.
valid-err
– the message to be displayed to the user should the field value
typed is invalid. See regex-pattern above.
If there is a need to change the data structure of the fields in the DataSeal the user, or rather,
the system administrator should do the followings:
1.
Create a new settings.xml file or update the xisting one.
2.
Increment the UDT version (udt-field).
3.
Store the new settings file (settings.xml) under “\My
Documents\Business\HiGTek\Settings” folder in the Pocket PC device.
3.2 Settings Schema
The
previous section
gave a description of the application settings using the “settings.xml”
file. This section brings the format XML Schema of the “settings.xml” file:
<?xml version="1.0" ?>
<xs:schema id="seal" targetNamespace="http://tempuri.org/seal.xsd"
xmlns:mstns="http://tempuri.org/seal.xsd"
xmlns="http://tempuri.org/seal.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
attributeFormDefault="unqualified"
elementFormDefault="unqualified">
<xs:element name="seal" msdata:IsDataSet="true"
msdata:EnforceConstraints="False">
<xs:complexType>
<xs:sequence>
<xs:element name="general" type="mstns:general-Type"
maxOccurs="1" minOccurs="1" />
<xs:element name="data" type="mstns:data-Type"
maxOccurs="1" minOccurs="1" />
<xs:element name="events" type="mstns:events-Type"
maxOccurs="1" minOccurs="1" />
</xs:sequence>