Help > Authoring > Using Markup > Processing Instructions > Processing Instructions Overview
  
Processing Instructions Overview
Processing instructions (PIs) differ from elements with attributes in that they are not considered part of the document's content. They are allowed almost anywhere in a document including before and after the document (outer level) element. They are not allowed inside elements whose content model is declared CDATA or RCDATA, or inside CDATA or RCDATA marked sections.
PIs are generally product-specific. Arbortext Editor has processing instructions it recognizes, while other products have ones they recognize. Although Arbortext Editor does not process PIs that are specific to other products, it does preserve them.
Arbortext Editor uses tag-like structures to represent some types of PIs in a document. For these PIs, the oid_name function will return the name by which Arbortext Editor knows the PI. Typically, ACL commands and functions that accept either tag names or OID names will use these names. You can use Find > Processing Instruction to locate these processing instructions in your document.
Other PIs, such as those that record the cursor position or which elements have their detail collapsed, are not represented by tags and cannot be located using Find > Processing Instruction. These PIs are flagged in the related topics.
Following is some information regarding the handling of processing instructions in Arbortext Editor:
PI tags always start with an underscore (“_”), which usually prevents name collisions with elements.
Attributes of some PIs can be set using attribute-related ACL functions and commands.
Some PIs are paired, in that they have begin and end tags that must be kept together. Arbortext Editor requires these be properly nested (as if they were elements with content). Other PIs are single (similar to empty elements).
You can view the PI source by highlighting the region that includes the PI and choosing Edit > Edit Selection as SGML Source or Edit > Edit Selection as XML Source. You can also select the region, and then type eval $selection on the Arbortext Editor command line.
In SGML, the syntax for PIs is <? ... >. In XML, the syntax is <?...?>.
You can remove almost all PIs in a document using the write -nopi command. This option does not remove generic PIs or the equation PI.
When Processing Instructions are Written to a Document
Which processing instructions are written to a document is determined by the setting of the set writepi advanced preference.
The following Arbortext Editor processing instructions are written regardless of the writepi setting (even if writepi = off):
<?Pub Tag atict:xxx?>PTC Arbortext change tracking tags for SGML documents
<?Pub Doctype?> — Document type hint when saving an SGML document as XML
<?Pub Eqn?> — Indicates the beginning of an equation (no longer needed in release 6.0, but kept for backwards compatibility)
<?Pub PI UdtName contents?> — User defined tag of a non-Arbortext Editor processing instruction
The following additional processing instructions are written when writepi = structural:
<?Pub Schema?> — Provides a hint for the associated schema for document fragments that do not start with the root tag
<?Pub UDT?> — User defined tag declaration
<?Pub Sty?>
<?Pub EntList?> — Declared character entities
<?Pub CX?> — Context string
<?APT?> — Line break processing instruction to break up a long line of entity references
<?Pub (UdtName)?> — User defined processing instructions
<?PubTbl?> — Table properties
<?PubTbl table xxx?> — Table border format
<?PubTbl row xxx?> — Table row format
<?PubTbl cell xxx?> — Table cell format
<?Pub Tag atipl:xxx?>PTC Arbortext page layout tags for SGML
<?Pub Tag atidm:xxx?>PTC Arbortext data merge tags for SGML
<?Pub _xxx?>- Various PTC Arbortext tags, such as _font, _cellfont, _bookmark, _kern, _newline, and so forth
<?Pub Lcl?>— Indicates a pseudo-attribute
<?Pub Asis?>— Indicates an asis section
<?Pub ListProp?>, <?Pub StrProp?>, and <?Pub NumProp?> — Document properties
The following additional processing instructions are written when writepi = touchup:
<?Pub _font?> — Indicates PTC Arbortext font touchup
<?Pub _newcolumn?> — Indicates PTC Arbortext new column touchup
<?Pub _newline?> — Indicates PTC Arbortext new line touchup
<?Pub _newpage?> — Indicates PTC Arbortext new page touchup
<?Pub _nolinebreak?> — Indicates PTC Arbortext no line break touchup
The following additional processing instructions are written when writepi = default:
<?Pub Caret?> — Indicates the location of the cursor between sessions
<?Pub Dtl?> — Indicates whether an element is collapsed between sessions
<?Pub Inc?> — Indicates if a document was incomplete at the time of the last completeness check
The following additional processing instructions are written when writepi = on:
<?Pub _display?>