]> git.sur5r.net Git - glabels/commitdiff
More preparation for 3.0 release
authorJim Evins <evins@snaught.com>
Mon, 16 May 2011 15:12:40 +0000 (11:12 -0400)
committerJim Evins <evins@snaught.com>
Mon, 16 May 2011 15:12:40 +0000 (11:12 -0400)
13 files changed:
NEWS
libglabels/lgl-xml.h
templates/Makefile.am
templates/ascom-iso-templates.xml
templates/databecker-iso-templates.xml
templates/dataline-iso-templates.xml
templates/geha-iso-templates.xml
templates/glabels-2.3.dtd [deleted file]
templates/glabels-3.0.dtd [new file with mode: 0644]
templates/hama-iso-templates.xml
templates/jac-iso-templates.xml
templates/misc-iso-templates.xml
templates/pearl-iso-templates.xml

diff --git a/NEWS b/NEWS
index 18be1ea210274350a2ad5c088d563dad0082d649..41661f1a0af36c5b52f8c362e655151546d3977a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,18 @@
+* gLabels 3.0.0 (stable) release.  Release date 2011-05-16
+
+- Reorganization of alignment menus
+- Allow glabels-batch to be run outside of windowing system
+- CSV parser now more closely follows RFC 4180
+- Added templates
+- Updated translations:
+   - French (Claude Paroz, Bruno Brouard, Gérard Baylard)
+   - Spanish (Daniel Mustieles)
+   - Japanese (Takayuki KUSANO, Takayoshi OKANO)
+   - Czech (Marek Černocký)
+   - German (Mario Blättermann)
+   - Dutch (Mario Blättermann, Hannie Dumoleyn)
+
+
 * gLabels 2.3.1 (unstable) release.  Release date 2011-01-03
 
 - Migrated to GNOME 3 platform
index c4ed693bd36200b0208cba521bc722af600dea8f..9e7f1dd24e37aca118283a3951f18c8d381c8b61 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "lgl-units.h"
 
-#define LGL_XML_NAME_SPACE "http://glabels.org/xmlns/2.3/"
+#define LGL_XML_NAME_SPACE "http://glabels.org/xmlns/3.0/"
 
 G_BEGIN_DECLS
 
index b3db712a857e2500f259854d2d39f5c08434c49a..c14ece9480cce138f0938b70f0469dd3890eb4a0 100644 (file)
@@ -3,7 +3,7 @@
 dtddir = $(datadir)/$(LIBGLABELS_BRANCH)/dtd
 
 dtd_DATA = \
-       glabels-2.3.dtd
+       glabels-3.0.dtd
 
 templatesdir = $(datadir)/$(LIBGLABELS_BRANCH)/templates
 
index ebad1039124cd154dc29d3713d4660e099fe1857..57534cfa5ff4839f03de30bb6265521e0a799dcc 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ************************* -->
   <!--                           -->
index 41a6da6f2dcbdd501216556589256f5782a81eef..1c2d87f2a9907380be9ebcdc3096a2c34d4562db 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- =================================================================== -->
   <!-- DATA BECKER: Business Cards, 50 x 90 mm, 10 per sheet               -->
index 0c15839168b74f2a7978de0f27198ad4ee451012..758b2ae87cb3a29acb9343bf2e69ec5f645571c9 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ************************* -->
   <!--                           -->
index e6cb3abe6013939949a6d95dad6bae3c0216b2b4..b6ecd310f675322793b67a0dda1add5bb9ffea3d 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ************************* -->
   <!--                           -->
