SavePages
This command is used for two different but similar purposes.
1: Everything enclosed in SavePages is saved internally and not placed into the PDF. Useful if the output might be discarded.
2: “Future mode”: Create pages that have been previously reserved by InsertPages.
Child elements
AddSearchpath, AttachFile, Bookmark, ClearPage, DefineColor, DefineFontalias, DefineFontfamily, DefineMatter, DefineTextformat, ForAll, Group, Hyphenation, Include, InsertPages, Layout, LoadDataset, Loop, Message, NewPage, NextFrame, NextRow, Options, Output, PDFOptions, Pageformat, Pagetype, PlaceObject, ProcessNode, SaveDataset, SavePages, SetGrid, SetVariable, SortSequence, Switch, Until, While
Parent elements
AtPageCreation, AtPageShipout, Case, Contents, ForAll, Record, SavePages, While
Attributes
name(text)-
The name of the discarded output (1) or for the reserved pages (2). For later/earlier retrieval with InsertPages.
Remarks
The second mode has been introduced in version 3.7.12.
Example
First mode:
<Record element="data">
<SavePages name="foo">
<Loop select="100">
<PlaceObject>
<Textblock>
<Paragraph><Value>Hello world</Value></Paragraph>
</Textblock>
</PlaceObject>
</Loop>
</SavePages>
<Message select="sd:count-saved-pages('foo')"/>
<InsertPages name="foo"/>
</Record>
“Future mode”
<Layout xmlns="urn:speedata.de:2009/publisher/en"
xmlns:sd="urn:speedata:2009/publisher/functions/en">
<Pageformat height="5cm" width="5cm"/>
<Record element="data">
<InsertPages name="firstpage" pages="1"/>
<Loop select="4" variable="n">
<PlaceObject>
<Textblock>
<Paragraph>
<Value select="$n" />
</Paragraph>
</Textblock>
</PlaceObject>
<NewPage/>
</Loop>
<SavePages name="firstpage">
<PlaceObject>
<Textblock>
<Paragraph>
<Value>This will be the first page</Value>
</Paragraph>
</Textblock>
</PlaceObject>
</SavePages>
</Record>
</Layout>
See also
The command <InsertPages>, the section Virtual pages and Create table of contents in one go.