data-id=mapping-table-elements-reference
Mapping Table Elements Reference
This chapter provides complete details of all mapping table directives and their attributes.
data-id=call-event-list
Call-event-list
Inserts the named event-list at this point in the mapping table. This directive is identical to a macro call.
DTD content rule
Void?
Attributes
<Define-event-list>) to be included at this point in the current event list. |data-id=call-proc-list
Call-proc-list
Inserts the named proc-list at this point in the mapping table. This directive is identical to a macro call.
DTD content rule
Void?
Attributes
<define-proc-list>) to be included at this point in the current event or proc-list. |data-id=comment
Comment
Allows documentation or notes to be included in the mapping table. This directive does no processing.
DTD content rule
<TEXT>
data-id=conditional-delimiter
Conditional-delimiter
Emits the contained text if this proc-var is not the first one to be accepted and processed after the start of an event or the first one to be processed after a conditional-prefix control element.
DTD content rule
<TEXT>
Attributes
Emit-newline-before: Emit a newline before emitting any content text. * No-newline-before: Do not emit a newline before emitting any content text.Emit-newline-after: Emit a newline after emitting any content text. * No-newline-after: Do not emit a newline after emitting any content text.Emit-space-after: Emit a space after emitting any content text. * No-space-after: Do not emit a space after emitting any content text.Emit-space-before: Emit a space before emitting any content text. * No-space-before: Do not emit a space before emitting any content text.data-id=conditional-prefix
Conditional-prefix
Caches and emits the contained text if any proc-var is accepted to be processed before the end of the current event or before the next Conditional-suffix control element.
DTD content rule
<TEXT>
Attributes
Emit-newline-after: Emit a newline after emitting any content text. * No-newline-after: Do not emit a newline after emitting any content text.Emit-newline-before: Emit a newline before emitting any content text. * No-newline-before: Do not emit a newline before emitting any content text.Emit-space-after: Emit a space after emitting any content text. * No-space-after: Do not emit a space after emitting any content text.Emit-space-before: Emit a space before emitting any content text. * No-space-before: Do not emit a space before emitting any content text.data-id=conditional-suffix
Conditional-suffix
Emits the contained text if the preceding Conditional-prefix within the current event was emitted.
DTD content rule
<TEXT>
Attributes
Emit-newline-after: Emit a newline after emitting any content text. * No-newline-after: Do not emit a newline after emitting any content text.Emit-newline-before: Emit a newline before emitting any content text. * No-newline-before: Do not emit a newline before emitting any content text.Emit-space-after: Emit a space after emitting any content text. * No-space-after: Do not emit a space after emitting any content text.Emit-space-before: Emit a space before emitting any content text. * No-space-before: Do not emit a space before emitting any content text.data-id=define-event-list
Define-event-list
Event-lists and proc-lists, like macros, allow the user to define a series of processing directives that can be used in multiple locations within the SaveAs mapping table.
Event-lists govern the selection and processing of elements in the layout, metadata, logical structure, or stylesheet trees. Proc-lists govern the processing of attributes or properties associated with a given event or structural element. For more information, see Define-proc-list.
DTD content rule
( Comment | Event | Call-event-list)+
Attributes
<Walk-*> elements by the Use-event-list attribute. The name must be unique across all Define-event-list elements within a given mapping table file.data-id=define-proc-list
Define-proc-list
Proc-lists and event-lists, like macros, allow the user to define a series of processing directives that can be used in multiple locations within the SaveAs mapping table.
Proc-lists govern the processing of attributes and properties associated with a given event or structural element. Event-lists govern the selection and processing of elements in the layout, metadata, logical structure, or stylesheet trees. (See Define-event-list.)
DTD content rule
(Comment | Proc-var | Walk-proplist | Call-proc-list)+
Attributes
<Call-proc-list> element via its Name attribute. The name must be unique across all Define-proc-list elements within a given mapping table file.data-id=element-name
Element-name
Outputs the Element-name, which is used in the XML output filter to generate the user-supplied element tag.
DTD content rule
Void?
Attributes
/S key of the StructElem (Structure-user-label) or from the result of processing that key via the RoleMap (Structure-role). One of: | * Structure-role: Use the result of processing the StructElem’s /S key via the RoleMap. * Structure-user-label: Use the StructElem’s /S key.data-id=emit-all-metadata
Emit-all-metadata
Copies the full set of XAP metadata to the output file.
DTD content rule
Void?
Attributes
Emit-newline-after: Emit a newline after emitting any content text. * No-newline-after: Do not emit a newline after emitting any content text.Emit-newline-before: Emit a newline before emitting any content text. * No-newline-before: Do not emit a newline before emitting any content text.Emit-space-after: Emit a space after emitting any content text. * No-space-after: Do not emit a space after emitting any content text.Emit-space-before: Emit a space before emitting any content text. * No-space-before: Do not emit a space before emitting any content text.data-id=emit-string
Emit-string
Emits the text contained in this mapping table element.
DTD content rule
<TEXT>
Attributes
Emit-newline-after: Emit a newline after emitting any content text. * No-newline-after: Do not emit a newline after emitting any content text.Emit-newline-before: Emit a newline before emitting any content text. * No-newline-before: Do not emit a newline before emitting any content text.Emit-space-after: Emit a space after emitting any content text. * No-space-after: Do not emit a space after emitting any content text.Emit-space-before: Emit a space before emitting any content text. * No-space-before: Do not emit a space before emitting any content text.data-id=evaluate-var
Evaluate-var
Does the same processing as Proc-var, except it does not make the data value available to the other contained processing directives. For more information, see Proc-var.
DTD content rule
(Comment | Conditional-delimeter | Emit-string | Conditional-prefix |
Element-name | Proc-string | Proc-integer | Proc-fixed | Proc-length |
Proc-pixels | Proc-enum | Proc-var | Walk-proplist | Call-proc-list |
Proc-graphic-content | Proc-image-content | Proc-doc-text | Walk-children |
Walk-metadata | Emit-all-metadata | Walk-cached-property-sets |
Walk-structure | Walk-layout | Conditional-suffix )+
Attributes
Diff-from-value, Matches-value, Less-than-value, or More-than-value. This should be the same type (Fixed, Int32, Atom, String) as the property. |Proc-var directive are to be executed. One of: * Always: Always execute the children of this Proc-var directive. * Has-value: Execute the children of this Proc-var directive if a value is found on this node (either explicit or Default). * Diff-from-default-for-event: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by Default. * Diff-from-ancestor: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by searching the inheritance tree for any ancestor. * Diff-from-parent: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by examining the inheritance cache of the parent. * Diff-from-predecessor: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by examining the inheritance cache of the preceding peer. * Diff-from-value: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by Compare. Can be used with any type. | * Matches-value: Execute the children of this Proc-var directive if a value is found and that value matches that specified by Compare. Can be used with any type. | * Less-than-value: Execute the children of this Proc-var directive if a value is found and that value is less than that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * Less-equal-value: Execute the children of this Proc-var directive if a value is found and that value is less than or equal to that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * More-than-value: Execute the children of this Proc-var directive if a value is found and that value is greater than that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * More-equal-value: Execute the children of this Proc-var directive if a value is found and that value is greater than or equal to that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. |Inheritable: This property can be inherited. * Not-inherited: This property cannot be inherited (Default).Metadata: This is a pseudo-owner for entries in the document’s metadata. * Structelem: This is a pseudo-owner for properties specified directly in the StructElem’s obj dictionary. * Layout: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Layout. * Link: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Link. * List: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by List. * Table: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Table. * Auto-span: This is a pseudo-owner generated by the SaveAs processor for each span it synthesizes by consolidating Tj operators having common styling properties (font, size, color, etc.) * Inline-markup: This is a pseudo-owner generated by the SaveAs processor when the following inline marking is encountered: /Span << … >> BDC (abbrev.) Tj EMCOwner) to be processed or evaluated. |Has-enum for a possible secondary datatype). One of: * Fixed: Fixed-point number. * Int32: A signed integer. * Atom: A PDF key (/XYZ). * String: A PDF string. * Color: An RGB color (array of three Fixed values). * BBox: A bounding box (array of four Fixed values).data-id=event
Event
Governs the processing of a node in the layout, logical-structure, metadata, or stylesheet trees. Specifies the processing that is to be performed on entering or exiting the named node.
DTD content rule
(Comment | Emit-string | Conditional-prefix | Element-name | Proc-var |
Walk-proplist | Call-proc-list | Conditional-suffix | Proc-graphic-content |
Proc-image-content | Proc-doc-text | Walk-children | Walk-metadata |
Emit-all-metadata | Walk-cached-property-sets | Walk-structure | Walk-layout |
Evaluate-var)+
Attributes
Enter: Node is being entered from either parent or peer. * Enter-from-parent: Node is being entered from parent, but not from peer. * Enter-from-peer: Node is being entered from peer, but not from parent. * Exit: Node is being exited to either parent or to peer. * Exit-to-parent: Node is being exited to parent, but not to peer. * Exit-to-peer: Node is being exited to peer, but not to parent. * Begin-children: Node is being exited to begin processing its children. * End-children: Node is being re-entered after processing its children.Empty: Node has no children or direct content. * Has-text-only: Node has only text content (no other elements). * Has-kids: Node has child elements (including possible text-only spans. * Graphic: Node contains (vector) graphic data. * Image: Node contains bitmap image data. * Other: Node is something other than those listed above.Node-name attribute is matched against either the /S key of the StructElem (Structure-user-label) or against the result of processing that key via the RoleMap (Structure-role). One of: | * Any: Attempt to match on Structure-user-label then on Structure-role. Also used for matching within metadata and stylesheet construction. | * Structure-role: Compare Node-name to the result of processing the StructElem’s /S key via the RoleMap. * Structure-user-label: Compare Node-name to the StructElem’s /S key.data-id=proc-doc-text
Proc-doc-text
Emits the text contained in the current structural element.
DTD content rule
Void?
Attributes
do-br-substitution: Emit a for every newline found in the doc text. \* `do-xml-br-substitution`: Emit a for every newline found in the doc text. * no-substitution: Disregard newlines in doc text.data-id=proc-enum
Proc-enum
If the data cached by the containing Proc-var directive is a string or an atom, searches for a match among the proc-enum choice elements that are children of this control element. If a match is found, issues the Value-out value of the matching Proc-enum-choice directive as a string.
DTD content rule
Proc-enum-choice+
data-id=proc-enum-choice
Proc-enum-choice
Specifies the choice and output values for a Proc-enum directive.
DTD content rule
Void?
Attributes
proc-var directive.Value-in is found.data-id=proc-fixed
Proc-fixed
If the data cached by the containing Proc-var directive is a FixedPoint number, emits the text representation of the value. This value is scaled using the attributes of this directive as follows:
- The original value is multiplied by the value of the
Mulattribute. - The value of the
Addattribute is added to the result of step 1. - The result of step 2 is divided by
Div. - The result of step 3 is converted to a string.
Frac-lencontrols the number of digits to the right of the decimal point.Frac-dlmis the fraction-radix character to be issued ifFrac-lenis greater than 0.
Proc-fixed, Proc-length, and Proc-pixels vary only in the default values for Mul, Div, and Add.
DTD content rule
Void?
Attributes
data-id=proc-graphic-content
Proc-graphic-content
Processes the content of the current structural element as a vector graphic.
DTD content rule
Void?
data-id=proc-hex
Proc-hex
If the data cached by the containing Proc-var directive is an Int32, an Uns32, or a Fixed, emits the text representation of the integer portion of the value, after the scaling algorithm is applied. This value is scaled using the attributes of this directive as follows:
- The original value is multiplied by the value of the
Mulattribute. - The value of the
Addattribute is added to the result of step 1. - The result of step 2 is divided by
Divand the fraction is discarded. - The result of step 3 is converted to a string.
DTD content rule
Void?
Attributes
data-id=proc-image-content
Proc-image-content
Processes the content of the current structural element as a bitmapped graphic.
DTD content rule
Void?
data-id=proc-integer
Proc-integer
If the data cached by the containing Proc-var directive is an Int32 or an Uns32, emits the text representation of the value. This value is scaled using the attributes of this directive as follows:
- The original value is multiplied by the value of the
Mulattribute. - The value of the
Addattribute is added to the result of step 1. - The result of step 2 is divided by
Divand the fraction is discarded. - The result of step 3 is converted to a string.
DTD content rule
Void?
Attributes
data-id=proc-length
Proc-length
If the data cached by the containing Proc-var directive is a FixedPoint number, emits the text representation of the value. This value is scaled using the attributes of this directive as follows:
- The original value is multiplied by the value of the
Mulattribute. - The value of the
Addattribute is added to the result of step 1. - The result of step 2 is divided by
Div. - The result of step 3 is converted to a string.
Frac-lencontrols the number of digits to the right of the decimal point.Frac-dlmis the fraction-radix character to be issued ifFrac-lenis greater than 0.
Proc-fixed, Proc-length, and Proc-pixels vary only in the default values for Mul, Div, and Add.
DTD content rule
Void?
Attributes
data-id=proc-pixels
Proc-pixels
If the data cached by the containing Proc-var directive is a FixedPoint number, emits the text representation of the value. This value is scaled using the attributes of this directive:
- The original value is multiplied by the value of the
Mulattribute. - The value of the
Addattribute is added to the result of step 1. - The result of step 2 is divided by
Div. - The result of step 3 is converted to a string.
Frac-lencontrols the number of digits to the right of the decimal point.Frac-dlmis the fraction-radix character to be issued ifFrac-lenis greater than 0.
Proc-fixed, Proc-length, and Proc-pixels vary only in the default values for Mul, Div, and Add.
DTD content rule
Void?
Attributes
data-id=proc-property
Proc-property
Processes an arbitrary property. This is similar to proc-var, except that it does not select or filter which properties are processed, but simply takes each property owned by the current owner in turn.
DTD content rule
(Comment | Conditional-delimeter | Emit-string | Property-name | Property-type)+
data-id=proc-string
Proc-string
If the data cached by the containing Proc-var directive is a string or an atom, emits the text content of the string or a text representation of the atom’s name.
DTD content rule
Void?
data-id=proc-var
Proc-var
Specifies the formatting and conversion of the named attribute or property (PDF-variable).
This directive also caches the data value and type of the value specified for use by various processing directives within this element.
DTD content rule
(Comment | Conditional-delimeter |Emit-string | Conditional-prefix |
Element-name | Proc-string | Proc-integer | Proc-fixed | Proc-length |
Proc-pixels | Proc-enum | Proc-doc-text | Proc-graphic-content |
Proc-image-content | Conditional-suffix )+
Attributes
Diff-from-value, Matches-value, Less-than-value, or More-than-value. This should be the same type (Fixed, Int32, Atom, String) as the property. |Proc-var directive are to be executed. One of: * Always: Always execute the children of this Proc-var directive. * Has-value: Execute the children of this Proc-var directive if a value is found on this node (either explicit or Default). * Diff-from-default-for-event: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by Default. * Diff-from-ancestor: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by searching the inheritance tree for any ancestor. * Diff-from-parent: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by examining the inheritance cache of the parent. * Diff-from-predecessor: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by examining the inheritance cache of the preceding peer. * Diff-from-value: Execute the children of this Proc-var directive if a value is found and that value differs from that specified by Compare. Can be used with any type. | * Matches-value: Execute the children of this Proc-var directive if a value is found and that value matches that specified by Compare. Can be used with any type. | * Less-than-value: Execute the children of this Proc-var directive if a value is found and that value is less than that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * Less-equal-value: Execute the children of this Proc-var directive if a value is found and that value is less than or equal to that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * More-than-value: Execute the children of this Proc-var directive if a value is found and that value is greater than that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. | * More-equal-value: Execute the children of this Proc-var directive if a value is found and that value is greater than or equal to that specified by Compare. Can only be used with: Fixed, Int32, Atom, String. |Inheritable: This property can be inherited. * Not-inherited: This property cannot be inherited (Default).Metadata: This is a pseudo-owner for entries in the document’s metadata. * Structelem: This is a pseudo-owner for properties specified directly in the StructElem’s obj dictionary. * Layout: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Layout. * Link: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Link. * List: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by List. * Table: Properties in the StructElem’s Attribute dictionary list within the dictionary owned by Table. * Auto-span: This is a pseudo-owner generated by the SaveAs processor for each span it synthesizes by consolidating Tj operators having common styling properties (font, size, color, etc.). * Inline-markup: This is a pseudo-owner generated by the SaveAs processor when the following inline marking is encountered: /Span << … >> BDC (abbrev.) Tj EMCHas-enum for a possible secondary datatype). One of: * Fixed: Fixed-point number. * Int32: A signed integer. * Atom: A PDF key (/XYZ). * String: A PDF string. * Color: An RGB color (array of three Fixed values) * BBox: A bounding box (array of four Fixed values)data-id=property-name
Property-name
Processes the name and key portion of an arbitrary property.
DTD content rule
Void?
data-id=property-type
Property-type
Processes the data portion of an arbitrary property.
DTD content rule
(Comment | Conditional-delimeter | Emit-string | Proc-string | Proc-integer |
Proc-fixed | Proc-length | Proc-pixels | Proc-enum | Proc-doc-text |
Proc-graphic-content | Proc-image-content)+
Attributes
Fixed: Fixed-point number. * Int32: A signed integer. * Atom: A PDF key (/XYZ). * String: A PDF string. * Color: An RGB color (array of three Fixed values). * BBox: A bounding box (array of four Fixed values).data-id=root
Root
The root node of a mapping table. Its attributes specify the name of the filter to appear in the menu and information necessary to properly generate the output file name and type information.
DTD content rule
(Comment | Emit-string | Define-event-list | Define-proc-list |
Walk-metadata | Emit-all-metadata | Walk-cached-property-sets |
Walk-structure | Walk-layout)+
Attributes
Utf-8-out: The file is encoded in UTF-8 (8-bit Unicode). * Utf-16-out: The file is encoded in UTF-16 (16-bit Unicode). * Ucs-4-out: The file is encoded in UCS-4 (32-bit Unicode). * Iso-latin-1-out: The file is encoded as ISO-Latin-1. All Unicode values above 0x00FF are output as numeric character entities (�). * Html-ascii-out: The file is encoded as 7-bit ASCII. All Unicode values above 0x007F are output as numeric character entities (�).Html-3-02 * Html-4-01-with-css-1-00 * Xml-1-00 * Plain Text$IDS_HTML_3_2_MENU_NAME - localized string "HTML 3.2" * $IDS_HTML_4_01_CSS_1_0_MENU_NAME - localized string "HTML 4.01 with CSS 1.0" * $IDS_XML_1_0_MENU_NAME - localized string "XML 1.0" * $IDS_PLAIN_TEXT_MENU_NAME - localized string "Text (Plain)"data-id=void
Void
This node is used to avoid the <empty/> syntax of XML and force the <name></name> syntax of SGML, which allows editing on any SGML editor as well as any XML editor.
Many elements have the content rule “Void?”. However, the Void element should never be specified, thereby leaving the containing node empty.
DTD content rule
<EMPTY>
data-id=walk-cached-property-sets
Walk-cached-property-sets
Directs the SaveAs processor to construct a stylesheet cache and walk the stylesheet data.
DTD content rule
Void?
Attributes
<define-event-list>) to be used to process the events generated by walking the stylesheet data (ClassMap and class information) of the document. |data-id=walk-children
Walk-children
Directs the SaveAs processor to walk the kids list of the current structural element.
DTD content rule
Void?
Attributes
<define-event-list>) to be used to process the events generated by walking the first-level children of the current structural element. |data-id=walk-layout
Walk-layout
This directive is not supported in this version of SaveAsXML.
data-id=walk-metadata
Walk-metadata
Directs the SaveAsXML processor to walk the DocInfo metadata portion of the PDF document.
DTD content rule
Void?
Attributes
<define-proc-list>) to be used to process the attributes found by walking the metadata portion of the document. |data-id=walk-proplist
Walk-proplist
Directs the SaveAs processor to walk the specified generic property list (property lists owned by XML, HTML-3.20, and HTML-4.01). This is used to process arbitrary, user-supplied attributes of the current structural element.
DTD content rule
(Comment | Conditional-delimeter | Emit-string | Proc-property)+
Attributes
Xml * Html-3.20 * Html-4.01 * Css-1.00 * Css-2.00data-id=walk-structure
Walk-structure
Directs the SaveAsXML processor to walk the logical structure tree and associated content of the PDF document.
DTD content rule
Void?
Attributes
<define-event-list>) to be used to process the events generated by walking the structure tree of the document. |