diff --git a/templates/glabels-2.3.dtd b/templates/glabels-2.3.dtd
deleted file mode 100644 (file)
index 5678dd1..0000000
+++ /dev/null
@@ -1,464 +0,0 @@
-<!--
-  glabels-2.3.dtd
-
-  This file is a part of the glabels template database.
-  Copyright (c) 2001-2009 Jim Evins
-  Permission is hereby granted, free of charge, to any person
-  obtaining a copy of this software and associated documentation
-  files (the "Software"), to deal in the Software without
-  restriction, including without limitation the rights to use,
-  copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the
-  Software is furnished to do so, subject to the following
-  conditions:
-  The above copyright notice and this permission notice shall be
-  included in all copies or substantial portions of the Software.
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-  OTHER DEALINGS IN THE SOFTWARE.
--->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- ENTITIES: primitive types used in element attributes                 -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-
-<!-- primitives -->
-<!ENTITY % BOOLEAN_TYPE       "(False | True | 0 | 1)">
-<!ENTITY % STRING_TYPE        "CDATA">
-<!ENTITY % LENGTH_TYPE        "CDATA"> <!-- %g (pt|in|mm|cm|pc) -->
-<!ENTITY % INT_TYPE           "CDATA"> <!-- %d | 0x%x | 0%o -->
-<!ENTITY % UINT_TYPE          "CDATA"> <!-- %u | 0x%x | 0%o -->
-<!ENTITY % FLOAT_TYPE         "CDATA"> <!-- %g -->
-
-<!-- Text related enumerations/types -->
-<!ENTITY % JUSTIFY_TYPE       "(Left | Right | Center)">
-<!ENTITY % FONT_WEIGHT_TYPE   "(Regular | Bold)">
-
-<!-- Barcode related enumerations/types -->
-<!ENTITY % BC_BACKEND_TYPE    "CDATA">
-                              <!-- one of:
-                              "(built-in    |
-                                gnu-barcode |
-                               zint        |
-                               libiec16022 |
-                               libqrencode")
-                               -->
-<!ENTITY % BC_STYLE_TYPE      "CDATA">
-                              <!-- one of:
-                              "(POSTNET    |
-                                POSTNET-5  |
-                                POSTNET-9  |
-                                POSTNET-11 |
-                                CEPNET     |
-                                EAN        |
-                                EAN-8      |
-                                EAN-8+2    |
-                                EAN-8+5    |
-                                EAN-13     |
-                                EAN-13+2   |
-                                EAN-13+5   |
-                                UPC        |
-                                UPC-A      |
-                                UPC-A+2    |
-                                UPC-A+5    |
-                                UPC-E      |
-                                UPC-E+2    |
-                                UPC-E+5    |
-                                ISBN       |
-                                ISBN+5     |
-                                Code39     |
-                                Code128    |
-                                Code128C   |
-                                Code128B   |
-                                I25        |
-                                CBR        |
-                                MSI        |
-                                PLS        |
-                                IEC16022)"
-                               -->
-
-<!-- Data encoding method -->
-<!ENTITY % DATA_ENCODING_TYPE "(None | Base64)">
-
-<!-- Inline file format type -->
-<!ENTITY % FILE_FORMAT_TYPE "(SVG)">
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Top-level glabels paper data base                                    -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Glabels-paper-sizes (Paper-size*)>
-<!ATTLIST Glabels-paper-sizes
-                 xmlns           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Top-level glabels categories data base                               -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Glabels-categories (Category*)>
-<!ATTLIST Glabels-categories
-                 xmlns           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Top-level glabels vendors data base                                  -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Glabels-vendors (Vendor*)>
-<!ATTLIST Glabels-vendors
-                 xmlns           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Top-level glabels template data base                                 -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Glabels-templates (Template*)>
-<!ATTLIST Glabels-templates
-                 xmlns           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Top-level glabels document                                           -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Glabels-document (Template, Objects+, Merge?, Data*)>
-<!ATTLIST Glabels-document
-                 xmlns           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Paper size                                                           -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Paper-size EMPTY>
-<!ATTLIST Paper-size
-                 id              %STRING_TYPE;           #REQUIRED
-                 name            %STRING_TYPE;           #IMPLIED
-                 _name           %STRING_TYPE;           #IMPLIED
-                 pwg_size        %STRING_TYPE;           #REQUIRED
-                 width           %LENGTH_TYPE;           #REQUIRED
-                 height          %LENGTH_TYPE;           #REQUIRED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Category                                                             -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Category EMPTY>
-<!ATTLIST Category
-                 id              %STRING_TYPE;           #REQUIRED
-                 name            %STRING_TYPE;           #IMPLIED
-                 _name           %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Vendor                                                               -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Vendor EMPTY>
-<!ATTLIST Vendor
-                 name            %STRING_TYPE;           #REQUIRED
-                 url             %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Template Section                                                     -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ENTITY % label_element  "Label-rectangle | Label-round | Label-ellipse | Label-cd">
-<!ENTITY % markup_element "Markup-margin | Markup-line | Markup-circle | Markup-rect | Markup-ellipse">
-
-<!ELEMENT Template (Meta*, (%label_element;)*)>
-<!ATTLIST Template
-                 brand           %STRING_TYPE;           #REQUIRED
-                 part            %STRING_TYPE;           #REQUIRED
-                 name            %STRING_TYPE;           #IMPLIED
-                 equiv           %STRING_TYPE;           #IMPLIED
-                 size            %STRING_TYPE;           #IMPLIED
-                 width           %LENGTH_TYPE;           #IMPLIED
-                 height          %LENGTH_TYPE;           #IMPLIED
-                 description     %STRING_TYPE;           #IMPLIED
-                 _description    %STRING_TYPE;           #IMPLIED
->
-
-<!ELEMENT Meta EMPTY>
-<!ATTLIST Meta
-                 product_url     %STRING_TYPE;           #IMPLIED
-                 category        %STRING_TYPE;           #IMPLIED
-                 print           %STRING_TYPE;           #IMPLIED
->
-
-<!ELEMENT Label-rectangle ((%markup_element;)*, Layout+)>
-<!ATTLIST Label-rectangle
-                 id              %STRING_TYPE;           #REQUIRED
-                 width           %LENGTH_TYPE;           #REQUIRED
-                 height          %LENGTH_TYPE;           #REQUIRED
-                 round           %LENGTH_TYPE;           "0 pt"
-                 waste           %LENGTH_TYPE;           #IMPLIED
-                 x_waste         %LENGTH_TYPE;           #IMPLIED
-                 y_waste         %LENGTH_TYPE;           #IMPLIED
->
-
-<!ELEMENT Label-round ((%markup_element;)*, Layout+)>
-<!ATTLIST Label-round
-                 id              %STRING_TYPE;           #REQUIRED
-                 radius          %LENGTH_TYPE;           #REQUIRED
-                 waste           %LENGTH_TYPE;           #IMPLIED
->
-
-<!ELEMENT Label-ellipse ((%markup_element;)*, Layout+)>
-<!ATTLIST Label-ellipse
-                 id              %STRING_TYPE;           #REQUIRED
-                 width           %LENGTH_TYPE;           #REQUIRED
-                 height          %LENGTH_TYPE;           #REQUIRED
-                 waste           %LENGTH_TYPE;           #IMPLIED
->
-
-<!ELEMENT Label-cd ((%markup_element;)*, Layout+)>
-<!ATTLIST Label-cd
-                 id              %STRING_TYPE;           #REQUIRED
-                 radius          %LENGTH_TYPE;           #REQUIRED
-                 hole            %LENGTH_TYPE;           #REQUIRED
-                 width           %LENGTH_TYPE;           #IMPLIED
-                 height          %LENGTH_TYPE;           #IMPLIED
-                 waste           %LENGTH_TYPE;           #IMPLIED
->
-
-<!ELEMENT Markup-margin EMPTY>
-<!ATTLIST Markup-margin
-                 size            %LENGTH_TYPE;           #REQUIRED
->
-
-<!ELEMENT Markup-line EMPTY>
-<!ATTLIST Markup-line
-                 x1              %LENGTH_TYPE;           #REQUIRED
-                 y1              %LENGTH_TYPE;           #REQUIRED
-                 x2              %LENGTH_TYPE;           #REQUIRED
-                 y2              %LENGTH_TYPE;           #REQUIRED
->
-
-<!ELEMENT Markup-circle EMPTY>
-<!ATTLIST Markup-circle
-                 x0              %LENGTH_TYPE;           #REQUIRED
-                 y0              %LENGTH_TYPE;           #REQUIRED
-                 radius          %LENGTH_TYPE;           #REQUIRED
->
-
-<!ELEMENT Markup-rect EMPTY>
-<!ATTLIST Markup-rect
-                 x1              %LENGTH_TYPE;           #REQUIRED
-                 y1              %LENGTH_TYPE;           #REQUIRED
-                 w               %LENGTH_TYPE;           #REQUIRED
-                 h               %LENGTH_TYPE;           #REQUIRED
-                 r               %LENGTH_TYPE;           "0 pt"
->
-
-<!ELEMENT Markup-ellipse EMPTY>
-<!ATTLIST Markup-ellipse
-                 x1              %LENGTH_TYPE;           #REQUIRED
-                 y1              %LENGTH_TYPE;           #REQUIRED
-                 w               %LENGTH_TYPE;           #REQUIRED
-                 h               %LENGTH_TYPE;           #REQUIRED
->
-
-<!ELEMENT Layout EMPTY>
-<!ATTLIST Layout
-                 nx              %UINT_TYPE;             #REQUIRED
-                 ny              %UINT_TYPE;             #REQUIRED
-                 x0              %LENGTH_TYPE;           "0 pt"
-                 y0              %LENGTH_TYPE;           "0 pt"
-                 dx              %LENGTH_TYPE;           "0 pt"
-                 dy              %LENGTH_TYPE;           "0 pt"
->
-
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Objects Section                                                      -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ENTITY % object_class_element  "Object-text    |
-                                  Object-box     |
-                                  Object-line    |
-                                  Object-ellipse |
-                                  Object-image   |
-                                  Object-barcode"
->
-
-<!ELEMENT Objects ((%object_class_element;)*)>
-<!ATTLIST Objects
-                 id              %STRING_TYPE;           #REQUIRED
-                 rotate          %BOOLEAN_TYPE;          #REQUIRED
->
-
-<!ENTITY % position_attrs
-                 "x              %LENGTH_TYPE;           #REQUIRED
-                  y              %LENGTH_TYPE;           #REQUIRED"
->
-
-<!ENTITY % size_attrs
-                 "w              %LENGTH_TYPE;           #REQUIRED
-                  h              %LENGTH_TYPE;           #REQUIRED"
->
-
-<!ENTITY % line_attrs
-                 "line_width       %LENGTH_TYPE;          #IMPLIED
-                  line_color       %UINT_TYPE;            #IMPLIED
-                  line_color_field %STRING_TYPE;          #IMPLIED"
->
-
-<!ENTITY % fill_attrs
-                 "fill_color       %UINT_TYPE;           #IMPLIED
-                  fill_color_field %STRING_TYPE;         #IMPLIED"
->
-
-<!ENTITY % affine_attrs
-                 "a0              %FLOAT_TYPE;           #IMPLIED
-                  a1              %FLOAT_TYPE;           #IMPLIED
-                  a2              %FLOAT_TYPE;           #IMPLIED
-                  a3              %FLOAT_TYPE;           #IMPLIED
-                  a4              %FLOAT_TYPE;           #IMPLIED
-                  a5              %FLOAT_TYPE;           #IMPLIED"
->
-
-<!ENTITY % shadow_attrs
-                 "shadow          %BOOLEAN_TYPE;         #IMPLIED
-                  shadow_x        %FLOAT_TYPE;           #IMPLIED
-                  shadow_y        %FLOAT_TYPE;           #IMPLIED
-                  shadow_color    %UINT_TYPE;            #IMPLIED
-                  shadow_opacity  %FLOAT_TYPE;           #IMPLIED"
->
-
-<!ELEMENT Object-text (Span)>
-<!ATTLIST Object-text
-                 %position_attrs;
-                 %size_attrs;
-                 justify         %JUSTIFY_TYPE;          #REQUIRED
-                 auto_shrink     %BOOLEAN_TYPE;          #IMPLIED
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-<!ELEMENT Object-box EMPTY>
-<!ATTLIST Object-box
-                 %position_attrs;
-                 %size_attrs;
-                 %line_attrs;
-                 %fill_attrs;
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-<!ELEMENT Object-ellipse EMPTY>
-<!ATTLIST Object-ellipse
-                 %position_attrs;
-                 %size_attrs;
-                 %line_attrs;
-                 %fill_attrs;
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-<!ELEMENT Object-line EMPTY>
-<!ATTLIST Object-line
-                 %position_attrs;
-                 dx              %LENGTH_TYPE;           #REQUIRED
-                 dy              %LENGTH_TYPE;           #REQUIRED
-                 %line_attrs;
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-<!ELEMENT Object-image EMPTY>
-<!ATTLIST Object-image
-                 %position_attrs;
-                 %size_attrs;
-                 src             %STRING_TYPE;           #IMPLIED
-                 field           %STRING_TYPE;           #IMPLIED
-                 embed           %BOOLEAN_TYPE;          #IMPLIED
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-<!ELEMENT Object-barcode EMPTY>
-<!ATTLIST Object-barcode
-                 %position_attrs;
-                 %size_attrs;
-                 backend          %BC_BACKEND_TYPE;       #REQUIRED
-                 style            %BC_STYLE_TYPE;         #REQUIRED
-                 text             %BOOLEAN_TYPE;          #REQUIRED
-                 checksum         %BOOLEAN_TYPE;          #REQUIRED
-                 color            %UINT_TYPE;             #IMPLIED
-                 color_field      %STRING_TYPE;           #IMPLIED
-                 data             %STRING_TYPE;           #IMPLIED
-                 field            %STRING_TYPE;           #IMPLIED
-                 format           %UINT_TYPE;             #IMPLIED
-                 %affine_attrs;
-                 %shadow_attrs;
->
-
-
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Merge Section                                                        -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ELEMENT Merge EMPTY>
-<!ATTLIST Merge
-                 type            %STRING_TYPE;           #REQUIRED
-                 src             %STRING_TYPE;           #IMPLIED
->
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Data Section                                                         -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ENTITY % data_element "Pixdata | File">
-
-<!ELEMENT Data (%data_element;)*>
-
-<!-- Inline Pixdata -->
-<!ELEMENT Pixdata (#PCDATA)>
-<!ATTLIST Pixdata
-                 name            %STRING_TYPE;           #REQUIRED
-                 encoding        %DATA_ENCODING_TYPE;    "Base64"
->
-
-<!-- Inline File -->
-<!ELEMENT File (#PCDATA)>
-<!ATTLIST File
-                 name            %STRING_TYPE;           #REQUIRED
-                 format          %FILE_FORMAT_TYPE;      "SVG"
->
-
-
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!-- Text elements                                                        -->
-<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
-<!ENTITY % text_element "#PCDATA | Span | Field | NL">
-
-<!ELEMENT Span (%text_element;)*>
-<!ATTLIST Span
-                 font_family     %STRING_TYPE;           #IMPLIED
-                 font_size       %LENGTH_TYPE;           #IMPLIED
-                 font_weight     %FONT_WEIGHT_TYPE;      #IMPLIED
-                 font_italic     %BOOLEAN_TYPE;          #IMPLIED
-                 color           %UINT_TYPE;             #IMPLIED
-                 color_field     %STRING_TYPE;           #IMPLIED
-                 line_spacing    %LENGTH_TYPE;           #IMPLIED
->
-
-<!ELEMENT Field EMPTY>
-<!ATTLIST Field
-                 name            %STRING_TYPE;           #REQUIRED
->
-
-<!ELEMENT NL EMPTY>
diff --git a/templates/glabels-3.0.dtd b/templates/glabels-3.0.dtd
new file mode 100644 (file)
index 0000000..5e74553
--- /dev/null
@@ -0,0 +1,464 @@
+<!--
+  glabels-3.0.dtd
+
+  This file is a part of the glabels template database.
+  Copyright (c) 2001-2009 Jim Evins
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation
+  files (the "Software"), to deal in the Software without
+  restriction, including without limitation the rights to use,
+  copy, modify, merge, publish, distribute, sublicense, and/or sell
+  copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following
+  conditions:
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+  OTHER DEALINGS IN THE SOFTWARE.
+-->
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- ENTITIES: primitive types used in element attributes                 -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- primitives -->
+<!ENTITY % BOOLEAN_TYPE       "(False | True | 0 | 1)">
+<!ENTITY % STRING_TYPE        "CDATA">
+<!ENTITY % LENGTH_TYPE        "CDATA"> <!-- %g (pt|in|mm|cm|pc) -->
+<!ENTITY % INT_TYPE           "CDATA"> <!-- %d | 0x%x | 0%o -->
+<!ENTITY % UINT_TYPE          "CDATA"> <!-- %u | 0x%x | 0%o -->
+<!ENTITY % FLOAT_TYPE         "CDATA"> <!-- %g -->
+
+<!-- Text related enumerations/types -->
+<!ENTITY % JUSTIFY_TYPE       "(Left | Right | Center)">
+<!ENTITY % FONT_WEIGHT_TYPE   "(Regular | Bold)">
+
+<!-- Barcode related enumerations/types -->
+<!ENTITY % BC_BACKEND_TYPE    "CDATA">
+                              <!-- one of:
+                              "(built-in    |
+                                gnu-barcode |
+                               zint        |
+                               libiec16022 |
+                               libqrencode")
+                               -->
+<!ENTITY % BC_STYLE_TYPE      "CDATA">
+                              <!-- one of:
+                              "(POSTNET    |
+                                POSTNET-5  |
+                                POSTNET-9  |
+                                POSTNET-11 |
+                                CEPNET     |
+                                EAN        |
+                                EAN-8      |
+                                EAN-8+2    |
+                                EAN-8+5    |
+                                EAN-13     |
+                                EAN-13+2   |
+                                EAN-13+5   |
+                                UPC        |
+                                UPC-A      |
+                                UPC-A+2    |
+                                UPC-A+5    |
+                                UPC-E      |
+                                UPC-E+2    |
+                                UPC-E+5    |
+                                ISBN       |
+                                ISBN+5     |
+                                Code39     |
+                                Code128    |
+                                Code128C   |
+                                Code128B   |
+                                I25        |
+                                CBR        |
+                                MSI        |
+                                PLS        |
+                                IEC16022)"
+                               -->
+
+<!-- Data encoding method -->
+<!ENTITY % DATA_ENCODING_TYPE "(None | Base64)">
+
+<!-- Inline file format type -->
+<!ENTITY % FILE_FORMAT_TYPE "(SVG)">
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels paper data base                                    -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-paper-sizes (Paper-size*)>
+<!ATTLIST Glabels-paper-sizes
+                 xmlns           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels categories data base                               -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-categories (Category*)>
+<!ATTLIST Glabels-categories
+                 xmlns           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels vendors data base                                  -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-vendors (Vendor*)>
+<!ATTLIST Glabels-vendors
+                 xmlns           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels template data base                                 -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-templates (Template*)>
+<!ATTLIST Glabels-templates
+                 xmlns           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Top-level glabels document                                           -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Glabels-document (Template, Objects+, Merge?, Data*)>
+<!ATTLIST Glabels-document
+                 xmlns           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Paper size                                                           -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Paper-size EMPTY>
+<!ATTLIST Paper-size
+                 id              %STRING_TYPE;           #REQUIRED
+                 name            %STRING_TYPE;           #IMPLIED
+                 _name           %STRING_TYPE;           #IMPLIED
+                 pwg_size        %STRING_TYPE;           #REQUIRED
+                 width           %LENGTH_TYPE;           #REQUIRED
+                 height          %LENGTH_TYPE;           #REQUIRED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Category                                                             -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Category EMPTY>
+<!ATTLIST Category
+                 id              %STRING_TYPE;           #REQUIRED
+                 name            %STRING_TYPE;           #IMPLIED
+                 _name           %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Vendor                                                               -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Vendor EMPTY>
+<!ATTLIST Vendor
+                 name            %STRING_TYPE;           #REQUIRED
+                 url             %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Template Section                                                     -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % label_element  "Label-rectangle | Label-round | Label-ellipse | Label-cd">
+<!ENTITY % markup_element "Markup-margin | Markup-line | Markup-circle | Markup-rect | Markup-ellipse">
+
+<!ELEMENT Template (Meta*, (%label_element;)*)>
+<!ATTLIST Template
+                 brand           %STRING_TYPE;           #REQUIRED
+                 part            %STRING_TYPE;           #REQUIRED
+                 name            %STRING_TYPE;           #IMPLIED
+                 equiv           %STRING_TYPE;           #IMPLIED
+                 size            %STRING_TYPE;           #IMPLIED
+                 width           %LENGTH_TYPE;           #IMPLIED
+                 height          %LENGTH_TYPE;           #IMPLIED
+                 description     %STRING_TYPE;           #IMPLIED
+                 _description    %STRING_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Meta EMPTY>
+<!ATTLIST Meta
+                 product_url     %STRING_TYPE;           #IMPLIED
+                 category        %STRING_TYPE;           #IMPLIED
+                 print           %STRING_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Label-rectangle ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-rectangle
+                 id              %STRING_TYPE;           #REQUIRED
+                 width           %LENGTH_TYPE;           #REQUIRED
+                 height          %LENGTH_TYPE;           #REQUIRED
+                 round           %LENGTH_TYPE;           "0 pt"
+                 waste           %LENGTH_TYPE;           #IMPLIED
+                 x_waste         %LENGTH_TYPE;           #IMPLIED
+                 y_waste         %LENGTH_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Label-round ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-round
+                 id              %STRING_TYPE;           #REQUIRED
+                 radius          %LENGTH_TYPE;           #REQUIRED
+                 waste           %LENGTH_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Label-ellipse ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-ellipse
+                 id              %STRING_TYPE;           #REQUIRED
+                 width           %LENGTH_TYPE;           #REQUIRED
+                 height          %LENGTH_TYPE;           #REQUIRED
+                 waste           %LENGTH_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Label-cd ((%markup_element;)*, Layout+)>
+<!ATTLIST Label-cd
+                 id              %STRING_TYPE;           #REQUIRED
+                 radius          %LENGTH_TYPE;           #REQUIRED
+                 hole            %LENGTH_TYPE;           #REQUIRED
+                 width           %LENGTH_TYPE;           #IMPLIED
+                 height          %LENGTH_TYPE;           #IMPLIED
+                 waste           %LENGTH_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Markup-margin EMPTY>
+<!ATTLIST Markup-margin
+                 size            %LENGTH_TYPE;           #REQUIRED
+>
+
+<!ELEMENT Markup-line EMPTY>
+<!ATTLIST Markup-line
+                 x1              %LENGTH_TYPE;           #REQUIRED
+                 y1              %LENGTH_TYPE;           #REQUIRED
+                 x2              %LENGTH_TYPE;           #REQUIRED
+                 y2              %LENGTH_TYPE;           #REQUIRED
+>
+
+<!ELEMENT Markup-circle EMPTY>
+<!ATTLIST Markup-circle
+                 x0              %LENGTH_TYPE;           #REQUIRED
+                 y0              %LENGTH_TYPE;           #REQUIRED
+                 radius          %LENGTH_TYPE;           #REQUIRED
+>
+
+<!ELEMENT Markup-rect EMPTY>
+<!ATTLIST Markup-rect
+                 x1              %LENGTH_TYPE;           #REQUIRED
+                 y1              %LENGTH_TYPE;           #REQUIRED
+                 w               %LENGTH_TYPE;           #REQUIRED
+                 h               %LENGTH_TYPE;           #REQUIRED
+                 r               %LENGTH_TYPE;           "0 pt"
+>
+
+<!ELEMENT Markup-ellipse EMPTY>
+<!ATTLIST Markup-ellipse
+                 x1              %LENGTH_TYPE;           #REQUIRED
+                 y1              %LENGTH_TYPE;           #REQUIRED
+                 w               %LENGTH_TYPE;           #REQUIRED
+                 h               %LENGTH_TYPE;           #REQUIRED
+>
+
+<!ELEMENT Layout EMPTY>
+<!ATTLIST Layout
+                 nx              %UINT_TYPE;             #REQUIRED
+                 ny              %UINT_TYPE;             #REQUIRED
+                 x0              %LENGTH_TYPE;           "0 pt"
+                 y0              %LENGTH_TYPE;           "0 pt"
+                 dx              %LENGTH_TYPE;           "0 pt"
+                 dy              %LENGTH_TYPE;           "0 pt"
+>
+
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Objects Section                                                      -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % object_class_element  "Object-text    |
+                                  Object-box     |
+                                  Object-line    |
+                                  Object-ellipse |
+                                  Object-image   |
+                                  Object-barcode"
+>
+
+<!ELEMENT Objects ((%object_class_element;)*)>
+<!ATTLIST Objects
+                 id              %STRING_TYPE;           #REQUIRED
+                 rotate          %BOOLEAN_TYPE;          #REQUIRED
+>
+
+<!ENTITY % position_attrs
+                 "x              %LENGTH_TYPE;           #REQUIRED
+                  y              %LENGTH_TYPE;           #REQUIRED"
+>
+
+<!ENTITY % size_attrs
+                 "w              %LENGTH_TYPE;           #REQUIRED
+                  h              %LENGTH_TYPE;           #REQUIRED"
+>
+
+<!ENTITY % line_attrs
+                 "line_width       %LENGTH_TYPE;          #IMPLIED
+                  line_color       %UINT_TYPE;            #IMPLIED
+                  line_color_field %STRING_TYPE;          #IMPLIED"
+>
+
+<!ENTITY % fill_attrs
+                 "fill_color       %UINT_TYPE;           #IMPLIED
+                  fill_color_field %STRING_TYPE;         #IMPLIED"
+>
+
+<!ENTITY % affine_attrs
+                 "a0              %FLOAT_TYPE;           #IMPLIED
+                  a1              %FLOAT_TYPE;           #IMPLIED
+                  a2              %FLOAT_TYPE;           #IMPLIED
+                  a3              %FLOAT_TYPE;           #IMPLIED
+                  a4              %FLOAT_TYPE;           #IMPLIED
+                  a5              %FLOAT_TYPE;           #IMPLIED"
+>
+
+<!ENTITY % shadow_attrs
+                 "shadow          %BOOLEAN_TYPE;         #IMPLIED
+                  shadow_x        %FLOAT_TYPE;           #IMPLIED
+                  shadow_y        %FLOAT_TYPE;           #IMPLIED
+                  shadow_color    %UINT_TYPE;            #IMPLIED
+                  shadow_opacity  %FLOAT_TYPE;           #IMPLIED"
+>
+
+<!ELEMENT Object-text (Span)>
+<!ATTLIST Object-text
+                 %position_attrs;
+                 %size_attrs;
+                 justify         %JUSTIFY_TYPE;          #REQUIRED
+                 auto_shrink     %BOOLEAN_TYPE;          #IMPLIED
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+<!ELEMENT Object-box EMPTY>
+<!ATTLIST Object-box
+                 %position_attrs;
+                 %size_attrs;
+                 %line_attrs;
+                 %fill_attrs;
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+<!ELEMENT Object-ellipse EMPTY>
+<!ATTLIST Object-ellipse
+                 %position_attrs;
+                 %size_attrs;
+                 %line_attrs;
+                 %fill_attrs;
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+<!ELEMENT Object-line EMPTY>
+<!ATTLIST Object-line
+                 %position_attrs;
+                 dx              %LENGTH_TYPE;           #REQUIRED
+                 dy              %LENGTH_TYPE;           #REQUIRED
+                 %line_attrs;
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+<!ELEMENT Object-image EMPTY>
+<!ATTLIST Object-image
+                 %position_attrs;
+                 %size_attrs;
+                 src             %STRING_TYPE;           #IMPLIED
+                 field           %STRING_TYPE;           #IMPLIED
+                 embed           %BOOLEAN_TYPE;          #IMPLIED
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+<!ELEMENT Object-barcode EMPTY>
+<!ATTLIST Object-barcode
+                 %position_attrs;
+                 %size_attrs;
+                 backend          %BC_BACKEND_TYPE;       #REQUIRED
+                 style            %BC_STYLE_TYPE;         #REQUIRED
+                 text             %BOOLEAN_TYPE;          #REQUIRED
+                 checksum         %BOOLEAN_TYPE;          #REQUIRED
+                 color            %UINT_TYPE;             #IMPLIED
+                 color_field      %STRING_TYPE;           #IMPLIED
+                 data             %STRING_TYPE;           #IMPLIED
+                 field            %STRING_TYPE;           #IMPLIED
+                 format           %UINT_TYPE;             #IMPLIED
+                 %affine_attrs;
+                 %shadow_attrs;
+>
+
+
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Merge Section                                                        -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ELEMENT Merge EMPTY>
+<!ATTLIST Merge
+                 type            %STRING_TYPE;           #REQUIRED
+                 src             %STRING_TYPE;           #IMPLIED
+>
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Data Section                                                         -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % data_element "Pixdata | File">
+
+<!ELEMENT Data (%data_element;)*>
+
+<!-- Inline Pixdata -->
+<!ELEMENT Pixdata (#PCDATA)>
+<!ATTLIST Pixdata
+                 name            %STRING_TYPE;           #REQUIRED
+                 encoding        %DATA_ENCODING_TYPE;    "Base64"
+>
+
+<!-- Inline File -->
+<!ELEMENT File (#PCDATA)>
+<!ATTLIST File
+                 name            %STRING_TYPE;           #REQUIRED
+                 format          %FILE_FORMAT_TYPE;      "SVG"
+>
+
+
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!-- Text elements                                                        -->
+<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+<!ENTITY % text_element "#PCDATA | Span | Field | NL">
+
+<!ELEMENT Span (%text_element;)*>
+<!ATTLIST Span
+                 font_family     %STRING_TYPE;           #IMPLIED
+                 font_size       %LENGTH_TYPE;           #IMPLIED
+                 font_weight     %FONT_WEIGHT_TYPE;      #IMPLIED
+                 font_italic     %BOOLEAN_TYPE;          #IMPLIED
+                 color           %UINT_TYPE;             #IMPLIED
+                 color_field     %STRING_TYPE;           #IMPLIED
+                 line_spacing    %LENGTH_TYPE;           #IMPLIED
+>
+
+<!ELEMENT Field EMPTY>
+<!ATTLIST Field
+                 name            %STRING_TYPE;           #REQUIRED
+>
+
+<!ELEMENT NL EMPTY>
index d10d8196d4aca5aa5dedc2fc61e5fb4106e7895f..de2153e338dc241b0b1665c7595eabb43bbef349 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ******************************************************************** -->
   <!-- Hama products.                                                      -->
index 5977b4568610bbb8f16054f35511e9d3cbd05917..7f5e4f16d0226fa14f608573b1743bb0842fc776 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ******************************************************************** -->
   <!-- JAC products.                                                       -->
index 76fe0ccdf6d5b1090e9d52d25c81db9442688c93..4815e0a22e3955088e77dba338b9a1e1df20bcb2 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
 
   <!-- ******************************************************************** -->
index d8cce04e58c18d30cac3ba0414d4e06ce08410b0..6b8c6a58ae9d6b4a112760bbdfb368ad0ea1bd46 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0"?>
-<Glabels-templates xmlns="http://glabels.org/xmlns/2.3/">
+
+<Glabels-templates xmlns="http://glabels.org/xmlns/3.0/">
 
   <!-- ******************************************************************** -->
   <!-- PEARL products                                                       -->