While it is common to speak of FrameMaker documents as having structure, only flows can be structured. In short, a FrameMaker document has structure if any of its flows are structured.
Typically, FrameMaker documents have a single structured flow and that flow is the main flow. (There can be special cases where it is helpful to have multiple structured flows but I am not going to address that possibility at this time.)
In the ordinary case, if you want to know if a document has structure, you simply need to get the main flow object and then determine if it has a highest level element.
The following script determines whether or not the main flow in the active document is structured.
NOTE: A document might have an element catalog but if its main flow lacks element tagging, this script considers it unstructured.
var doc, flow, root;
doc = app.ActiveDoc;
flow = doc.MainFlowInDoc;
root = flow.HighestLevelElement;
if (root.ObjectValid()) {
Alert("Document is structured.", Constants.FF_ALERT_CONTINUE_NOTE);
} else {
Alert("Document is unstructured.", Constants.FF_ALERT_CONTINUE_NOTE);
}
The following example uses the built-in Harvard outline structured template.
Typically, FrameMaker documents have a single structured flow and that flow is the main flow. (There can be special cases where it is helpful to have multiple structured flows but I am not going to address that possibility at this time.)
In the ordinary case, if you want to know if a document has structure, you simply need to get the main flow object and then determine if it has a highest level element.
The following script determines whether or not the main flow in the active document is structured.
NOTE: A document might have an element catalog but if its main flow lacks element tagging, this script considers it unstructured.
var doc, flow, root;
doc = app.ActiveDoc;
flow = doc.MainFlowInDoc;
root = flow.HighestLevelElement;
if (root.ObjectValid()) {
Alert("Document is structured.", Constants.FF_ALERT_CONTINUE_NOTE);
} else {
Alert("Document is unstructured.", Constants.FF_ALERT_CONTINUE_NOTE);
}
The following example uses the built-in Harvard outline structured template.
No comments:
Post a Comment