XLIM / XNIP Formats
Overview
This article describes the current definition of the XLIM file format as it is used with XMPie PersonalEffect applications: uProduce, uCreate Print, and uPlan.
The XLIM document format is created automatically when using uCreate Print within InDesign to "Save to server" or "Export Package" and selecting one of the XLIM formats instead of native InDesign format.
As well as using InDesign and uCreate Print to create XLIM documents, it is also possible to hand-code or programmatically create a XLIM document by using the information provided in this article.
XLIM vs XNIP
While XLIM can define the structure of an entire document, XNIP can be used to create formatted text (including inline images) that can be imported into InDesign or XLIM documents with a Text File content object. Refer to the uCreate Print documentation for information on importing formatted text.
XNIP uses a subset of the XLIM file format definition as described in this article.
File encoding
When creating XLIM or XNIP as files, the files must be saved with UTF-16 encoding. For best results, use UTF-16 LE BOM (little-endian byte order mark).
Using XLIM files
When creating XLIM files with InDesign and uCreate Print, the XLIM document is stored as a resource within the InDesign document and is used on the uProduce server instead of the source InDesign document. This means that InDesign application can open the original source document, for example, to make changes to the design, and then resave/export in either InDesign or XLIM formats.
However, when manually creating the XLIM document, it cannot be opened by InDesign. It can be uploaded to the uProduce server as a document in an existing uProduce account/campaign, and used for print production in the usual ways. Note that it is not possible to upload a hand-coded XLIM file together with static resource images like you can when exporting a XLIM package from InDesign. Refer to Using images in XLIM and XNIP. A sample XLIM document is provided in Appendix F.
Using XNIP files
XNIP can be used by Text File content objects in the plan file in the same way as plain text, rich text and Adobe InDesign Tagged Text files. Refer to the uCreate Print documentation for information on importing formatted text.
XNIP files have the added benefit of being able to include images which is not possible with the other text file formats. A sample demonstrating the use of XNIP files as Text File assets is provided in Appendix F.
When using XNIP files with Text File content objects, the XNIP files should be included in the project’s Asset folder so they are available when called for production.
In addition to creating XNIP as a separate asset file, XNIP can also be created in the plan file using QLingo as described below. A sample of generating XNIP dynamically in the plan file is also provided in Appendix F.
Using XNIP in QLingo
In some cases, it is very useful to create XNIP in the plan file logic. This makes it possible to use recipient data source values to change either the appearance or content of the XNIP.
To create XNIP in the plan file, create a Text content object, and build the XNIP XML in the Text content object’s expression. Remember to escape double quote marks with the \ backslash character, and add line breaks by using \r\n. A sample plan file is provided in Appendix F.
Note: If you place content objects in the XNIP text, when you place the content object into the InDesign document, you need to Enable nested composition. Refer to the uCreate Print documentation for details.
Using images in XLIM and XNIP
Asset images
Variable or dynamic images can be used in XLIM and XNIP by using the fo:external-graphic node and adding the Graphic content object name in the role attribute, as documented later in this article. In this case, the images should reside in a uProduce Asset folder.
Resource images
Static or resource images that are not controlled by a Graphic content object, can be used in XLIM and XNIP by using the fo:external-graphic node and adding the Graphic content object name in the src attribute, as documented later in this article. In this case, the image must reside on the uProduce server, or a file location accessible using a file:// path structure. For example: src="url(file:///C|/Folder/image.jpg)"
Debugging XLIM problems by inspecting a valid XLIM file
Hand-coding a document design from scratch can be a daunting task. In many cases, it is helpful to start the document design in Adobe InDesign and save out a basic XLIM document that you want to start making changes to.
Or, if you get stuck with one element in your design not looking the way you want, it is useful to replicate the item in InDesign and save the document to XLIM so you can compare your problem code with the XLIM code that uCreate Print creates.
With uCreate Print version 25.3 or later, once the InDesign document is linked to a data source, plan, counter or manual definition, it is possible to save the document as XLIM. In InDesign, select Dynamic Content > Advanced > Save XLIM (For inspection only).
XLIM structure
| fo:root | |||||||||||
| > | ucreate:prefs | ||||||||||
| > | fo:layout-master-set | ||||||||||
| > | fo:simple-page-master | ||||||||||
| > | fo:region-body | ||||||||||
| > | ucreate:layer | ||||||||||
| > | ucreate:colors | ||||||||||
| > | ucreate:color | ||||||||||
| > | … | ||||||||||
| > | ucreate:char-styles | ||||||||||
| > | ucreate:char-style | ||||||||||
| > | … | ||||||||||
| > | ucreate:para-styles | ||||||||||
| > | ucreate:para-style | ||||||||||
| > | … | ||||||||||
| > | ucreate:table-styles | ||||||||||
| > | ucreate:table-style | ||||||||||
| > | … | ||||||||||
| > | ucreate:cell-styles | ||||||||||
| > | ucreate:cell-style | ||||||||||
| > | … | ||||||||||
| > | fo:page-sequence | ||||||||||
| > | ucreate:guides | ||||||||||
| > | … | ||||||||||
| > | fo:flow | ||||||||||
| > | fo:block-container | ||||||||||
| > | fo:block | ||||||||||
| > | fo:inline | ||||||||||
| > | fo:external-graphic | ||||||||||
| > | fo:table | ||||||||||
| > | fo:table-column | ||||||||||
| > | … | ||||||||||
| > | fo:table-header | ||||||||||
| > | fo:table-cell | ||||||||||
| > | fo:block-container | ||||||||||
| > | fo:block | ||||||||||
| > | fo:inline | ||||||||||
| > | fo:external-graphic | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | fo:table-row | ||||||||||
| > | fo:table-cell | ||||||||||
| > | fo:block-container | ||||||||||
| > | fo:block | ||||||||||
| > | fo:inline | ||||||||||
| > | fo:external-graphic | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | fo:table-footer | ||||||||||
| > | fo:table-cell | ||||||||||
| > | fo:block-container | ||||||||||
| > | fo:block | ||||||||||
| > | fo:inline | ||||||||||
| > | fo:external-graphic | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| > | … | ||||||||||
| … | |||||||||||
| … | |||||||||||
| … | |||||||||||
XNIP structure
| fo:root | ||||||||||
| > | ucreate:prefs | |||||||||
| > | ucreate:colors | |||||||||
| > | ucreate:color | |||||||||
| > | … | |||||||||
| > | ucreate:char-styles | |||||||||
| > | ucreate:char-style | |||||||||
| > | … | |||||||||
| > | ucreate:para-styles | |||||||||
| > | ucreate:para-style | |||||||||
| > | … | |||||||||
| > | ucreate:table-styles | |||||||||
| > | ucreate:table-style | |||||||||
| > | … | |||||||||
| > | ucreate:cell-styles | |||||||||
| > | ucreate:cell-style | |||||||||
| > | … | |||||||||
| > | fo:block | |||||||||
| > | fo:inline | |||||||||
| > | fo:external-graphic | |||||||||
| > | fo:table | |||||||||
| > | fo:table-column | |||||||||
| > | … | |||||||||
| > | fo:table-header | |||||||||
| > | fo:table-cell | |||||||||
| > | fo:block-container | |||||||||
| > | fo:block | |||||||||
| > | fo:inline | |||||||||
| > | fo:external-graphic | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | fo:table-row | |||||||||
| > | fo:table-cell | |||||||||
| > | fo:block-container | |||||||||
| > | fo:block | |||||||||
| > | fo:inline | |||||||||
| > | fo:external-graphic | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | fo:table-footer | |||||||||
| > | fo:table-cell | |||||||||
| > | fo:block-container | |||||||||
| > | fo:block | |||||||||
| > | fo:inline | |||||||||
| > | fo:external-graphic | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
| > | … | |||||||||
Overview
Like other XML formats, XLIM and XNIP structures can be thought of as a hierarchy of components which, taken together, completely describe a set of documents to be printed. The XLIM hierarchy is structured as shown in the "XLIM structure" diagram, and XNIP in the "XNIP strcture" diagram.
Some of these components are XSL-FO elements, also known as formatting objects. These are designated by the fo: namespace.
Other elements are specific to uCreate, and are designated with the ucreate: namespace.
A XLIM description is delimited by the <fo:root>…</fo:root> tags, as shown below.
<?xml version=’1.0’ encoding=’utf-16’>
<fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format
xmlns:ucreate="http://www.xmpie.com/ucreate">
…
</fo:root>
Within the fo:root element are all the other elements that make up the document definition. These are described below.
Types
-
Number: An unsigned long number either in decimal or hexadecimal format. Hexadecimal numbers start with ‘#’. Valid values are therefore: ‘10’ or ‘#1B’. Normally used as an ID for relating objects in the document.
-
Unit: A string that defines a certain measure, the unit may be of numerous types. A unit may be defined as a point value, a pica value, inch, millimeter, centimeter, point, pixel or percent (percent only where it specifically says so). The format of unit is dependent on the unit type. The following lists the possibilities (# stands for one or more digits, [-] refers to a negative amount and [.#] indicates that decimals are also possible.):
-
Inches [-]#[.#]in
-
Centimeters [-]#[.#]cm
-
Millimeters [-]#[.#]mm
-
Picas [-]#p#[.#]
-
Pixels [-]#px
-
Points [-]#[.#]pt
-
Percent #%
-
-
String: A string, its format and permitted values (if used) are explained in the attribute descriptions below.
-
Matrix: An array of 6 double numbers defining a transformation matrix. This definition form is the same as PostScript a matrix definition.
-
URL: A string defining a URL. It is optionally OK to surround the URL string with the label "url(XXXX)" (where XXXX is the URL). For example:
url(file:///C|/Folder/image.jpg)Note that file path must be accessible on the uProduce server file system.
-
Color: Either CMYK or RGB color, each component of the color may be defined as a 0-255 value or percent. The following are valid values:
cmyk(0%, 70%,100%, 0%)rgb(255, 77, 0)rgb(255, 30%, 0)It is also possible to use names for colors, in which case the following values are given:
Color Name
CMYK values
RGB values
Aqua (Cyan)
255,0,0,0
0,255,255
Black
0,0,0,255
0,0,0
Blue 255,200,0,0
0,0,255
Fuschia (Magenta)
0,255,0,0
255,0,255
Gray
0,0,0,128
128,128,128
Green
219,53,255,16
0,128,0
Lime
204,0,253,0
0,255,0
Maroon
64,234,255,59
128,0,0
Navy
255,237,28,8
0,0,128
Olive
88,82,255,67
128,128,0
Purple
130,243,20,0
128,0,128
Red
0,255,255,0
255,0,0
Silver 0,0,0,64 192,192,192
Teal
250,53,132,24 0,128,128 White
0,0,0,0
255,255,255
Yellow 0,0,255,0 255,255,0
Once colors are defined by a
ucreate:colorelement, it is possible for other elements to select the color by referring to the color's ID instead of specifying the color each time. For example:table-background-color="id(#5)"
Elements
fo:block
Description
Sub container of a fo:block-container. At least a single block must exist in a block-container if it has either text or graphic content. When the content is text (without inline elements) then each block stands for a paragraph (separated from others using a CR character).
All values that are marked as "inherit" (mostly font values and alignment) do their inheriting from the block-container values.
#pcdata sections inside the block are considered as static text which attributes (font, color etc.) are the block attributes. Special rules that relate to #pcdata text sections in XLIM are defined in Appendix C.
Model
fo:block (fo:inline,
#pcdata,
fo:external-graphic)*
Attributes
|
Attribute |
Required |
Type |
Description |
|
text-align |
No |
String |
Text alignment. May be one of:
Default: "inherit". |
|
text-align-last |
No |
String |
Alignment of the last line of each paragraph in the box. Possible values are the same as for text-align. The default value is dependent on the value of text-align in the following manner: if the value of text-align is not "justify" then the value of text-align-last is the same. Otherwise, it is "left". |
|
font-family |
No |
String |
Font family name of the box’s default font. For example: "Times New Roman". |
|
font-face |
No |
String |
Font face name. Default: "Normal". |
|
font-size |
No |
Unit |
Font size for box default font. Default: 12 points. |
|
font-weight |
No |
String |
Either numeric or a weight name. If numeric, it must be a value between 100 and 900 (exclusive), where 400 means "Normal" and 700 means "bold". If value is a name, it may be one of:
Default: "normal". |
|
font-style |
No |
String |
Font style. May be one of:
Default: "normal". |
|
ucreate:kerning |
No |
String |
Kerning to apply to the character style. May be one of:
|
|
text-tracking |
No |
Number |
Tracking state. If specified and non-zero, indicates positive or negative tracking by percentage, up to 200% or down to -100%. |
|
ucreate:font-ps-name |
No |
String |
Hint for PostScript name of the default font. |
|
font-full-name |
No |
String |
Hint for full name of default font. May be used in case the weight and style do not convey the correct face name. |
|
color |
No |
Color |
Default font color. Default: black. |
|
ucreate:cmyk-color |
No |
Color |
Default font CMYK color. If present, override "color". Default: color. |
|
ucreate:shade |
No |
Unit |
Percent value of color of font. For example: "20%". |
|
ucreate:lock |
No |
String |
Controls uEdit Lock features. For more information, refer to Appendix E. |
|
ucreate:fold-story |
No |
String |
Enables the Suppress Trailing Spaces on Empty Content feature. May be of:
|
fo:block-container
Description
A box that contains graphics. Its contents may either be a picture or a text flow. A text flow may be constructed of text alone or text mixed with images (in which case it is called "text with inlines").
Model
fo:block-container (fo:block*)
Attributes
|
Attribute |
Required |
Type |
Description |
|
left |
No |
Unit |
Left edge position. Distance from left edge of the page. Default: 0 points. |
|
top |
No |
Unit |
Top edge position. Distance from top edge of the page. Default: 0 points. |
|
width |
No |
Unit |
Width of box. Default: 50 points. |
|
height |
No |
Unit |
Height of box. Default: 50 points. |
|
role |
No |
String |
Content type of the block container. May be one of:
|
|
text-align |
No |
String |
Text alignment. May be one of:
|
|
text-align-last |
No |
String |
Alignment of the last line of each paragraph in the box. Possible values are the same as for text-align. The default value is dependent on the value of text-align in the following manner: if the value of text-align is not "justify" then the value of text-align-last is the same. Otherwise, it is "left". |
|
position |
No |
String |
Position type. Currently the only allowed value is "absolute", which is also the default. |
|
font-family |
No |
String |
Font family name of the box’s default font. For example: "Times New Roman". |
|
font-face |
No |
String |
Font face name. Default: "Normal". |
|
font-size |
No |
Unit |
Font size for box default font. Default: 12 points. |
|
font-weight |
No |
String |
Either numeric or a weight name. If numeric, it must be a value between 100 and 900 (exclusive), where 400 means "Normal" and 700 means "bold". If value is a name, it may be one of:
Default: "normal". |
|
font-style |
No |
String |
Font style. May be one of:
Default: "normal". |
|
ucreate:kerning |
No |
String |
Kerning state. |
|
text-tracking |
No |
Number |
Tracking state. If specified and non-zero, indicates positive or negative tracking by percentage, up to 200% or down to -100%. |
|
ucreate:font-ps-name |
No |
String |
Hint for PostScript name of the default font. |
|
font-full-name |
No |
String |
Hint for full name of default font. May be used in case the weight and style do not convey the correct face name. |
|
color |
No |
Color |
Default font color. Default: black. |
|
ucreate:cmyk-color |
No |
Color |
Default font CMYK color. If present, override "color". Default: color. |
|
ucreate:border-color |
No |
Color |
Color of border. Default: transparent.
|
|
ucreate:cmyk-border-color |
No |
Color |
Border CMYK color. If present, override "ucreate:border-color". Default: "ucreate:border-color". |
|
background-color |
No |
Color |
Background color. Default: transparent. |
|
ucreate:cmyk-background-color |
No |
Color |
Background CMYK color. If present, override "background-color". Default: "background-color". |
|
ucreate:shade |
No |
Unit |
Percent value of color of font. For example: "20%". |
|
ucreate:border-shade |
No |
Unit |
Percent value of border color. |
|
ucreate:border-weight |
No |
Unit |
Box border weight. Default: 0 points (no border) |
|
ucreate:layer-id |
No |
Number |
Layer ID. Should match one of the layers defined by |
|
ucreate:transformation |
No |
Matrix |
Transformation matrix to be applied to this box (to create rotation, skew, etc.). The translation components of this matrix (last 2 numbers) are always ignored, and the top-left values of this box are used to determine the box position. |
|
id |
No |
Number |
ID for this box. Required only for text frames that are linked in the same story. Currently not supported by PE production. |
|
ucreate:parent-id |
No |
Number |
ID for the parent story, if the box is a text frame linked with other frames. Currently not supported by PE production. |
|
ucreate:copy-fitting |
No |
String |
Copy fitting algorithm string. See Appendix B for specification. |
fo:external-graphic
Description
A reference to an external graphic image. May be a static reference or dynamic image for an ADOR element.
Model
fo:external-graphic Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
src |
No |
URL |
URL of image. Used for static images. The URL may optionally be contained in a URL label. For example: url(file:///C|/Folder/image.jpg). |
|
role |
No |
String |
Graphic ADOR name. The string format is "graphic-ador:<AdorName>". For example: "graphic-ador:Phone Image". |
|
content-width |
No |
Unit |
Either percent or point or "scale-to-fit". When percent
this will mean that the image width should be scaled by this value. If it is
a non-percent unit then the image width should be scaled to this value (in
which case the image width dimension should be read from the image file and
the scale applied should be the division of the image width and this value).
Content width scaling is overridden by the |
|
content-height |
No |
Unit |
See content-width, but with respect to image vertical dimension. |
|
scaling |
No |
String |
One of:
Default: "uniform". If "uniform", both dimensions are
scaled proportionally. This affects only content-width and content-height
scaling. If |
|
ucreate:transformation |
No |
Matrix |
Transformation matrix from image space to box space. May be used for defining rotation, scale, skew for the image. The matrix translation vector (the 2 last items in the array) is the distance vector (in points) between the bottom left corner of the image and the bottom left corner of the container page item. When Transformation matrix is defined, the scaling, content-width and content-height attributes are IGNORED. Default: the Unit matrix. Current PE production does not support transformation for inline images. |
|
ucreate:fitting-mode |
No |
String |
Allowed for dynamic images. Defines automatic fitting for variable image sizes. If specified, the transformation matrix is applied before fitting. (e.g. if it’s rotated then the fitting is done on the rotated image). May be one of:
|
Maintain Transformation
The value "maintain-transformation" for the ucreate:fitting-mode attribute of an external image signify that the image transformation (either defined by ucreate:transformtion or content-width/height) should remain the same for all images that are instances of the dynamic image ADOR.
The form of the string value in the case of maintain-transformation is as follows:
maintain-transformation:<reference-point-name>,(<reference-point-coordinates>)
The reference point name and coordinates define a point on the image bounds that after fitting should be positioned in the exact spot defined by the reference point. For example, if the value is:
maintain-transformation:top-left,(0pt,114pt)
it means that top left corner of the image should be at the (0, 114) position of the box relative to the box bottom left for all instances of the image ADOR defined for this external graphic element.
fo:flow
Description
Within the context of a fo:page-sequence, contains the collection of page elements for this sequence. Each page element is a mark on the page and it might be a container of graphics (block container) or a simple shape (line). The order of elements inside the flow determines their order of drawing. This is especially important in determining Z-order overlapping resolution.
Model
fo:flow (fo:block-container, line)*
Attributes
|
Attribute |
Required |
Type |
Description |
|
flow-name |
No |
String |
Flow-of-elements kind. Must be "xsl-region-body". |
fo:inline
Description
Signals a change in the block style, or used for defining a text ADOR.
The first case happens when a certain section of text inside a block is of a different font, color or alignment. In this case an fo:inline element will contain the different text and its attributes will hold the relevant style values.
In the second case the attributes of the inline (e.g. role) stand for the ADOR name. Special rules that relate to #pcdata text sections in XLIM are defined in Appendix C.
Model
fo:inline (#pcdata)
Attributes
|
Attribute |
Required |
Type |
Description |
|
text-align |
No |
String |
Text alignment. May be one of:
Default: "inherit". Changes in alignment within a block container are not supported by current PE production. |
|
text-align-last |
No |
String |
Alignment of the last line of each paragraph in the box. Possible values are the same as for text-align. The default value is dependent on the value of text-align in the following manner: if the value of text-align is not "justify" then the value of text-align-last is the same. Otherwise, it is "left". Changes in alignment within a block container are not supported by current PE production. |
|
font-family |
No |
String |
Font family name of the box’s default font. For example: "Times New Roman". |
|
font-face |
No |
String |
Font face name. Default: "Normal". |
|
font-size |
No |
Unit |
Font size for box default font. Default: 12 points. |
|
font-weight |
No |
String |
Either numeric or a weight name. If numeric, it must be a value between 100 and 900 (exclusive), where 400 means "Normal" and 700 means "bold". If value is a name, it may be one of:
Default: "normal". |
|
font-style |
No |
String |
Font style. May be one of:
Default: "normal". |
|
ucreate:kerning |
No |
String |
Kerning state. |
|
text-tracking |
No |
Number |
Tracking state. If specified and non-zero, indicates positive or negative tracking by percentage, up to 200% or down to -100%. |
|
ucreate:font-ps-name |
No |
String |
Hint for PostScript name of the default font. |
|
font-full-name |
No |
String |
Hint for full name of default font. May be used in case the weight and style do not convey the correct face name. |
|
color |
No |
Color |
Default font color. Default: black. |
|
ucreate:cmyk-color |
No |
Color |
Default font CMYK color. If present, override "color". Default: color. |
|
ucreate:shade |
No |
Unit |
Percent value of color of font. For example: "20%". |
|
role |
No |
String |
Text ADOR name. A string of the following format: <textAdorType>:<textAdorName>". <textAdorType> may be either "text-ador", when the ADOR is a Text ADOR, or "textfile-ador" when the ADOR is a Text File ADOR (pointer to a text asset). <textAdorName> is the name of the Text ADOR. For example: "text-ador:Firstname" |
fo:layer
Description
A document layer. The document layer serves as a collection of page elements. The layer may be defined to be invisible (either using dynamic values by definition of ADORs, or statically).
Model
fo:layer Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
id |
Yes |
Number |
Layer ID, used for reference by page elements. The ID may be an unsigned long decimal number or a hexadecimal number, in which case it should be prefixed by a ‘#’ sign (e.g., #7B). |
|
ucreate:name |
No |
String |
Label for the layer, to be displayed by design application. |
|
color |
No |
Color |
Color of layer to be displayed by design application. |
|
Visibility |
No |
String |
Specifies whether the layer (and its elements) is displayed. May be one of:
Default: "visible". |
|
ucreate:uivisibility |
No |
String |
Specifies whether the layer is available via the Layers Panel. May be one of:
Default: visible. |
|
role |
No |
String |
Visibility ADOR name. The ADOR name must be a name of a visibility ADOR. The field format should be "visibility-ADOR:<ADORName>". For example: "visibility-ADOR:CarClient". |
fo:layout-master-set
Description
Master definitions for document and layer specifications. This contains a single master defining page dimensions and a variable number of layers defined for the document elements.
Model
fo:layout-master-set (fo:simple-page-master, ucreate:layer*)
Attributes
None.
fo:page-sequence
Description
A single page description.
Model
fo:page-sequence (fo:flow? ucreate:guides*)
Attributes
|
Attribute |
Required |
Type |
Description |
|
master-reference |
Yes |
String |
Reference to the fo:simple-page-master that defines the page dimensions. This must match the master-name of exactly one fo:page-master element |
|
id |
No |
Number |
Spread1 ID that corresponds to this page. The ID may be an unsigned long decimal number or a hexadecimal number, in which case it should be prefixed by a ‘#’ sign (e.g., #7B). Currently only single page spreads are supported. Therefore this ID, if specified, should be unique. |
|
ucreate:media |
No |
String |
Media selection for this spread (Spread is an InDesign concept relating to a collection of pages). The string may represent a static value, in which case it will be the string label of the selected media (e.g., "FrontPaper"). Alternatively, it may represent a dynamic value, in which case it will hold the name of the matching ADOR following a "media-ADOR:" label. For example: "media-ADOR:BookletPaper". |
|
role |
No |
String |
Visibility ADOR for page. The format should be "visibility-ADOR:<ADOR name>, where <ADOR name> is the visibility ADOR that attaches to this page. |
fo:region-body
Description
Defines region body and internal margins.
Note: Optional, and currently unimportant.
Model
fo:region-body Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
margin-top |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-bottom |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-left |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-right |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
fo:root
Description
Root element of XLIM.
Model
fo:root (ucreate:prefs?,
fo:layout-master-set?,
fo:page-sequence?)
Attributes
|
Attribute |
Required |
Type |
Description |
|
xmlns:fo |
Yes |
URL |
XSLFO namespace definition; Must be "http://www.w3.org/1999/XSL/Format". |
|
xlmns:ucreate |
Yes |
URL |
uCreate namespace definition; Must be "http://www.xmpie.com/ucreate". |
fo:simple-page-master
Description
Master page definition for the document pages. Defines page dimensions and margins.
Model
fo:simple-page-master (fo:region-body?)
Attributes
|
Attribute |
Required |
Type |
Description |
|
master-name |
Yes |
String |
Name used for referencing by page-sequence elements. This name must be the same as the value of the master-reference attribute of the single page-sequence-element. |
|
page-height |
No |
Unit |
Height of page; Default: 792 points. |
|
page-width |
No |
Unit |
Width of page; Default: 612 points. |
|
margin-top |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-bottom |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-left |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
|
margin-right |
No |
Unit |
Default: 0 points. Currently not supported by PE production. |
ucreate:cell-style
Description
Defines a cell style to be used in the document.
Model
ucreate:cell-style Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
id |
Yes |
Number |
Cell style id specified as decimal or hexadecimal number. |
|
ucreate:name |
No |
String |
Cell style name to display in interface of design program. Names must be unique. |
|
margin-top |
No |
Unit |
Height of top margin. |
|
margin-bottom |
No |
Unit |
Height of bottom margin. |
|
margin-left |
No |
Unit |
Width of left margin. |
|
margin-right |
No |
Unit |
Width of right margin. |
|
table-background-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:table-background-shade |
No |
Unit |
Percent value of cell background color. For example: "20%" (overriding the background shade defined by the table style for this cell only). |
|
ucreate:edge-top-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:edge-top-shade |
No |
Unit |
Percent value of top edge color. For example: "20%". |
|
ucreate:edge-top-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
ucreate:edge-top-width |
No |
Unit |
Width of top edge. |
|
ucreate:edge-top-gap-color |
No |
Color |
Name or ID of a color defined |
|
ucreate:edge-bottom-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:edge-bottom-shade |
No |
Unit |
Percent value of bottom edge color. For example: "20%". |
|
ucreate:edge-bottom-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
ucreate:edge-bottom-width |
No |
Unit |
Width of bottom edge. |
|
ucreate:edge-bottom-gap-color |
|
|
Name or ID of a color defined in ucreate:colors to use for bottom edge gap. |
|
ucreate:edge-left-color |
No |
Color |
Name or ID of a color defined in ucreate:colors to use for left edge. |
|
ucreate:edge-left-shade |
No |
Unit |
Percent value of left edge color. For example: "20%". |
|
ucreate:edge-left-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
ucreate:edge-left-width |
No |
Unit |
Width of left edge. |
|
ucreate:edge-left-gap-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:edge-rightcolor |
No |
Color |
Name or ID of a color defined in ucreate:colors to use for right edge. |
|
ucreate:edge-right-shade |
No |
Unit |
Percent value of right edge color. For example: "20%". |
|
ucreate:edge-right-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
ucreate:edge-right-width |
No |
Unit |
Width of right edge. |
|
ucreate:edge-right-gap-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:rotation-angle |
No |
Number |
A number indicating the angle to rotate text in the cell. Default "0". |
|
ucreate:cell-clip |
No |
String |
Should cell contents be clipped if they don’t fit. May be of:
|
|
ucreate:cell-first-baseline |
No |
String |
Sets the baseline. May be one of:
|
|
ucreate:cell-min-baseline-offset |
No |
Unit |
Unit of measure to offset the cell text baseline. |
|
ucreate:para-style |
No |
Number |
ID of the paragraph style to apply to text in the cell. |
|
ucreate:based-on-style |
No |
Number |
Name of another cell style on which this cell style is based. All attributes from the based-on-style will apply unless overridden by attributes defined in this style. |
ucreate:cell-styles
Description
Container for ucreate:cell-style elements.
Model
ucreate:cell-styles (ucreate:cell-style*)
Attributes
None
ucreate:char-style
Description
Defines a character style to be used in the document.
Model
ucreate:char-style Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
Id |
Yes |
String |
Character style ID specified as a decimal or hexadecimal number. |
|
Color |
No |
Color |
Name or ID of a color defined in |
|
font-family |
No |
String |
Font family name of the box’s default font. For example: "Times New Roman". |
|
font-size |
No |
Unit |
Font size for box default font. Default: 12 points. |
|
font-weight |
No |
String |
Either numeric or a weight name. If numeric, it must be a value between 100 and 900 (exclusive), where 400 means "Normal" and 700 means "bold". If value is a name, it may be one of:
Default: "normal". |
|
ucreate:font-ps-name |
No |
String |
Hint for PostScript name of the default font. |
|
ucreate:font-face-name |
No |
String |
Hint for full name of default font. May be used in case the weight and style do not convey the correct face name. |
|
ucreate:name |
No |
String |
Character style name to display in interface of design program. Names must be unique. |
|
ucreate:underline |
No |
String |
Indicates if the character style includes a definition for underline. May be one of:
Default: "false". |
|
ucreate:underline-offset |
No |
Unit |
Underline offset distance. |
|
ucreate:underline-weight |
No |
Unit |
Underline weight. Default: 0 points (no underline). |
|
ucreate:underline-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:underline-color-shade |
No |
Unit |
Percent value of underline color. For example: "20%". |
|
ucreate:strike-through |
No |
String |
Indicates if the character style includes a definition for Strikethrough. May be one of:
Default: "false". |
|
ucreate:strike-through-offset |
No |
Unit |
Strikethrough offset distance. |
|
ucreate:strike-through-weight |
No |
Unit |
Strikethrough weight. Default: 0 points (no Strikethrough). |
|
ucreate:strike-through-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:strike-through-color-shade |
|
Unit |
Percent value of strikethrough color. For example: "20%". |
|
ucreate:based-on-style |
No |
String |
Name of another character style on which this character style is based. All attributes from the based-on-style will apply unless overridden by attributes defined in this style. |
|
ucreate:kerning |
No |
String |
Specifies the kerning to apply to the character style. May be one of:
|
ucreate:char-styles
Description
Container for ucreate:char-style elements.
Model
ucreate:char-styles (ucreate:char-style*)
Attributes
None
ucreate:color
Description
Defines a color to be used in the document.
Model
ucreate:color Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
id |
Yes |
Number |
Color ID, specified as decimal or hexadecimal number. |
|
color |
No |
String |
Color value, specified as "rgb(r, g, b)", where r is the percentage of red colorant, g is the percentage of blue colorant, and b the percentage of blue colorant. For example: "rgb(14.44%, 25.17%, 55.94%)" |
|
ucreate:cmyk-color |
No |
String |
CMYK color, specified by colorant percentages or by pre-defined color names as shown in the table above. For example: "cmyk(100%, 90%, 10%, 0%)" |
|
ucreate:name |
No |
String |
Color name to display in interface of design program. Names must be unique. |
|
ucreate:spot-color |
No |
String |
Indicates if the defined color is a spot color. May be one of:
Default: "false" |
ucreate:colors
Description
Container for ucreate:color elements.
Model
ucreate:colors (ucreate:color*)
Attributes
None.
ucreate:contentobject
Description
Defines a content object (ADOR) to be used in the document.
Model
ucreate:contentobject Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
role |
Yes |
String |
A string of the following format: <textAdorType>:<textAdorName>". <textAdorType>. For example: "text-ador:Firstname". |
ucreate:contentobjects
Description
Container for ucreate:contentobject elements.
Model
ucreate:contentobjects (ucreate:contentobject*)
Attributes
None.
ucreate:guide
Description
Vertical or horizontal guides, as instantiated in the design application.
Model
ucreate:guide Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
color |
Yes |
Color |
Guide color. |
|
top |
No |
Unit |
Distance from top edge of page. (Horizontal guide only.) |
|
left |
No |
Unit |
Distance from left edge of page. (Vertical guide only.) |
|
ucreate:parent-id |
No |
Number |
If specified, flags this as a page guide. |
|
ucreate:threshold |
No |
Unit |
The UI zoom at which this guide is visible, as a percentage. |
ucreate:guides
Description
A container for ucreate:guide elements, representing a feature of the design application.
Model
ucreate:guides (ucreate:guide*)
Attributes
|
Attribute |
Required |
Type |
Description |
|
ucreate:parent-id |
Yes |
Number |
ID of the page associated with these guides. This attribute is used to determine if any of the guides it contains are spread guides or page guides. |
|
ucreate:threshold |
Yes |
Unit |
The UI zoom at which a guide is visible, expressed as a percent value. This serves as the default for the guides included in this collection. |
ucreate:line
Description
A line mark on the page.
Model
ucreate:line Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
ucreate:x1 |
Yes |
Unit |
Horizontal distance of the line start point from the left edge of the page. |
|
ucreate:y1 |
Yes |
Unit |
Vertical distance of the line start point from the top edge of the page. |
|
ucreate:x2 |
Yes |
Unit |
Horizontal distance of the line end point from the left edge of the page. |
|
ucreate:y2 |
Yes |
Unit |
Vertical distance of the line end point from the top edge of the page. |
|
ucreate:border-color |
No |
Color |
Color of border. Default: transparent. |
|
ucreate:cmyk-border-color |
No |
Color |
Border CMYK color. If defined, override |
|
ucreate:border-shade |
No |
Unit |
Percent value of border color. |
|
ucreate:border-weight
|
No |
Unit |
Box border weight. Default: 0 points (no border) |
|
ucreate:layer-id |
No |
Number |
Layer ID. Should match one of the layers defined by |
ucreate:para-style
Description
Defines a paragraph style to be used in the document.
Model
ucreate:para-style Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
id |
Yes |
Number |
Paragraph style id specified as decimal or hexadecimal number. |
|
color |
No |
Color |
Name or ID of a color defined in |
|
font-size |
No |
Unit |
Font size for box default font. Default: 12 points. |
|
ucreate:name |
No |
String |
Paragraph style name to display in interface of design program. Names must be unique. |
|
ucreate:underline |
No |
String |
Indicates if the character style includes a definition for underline. May be one of:
Default: "false". |
|
ucreate:tracking |
No |
Number |
Tracking state. If specified and non-zero, indicates positive or negative tracking by percentage, up to 200% or down to -100%. |
|
ucreate:text-position |
No |
String |
Text position. May be one of:
Default: "normal". |
|
ucreate:space-before |
No |
Unit |
Space before the paragraph. |
|
ucreate:space-after |
No |
Unit |
Space after the paragraph. |
|
ucreate:tab-stops |
No |
String |
Tab stops can be defined on the paragraph style. Refer to Appendix D for more information. |
|
ucreate:left-indent |
No |
Unit |
Left indent. For example: "5pt" |
|
ucreate:right-indent |
No |
Unit |
Right indent. For example: "5pt" |
|
ucreate:first-line-indent |
No |
Unit |
First line indent. For example: "-5pt" |
|
ucreate:underline |
No |
String |
Permitted values: "true" or "false". Indicates if the character style includes a definition for underline. Default: "false". |
|
ucreate:underline-offset |
No |
Unit |
Underline offset distance. |
|
ucreate:underline-weight |
No |
Unit |
Underline weight. Default: 0 points (no underline). |
|
ucreate:underline-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:underline-shade |
No |
Unit |
Percent value of underline color. For example: "20%". |
|
ucreate:strike-through |
No |
String |
Indicates if the paragraph style includes a definition for strikethrough. May be one of:
Default: "false". |
|
ucreate:strike-through-offset |
No |
Unit |
Strikethrough offset distance. |
|
ucreate:strike-through-weight |
No |
Unit |
Strikethrough weight. Default: 0 points (no strikethrough). |
|
ucreate:strike-through-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:strike-through-shade |
No |
Unit |
Percent value of strikethrough color. For example: "20%". |
|
ucreate:strike-through-gap-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:strike-through-gap-shade |
No |
Unit |
Percent value of strikethrough gap color. For example: "20%". |
|
ucreate:based-on-style |
No |
String |
Name of another paragraph style on which this paragraph style is based. All attributes from the based-on-style will apply unless overridden by attributes defined in this style. |
|
ucreate:kerning |
No |
String |
Specifies the kerning to apply to the character style. May be one of:
|
ucreate:para-styles
Description
Container for ucreate:para-style elements.
Model
ucreate:para-styles (ucreate:para-style*)
Attributes
None.
ucreate:prefs
Description
The ucreate:prefs element contains information defining the documents style and variable behavior. Specifically, this is contained in two URL-quoted XML strings given in the first two attributes. The attributes are described in detail below.
Model
ucreate:prefs Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
ucreate:plan-xml |
No |
string |
URL-quoted XML string describing the document’s data sources, variable objects and rules. Described in Appendix A. |
|
ucreate:doc-prefs-xml |
No |
string |
URL-quoted XML string describing the document’s variability. Described in detail in Appendix B. |
|
ucreate:version |
Yes |
number |
Indicates the version of XLIM format to which the structure adheres. |
ucreate:table-style
Description
Defines a table style to be used in the document.
Model
ucreate:table-style Empty
Attributes
|
Attribute |
Required |
Type |
Description |
|
id |
Yes |
Number |
Table style id specified as decimal or hexadecimal number. |
|
ucreate:name |
No |
String |
Table style name to display in interface of design program. Names must be unique. |
|
ucreate:header-use-body-style |
No |
String |
True specifies to use the defined body style for the header row(s). May be one of:
Default "false". |
|
ucreate:header-style |
No |
Number |
ID of the cell style to apply to the table header row(s). |
|
ucreate:body-style |
No |
Number |
ID of the cell style to apply to the table body row(s). |
|
ucreate:footer-use-body-style |
No |
String |
True specifies to use the defined body style for the footer row(s). May be one of:
Default "false". |
|
ucreate:footer-style |
No |
Number |
ID of the cell style to apply to the table footer row(s). |
|
border-bottom-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
border-bottom-width |
No |
Unit |
Width of bottom table border. |
|
ucreate:border-bottom-gap-color |
No |
Color |
Name or ID of a color defined in |
|
border-top-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
border-top-width |
No |
Unit |
Width of top table border. |
|
ucreate:border-top-gap-color |
No |
Color |
Name or ID of a color defined in ucreate:colors. Default: black. |
|
border-left-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
border-left-width |
No |
Unit |
Width of left table border. |
|
ucreate:border-left-gap-color |
No |
Color |
Name or ID of a color defined in |
|
border-right-style |
No |
String |
Currently the only available option is "solid". Other line styles are not supported. |
|
border-right-width |
No |
Unit |
Width of right table border. |
|
ucreate:border-right-gap-color |
No |
Color |
Name or ID of a color defined |
|
ucreate:start-row-background-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:start-row-background-count |
No |
Number |
Number of rows to apply first color to. |
|
ucreate:start-row-background-shade |
No |
Unit |
Percent value of first row background color. For example: "20%". |
|
ucreate:end-row-background-color |
No |
Color |
Name or ID of a color defined in |
|
ucreate:end-row-background-count |
No |
Number |
Number of rows to apply second color to. |
|
ucreate:end-row-background-shade |
No |
Unit |
Percent value of second row background color. For example: "20%". |
|
ucreate:left-column-use-body-style |
No |
String |
True indicates to apply a different style to the left-most column. May be one of:
Default: "false". |
|
ucreate:left-column-style |
No |
Number |
Name or ID of a cell style defined in |
|
ucreate:right-column-use-body-style |
No |
String |
True indicates to apply a different style to the left-most column. May be one of:
Default: "false". |
|
ucreate:right-column-style |
No |
Number |
Name or ID of a cell style defined in |
|
ucreate:based-on-style |
No |
Number |
Name of another table style on which this table style is based. All attributes from the based-on-style will apply unless overridden by attributes defined in this style. |
ucreate:table-styles
Description
Container for ucreate:table-style elements.
Model
ucreate:table-styles (ucreate:table-style*)
Attributes
None
Appendix A - ucreate:plan-xml
The ucreate:plan-xml element contains mainly the definition of the original data source, and the definitions of any content objects created from that source, either directly or via a rule.
Appendix B - Copy Fitting String
The copy fitting string used in a block-container definition defines the fitting algorithms that should be applied to solve problems of overflow and underflow. The format of this string is as follows:
Operation , Method (,Algorithms specifications)*
"Operation" may be one of these values: "underflow", "overflow", "over-and-underflow". This value specifies when copy fitting should be applied either when the box text is underflow, overflow or in both cases.
"Method" may be one of these values: "cycle", "one-step-each", "exhaustive". The only supported values is "cycle", for which the algorithms defined are looped and, in each loop, a single step in each algorithm is tested.
"Algorithms specifications" is a comma-separated sequence of one or more strings in the following format:
<name>:<step>%:<max>%:<min>%
"name" stands for an algorithm name, which may be one of: "font-size", "horizontal-scale" or "auto-leading". Currently XLIM production supported only "font-size" and "auto-leading". Each of the other values (step, max and min) is a percentage value (defining the step size for each iteration, the max and min values).
For example, the following string:
overflow, cycle, font-size:1%:125%:75%, horizontal-scale:1%:125%:75%
defines a copy fitting handling in case of overflow that runs iteratively and, in each step, executes one step of font size algorithm and one step of horizontal scale algorithm. Each of the algorithms uses a step value of 1%, a maximum value of 125% and minimum value of 75% (meaning 50 steps each). Font size algorithm will decrease the font size from a 125% value to 75% hoping to find on the way a value that will cause the box not to overflow, and Horizontal Scale algorithm will do the same but with respect to the text horizontal width by method of scaling.
Appendix C - Special Characters
Within either fo:inline element or a fo:block element, #pcdata used as static text. In order to overcome some XML issues the following characters are converted to a matching string sequence. Tab and Space are only converted when they are leading. Notice that no carriage returns are defined because carriage returns result in the opening of a new block and are dropped from the text (the parser should automatically realize that a carriage return is due when a block other than the first in a block container is started):
|
Character |
Converted to |
|
Indent to here (used in bullets aligning) |
 |
|
Tab |
	 |
|
Line Feed (LF) |

 |
|
Space |
  |
|
Quote |
" |
|
Ampersand |
& |
|
Apostrophe |
' |
|
Less then (<) |
< |
|
Greater then (>) |
> |
Appendix D – Tab stops
Tab stops can be defined on ucreate:para-style elements using the ucreate:tab-stops attribute. Tab stops are defined by specifying three values: alignment, position and leaders. For example:
"(alignment:right,position:44pt,leaders(.))"
Alignment and leader values are optional. For example, this is a valid Tab stop:
"(position:20mm)"
Multiple tab stops can be defined like this:
"((position:30pt),(alignment:right,position:95pt,leaders(_)))"
Permitted values
Alignment: left, center, right. (Default: left)
Leaders: String. In most cases, you would use characters such as .-_ (full stop, dash, underscore).
Position: Unit.
Appendix E – uEdit Lock settings
uStore includes a feature called uEdit that allows shoppers to modify the document design in a web browser during the order process. If you are creating a XLIM document for use with uStore and uEdit, the ucreate:lock attribute allows you to lock different aspects of each block in the design allowing you to maintain control of certain design elements and allow customers to only modify the objects you allow.
Note that the ucreate:lock attribute is not relevant for XNIP and will be ignored.
The value of the attribute is a pipe (|) separated string of values representing the actions to lock, starting with the XLIM version which should be set to v2.
For example, the following locks the rotation, size and position of the block, put permits other changes like the content and appearance of the block:
ucreate:lock="v2 | rotation | dimension | location"
|
Lock value |
Description |
|
Object settings |
|
|
box-create |
Prevents the creation of new text or graphic blocks. |
|
box-delete |
Prevents the deletion of text or graphic blocks. |
|
rotation |
Prevents rotation of the selected block. |
|
dimension |
Prevents changing the size of the selected block. |
|
location |
Prevents moving the selected block. |
|
Content settings |
|
|
add-content-objects |
Prevents the adding content objects to the selected block. |
|
remove-content-objects |
Prevents the deletion of content objects from the selected block. |
|
text |
Prevents the editing of text within the selected block. |
|
graphic |
Prevents replacement of the graphic in the selected block. |
|
content-rotation |
Prevents rotation of the content within the selected block. |
|
content-dimension |
Prevents scaling the content within the selected block. |
|
content-location |
Prevents the change of position of the content within the selected block. |
|
Appearance settings |
|
|
background-color |
Prevents changing the background color of the selected block. |
|
stroke |
Prevents changing either the stroke color or weight of the selected block. |
|
stroke-color |
Prevents changing the stroke color of the selected block. |
|
stroke-weight |
Prevents changing the stroke weight of the selected block. |
|
text-attributes |
Prevents changing the text attributes of the selected block. |