![]() | ![]() | ![]() | 14.1 The elements of an Ipe XML file |
A file can optionally start with the <?xml>
tag, which is
simply ignored by Ipe.
The only element in the file must be <ipe>
. The optional
attribute media
indicates the physical boundaries of the
"paper" containing the page. The value is a sequence of four
integers, separated by spaces, in the order min-x, min-y, max-x,
max-y, in postscript points (1/72 inch). If the attribute is not
present, A4 size is assumed. The optional attribute version
indicates the earliest Ipelib version that can interpret the
document. This allows for extensions to the Ipe file format, but not
withdrawal of features. Ipe will refuse to load documents that
require a version larger than its own. The optional attribute
creator
indicates the program that created the file, it is not
interpreted by Ipe at all.
The <ipe>
element contains, in this order, an optional
<info>
element, an optional <preamble>
element, an
optional series of <ipestyle>
elements, an optional series of
<bitmap>
elements, and a series of <page>
elements.
The <info>
element takes the optional attributes title
,
author
, subject
, keywords
, pagemode
,
bbox
, created
, and modified
. The only value for
pagemode
currently understood by Ipe is fullscreen
. If
the value of bbox
is cropbox
, Ipe will create a
CropBox
attribute when saving to PDF. The value of
created
and modified
should be a date in PDF format,
that is a string like "D:20030127204100".
The contents of the preamble
element is used as the LaTeX
preamble when running LaTeX to process the text objects in the
document. It should not contain a \documentclass
command, but can contain \usepackage
commands and macro
definitions.
The contents of the <ipestyle>
element is parsed as an Ipe
style sheet, see below. Several style sheets form a stack or
"cascade", with the last <ipestyle>
element becoming the
top-level style sheet. When symbolic names are looked up, the style
sheets are checked from top to bottom. Ipe always appends the
built-in standard style sheet at the bottom of the stack.
Each <bitmap>
element defines a bitmap to be used by
<image>
objects. It takes the required attributes id
(the value must be an integer that will define the bitmap throughout
the Ipe document), width
and height
(integers,
specifying the dimensions of the bitmap in pixels), ColorSpace
(possible values are "DeviceGray", "DeviceRGB", and
"DeviceCMYK"), BitsPerComponent
(only 8 is currently
allowed!), and length
(indicating the number of bytes of image
data). The optional attribute Filter
can take one of the
values "FlateDecode" or "DCTDecode" to indicate a compressed image
(the latter is used for JPEG images). The length
attribute can
be omitted if there is no filter (Ipe can then deduce it from the
other attributes).
The contents of the <bitmap>
element is the image data in
hexadecimal format. White space between bytes is ignored. If no
filter is specified, pixels are stored row by row, with rows padded to
a full byte boundary.
Note that images with color maps are not supported, and such support is not planned. (The Insert image ipelet does allow you to insert images with color maps, but they are stored as 24-bit images. Since the data is compressed, this does not seriously increase the image data size.)
![]() | ![]() | ![]() | 14.1 The elements of an Ipe XML file |