Generic Application Selector-New PI’s in XML
FrameMaker 9 has introduced support for associating an XML file with a structured Application. XML authors can now provide the information about the structapps.fm and the Application required to open the XML document using a Processing Instruction (PI).
FrameMaker will be able to understand the PI in following three forms:
<?Fmwd AppLocation "structapps_path" AppName "Application"?>
- FrameMaker will silently read file from structapps_path and associate Application both at the time of opening and saving XML file.
<?Fmwd AppLocation "structapps_path"?>
- FrameMaker will silently read file from structapps_path at the time of opening/saving XML file and will prompt user to select one of the applications within structapps.
<?Fmwd AppName "Application"?>
- FrameMaker will use the current read structapps and associate the Application given in PI to the XML while opening/saving the file.
The PI should appear before the root element in the XML document with the following syntax:
<?Fmwd AppLocation "structapps.fm" AppName "ApplicationName"?>
For example the below code snippet for an XML file shows the usage of PI instructions.
<?xml version=”1.0″ encoding=”utf-8″?>
<?Fmwd AppLocation “http://cms-fm/FM9/structapps.fm” AppName “SendMail”?>
<Mail xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:noNamespaceSchemaLocation=”email.xsd”>
<from>Asterix</from>
<to>Obelix</to>
<subject>Lost Dogmatix</subject>
<body>Please Help.</body>
</Mail>
While opening this XML file FrameMaker 9 will silently read the structapps file available at the path mentioned and will use the ‘SendMail’ application read from the structapps to open the XML file. This should save time involved in opening the structured application file, reading the application definitions and selecting the Application in the Choose Application dialog.
Points to be Noted
- If Application is not found in structapps, XML will be opened/saved with No Application.
- structapps_path can be absolute/relative paths and they can point to either HTTP or local paths
FrameMaker uses the structured application definition file to locate referenced files, such as read-write rules, templates, schema and DTD. In cases where the structured application referenced files are located on a web server FrameMaker will download all the referenced files from the server to a temporary location on the local disk. An author can provide such references using an absolute path or relative path with respect to the XML file being edited.
Please feel free to share your feedback.
Nakshatra, FrameMaker QE team