8.5
Table Of Contents
- Contents
- Overview
- Changes in this version
- Getting started
- Using the Web interface
- Understanding rendering
- Understanding render types
- Understanding render modifiers
- Using content modifiers
- Using XML modify
- Using XML deconstruct and construct
- Deconstructing a project
- Constructing a project
- Working with pages and spreads
- Working with layers
- Working with boxes
- Working with groups
- Working with pictures
- Working with text
- Working with tables
- Working with sections
- Working with Composition Zones
- Using XSL transformation
- Working with lists
- Working with anchored boxes
- Working with placeholders
- Working with metadata
- Working with hidden text
- Using administrative request handlers
- Modifier DTD (annotated)
- Entities (Modifier DTD)
- PROJECT (Modifier DTD)
- SAVEAS (Modifier DTD)
- LAYOUT (Modifier DTD)
- ID (Modifier DTD)
- LAYOUTPROPERTY (Modifier DTD)
- COLUMNGUIDES (Modifier DTD)
- ARTICLE (Modifier DTD)
- COMPONENT (Modifier DTD)
- SPREAD (Modifier DTD)
- PAGE (Modifier DTD)
- SECTION (Modifier DTD)
- BOX (Modifier DTD)
- METADATA (Modifier DTD)
- VALUE (Modifier DTD)
- TEXT (Modifier DTD)
- INSET (Modifier DTD)
- STORY (Modifier DTD)
- COPYFIT (Modifier DTD)
- PARAGRAPH (Modifier DTD)
- TEXTNODEPH (Modifier DTD)
- TEXTPH (Modifier DTD)
- GROUPCHARACTERS (Modifier DTD)
- FORMAT (Modifier DTD)
- KEEPLINESTOGETHER (Modifier DTD)
- DROPCAP (Modifier DTD)
- LOCKTOGRID (Modifier DTD)
- TABSPEC (Modifier DTD)
- TAB (Modifier DTD)
- RULE (Modifier DTD)
- HIDDEN (Modifier DTD)
- RICHTEXT (Modifier DTD)
- RUBITEXT (Modifier DTD)
- ANCHOREDBOXREF (Modifier DTD)
- LINKEDBOX (Modifier DTD)
- OVERMATTER (Modifier DTD)
- PICTURE (Modifier DTD)
- CLIPPING (Modifier DTD)
- SPLINESHAPE (Modifier DTD)
- CONTOURS (Modifier DTD)
- CONTOUR (Modifier DTD)
- VERTICES (Modifier DTD)
- VERTEX (Modifier DTD)
- LEFTCONTROLPOINT (Modifier DTD)
- VERTEXPOINT (Modifier DTD)
- RIGHTCONTROLPOINT (Modifier DTD)
- GEOMETRY (Modifier DTD)
- FIT (Modifier DTD)
- MAX (Modifier DTD)
- MIN (Modifier DTD)
- LOCATION (Modifier DTD)
- SIZE (Modifier DTD)
- SCALETO (Modifier DTD)
- RELPOSITION (Modifier DTD)
- ORIGIN (Modifier DTD)
- WIDTH (Modifier DTD)
- HEIGHT(Modifier DTD)
- POSITION (Modifier DTD)
- MOVEUP (Modifier DTD)
- MOVEDOWN (Modifier DTD)
- MOVELEFT (Modifier DTD)
- MOVERIGHT (Modifier DTD)
- GROWACROSS (Modifier DTD)
- GROWDOWN (Modifier DTD)
- SHRINKACROSS (Modifier DTD)
- SHRINKDOWN (Modifier DTD)
- ALLOWBOXONTOPASTEBOARD (Modifier DTD)
- ALLOWBOXOFFPAGE (Modifier DTD)
- STACKINGORDER (Modifier DTD)
- SUPPRESSOUTPUT (Modifier DTD)
- TOP (Modifier DTD)
- LEFT (Modifier DTD)
- BOTTOM (Modifier DTD)
- RIGHT (Modifier DTD)
- RUNAROUND (Modifier DTD)
- LAYER (Modifier DTD)
- RGBCOLOR (Modifier DTD)
- LINESTYLE (Modifier DTD)
- CONTENTPH (Modifier DTD)
- CONTENT (Modifier DTD)
- SHADOW (Modifier DTD)
- FRAME (Modifier DTD)
- PLACEHOLDER (Modifier DTD)
- TABLE (Modifier DTD)
- PARENTTABLE (Modifier DTD)
- TABLEBREAK (Modifier DTD)
- CHILDID (Modifier DTD)
- ADDCELLS (Modifier DTD)
- DELETECELLS (Modifier DTD)
- COLSPEC (Modifier DTD)
- COLUMN (Modifier DTD)
- ROW (Modifier DTD)
- HEADER (Modifier DTD)
- FOOTER (Modifier DTD)
- CELL (Modifier DTD)
- GRID (Modifier DTD)
- GRIDLINE (Modifier DTD)
- GROUP (Modifier DTD)
- BOXREF (Modifier DTD)
- COMPOSITIONZONE (Modifier DTD)
- LIST (Modifier DTD)
- RUBI (Modifier DTD)
- Sample applications
- Contacting Quark
- Legal notices
- Index
Next, alter the project by manipulating the XML. When you're done, pass the modified XML
document to ConstructStreamRequest to create a new QuarkXPress project. For example:
ConstructStreamRequest cnstrq =
new ConstructStreamRequest();
cnstrq.modify = Buffer; // Byte[] for the modified XML
rc.request = cnstrq;
QuarkXPressRenderRequest qxprq =
new QuarkXPressRenderRequest();
cnstrq.request = qxprq;
Alternatively, you can deconstruct a QuarkXPress project using code like the following:
QManagerSDKSvcService svc =
new QManagerSDKSvcService()
Project proj = svc.getDOM("document.qxp");
Next, alter the project by manipulating the XML. When you're done, pass the modified Project
instance to ConstructRequest to create a new QuarkXPress project. For example:
ConstructRequest cnstrq =
new ConstructRequest();
cnstrq.project = proj;
QRequestContext rc = new QRequestContext();
rc.request = cnstrq;
QuarkXPressRenderRequest qxprq =
new QuarkXPressRenderRequest();
cnstrq.request = qxprq;
The construct namespace takes two arguments: The name of the project to be created and a
modify parameter with the string or the path of the XML file that describes how to create the
project:
http://localhost:8080/qxpdoc/construct/project1.qxp?
modify=file:path to XML file on server
http://localhost:8080/qxpdoc/construct/project1.qxp?
modify=<xml-string>
Notes
Construct and modify
The modify parameter lets you modify existing projects. For example:
http://QXPServer8:8080/project1.qxp?
modify=file:path to XML file on server
or:
http://QXPServer8:8080/project1.qxp?modify=XML string
It's important to understand that although the construct namespace uses the same DTD
that you use when you modify an existing project, the construct namespace uses it
differently. When you use the construct namespace, the XML you pass simply contains
a description of everything in the document you want to create — much as an HTML file
describes a page you want to display in a browser. There is no need to use a command
and create elements such as ADDCELLS, OPERATION, and MOVERIGHT; you simply describe
each item in the layout with elements such as <BOX> and <TABLE>, and specify each item's
position with the <POSITION> element type. When you use the modify attribute without
the construct namespace, however, the XML you pass must contain commands that
show how you want QuarkXPress Server to modify the project.
For more information, see "Modifier DTD (annotated)."
QXP SERVER 8.5 WEB INTEGRATION GUIDE | 99
USING THE WEB INTERFACE