Showing posts with label FrameMaker. Show all posts
Showing posts with label FrameMaker. Show all posts

Monday, 21 May 2012

Restructure DITA Plugin Released

Finally released my new FrameMaker plugin today! Restructure DITA allows you to quickly and easily change one DITA list type for another, as well as convert paragraphs to lists and restructure existing lists as paragraphs. There's a link on the home page.
I've also been busy rewriting the source code for the CleanImport plugin. It has been a few years since I'd worked on it and looking at the code I realised I couldn't figure it out! So I decided to simplify and harmonize the code and, of course, document it better. I haven't added any new features yet, but at least I feel like I could now if I wanted to.
So now back to other projects, including finally finishing my HTML5 export filter for the DITA Open Toolkit.

Tuesday, 25 November 2008

Smart quotes with FrameMaker and DITA-FMx

(FrameMaker 8 with DITA-FMx v1.00.26, DITA 1.0)

If you have Smart Quotes turned on in FrameMaker, beware that double quotes (") typed in FrameMaker are by default translated as `` (“) and ” (”) in generated XHTML. Only by turning off Smart Quotes in FrameMaker can I get standard straight quotes " (") in the XHTML. Of course, I then get straight quotes in my PDF files as well.

The solution is to wrap the text in a <q> (quote) element in DITA.

This has several advantages:
1. The correct opening and closing smart quotes are inserted automatically in FrameMaker.
2. The generated XHTML gets straight quotes.
3. The generated PDF gets smart quotes.
4. When the language attribute is set, the quotes get translated to localized versions, for example
« (&#171;) and » (&#187;) in French.

Monday, 20 August 2007

Using a DITAVAL file with FM+DITA

For some reason, the conditional processing parameter dita.input.valfile is not recognized by the DITA Open Toolkit when you're using the FM+DITA plugin.
There's a workaround: add the value to the ditafm.ini file in the ditafm folder of your root FrameMaker installation.
The procedure is quite straightforward:
  1. Define the attributes in your topic files that you wish to make conditional (for example, set audience to "internal", product to "XMS Version 1" or platform to "Unix").

  2. Open the ditafm.ini file in a text editor. Find the AntCommand line (in the [BuildFile] section) and add -Ddita.input.valfile="path_to_ditaval_file". For example:
    AntCommand=ant -Ddita.input.valfile="C:/WORK/VMXMSRepository/en-GB/XMS Help System/Common/common.ditaval"
  3. Create a .ditaval file in the specified location. The content is described in the DITA OT documentation. For example:
    <?xml version="1.0"?>
    <val>
    <prop att="product" val="m3" action="exclude" />
    </val>
  4. Restart FrameMaker to take the changes to the ditafm.ini file into account.
Note that this approach has one serious disadvantage: the ditafm.ini file controls all conditional processing, so you can't have several different .ditaval files active simultaneously. Let's hope they address this problem soon.

It's also not yet clear how this works in FrameMaker 8.0, as the aforementioned [BuildFile] section is missing from the ditafm.ini file supplied with FrameMaker 8.0 altogether (btw, it's now in the fminit/ditafm folder).