Generate XML from FrameMaker Book

Q

How to generate an XML file from a FrameMaker book? I want to transform the book to other formats.

✍: FYIcenter.com

A

You can follow this tutorial to generate an XML file from a FrameMaker book.

1. Open the FrameMaker book like FM-Book-Example.book, and click "Edit > Update Book" menu to ensure the entire book is updated.

2. Select the FrameMaker book in the book panel on the left. Then click "File > Save Book As" menu You see the "Save Book" screen.

3. Enter the PDF file name like "FM-Book-Example". And make sure that "Save as type" is set to "XML (*.xml)".

4. Click "Save".

5. You see an error in the console panel:

XML Parser Messages (Document Instance)
Error at file C:\fyicenter\FM-Book-Example.xml.DE2, 
line 15, char 20, Message: Unknown element 'NoName'

6. Go to the folder where the XML file was saved. You actually see multiple files generated:

FM-Book-Example.xml - Contains XML code for the book
FM-Book-Example-TOC.e01
FM-Book-Chapter-Introduction.e02
FM-Book-Chapter-Basics.e03
FM-Book-Chapter-Summary.e04
FM-Book-Example-IOM.e05

7. Open FM-Book-Example.xml in an XML editor. You see how the book content is organized.

<!DOCTYPE NoName PUBLIC "-//OASIS//DTD DITA BookMap//EN" 
   "bookmap/dtd/bookmap.dtd" [

<!-- Begin Document Specific Declarations -->
<!ENTITY bkc1 SYSTEM "FM-Book-Example-TOC.e01">
<!ENTITY bkc2 SYSTEM "FM-Book-Chapter-Introduction.e02">
<!ENTITY bkc3 SYSTEM "FM-Book-Chapter-Basics.e03">
<!ENTITY bkc4 SYSTEM "FM-Book-Chapter-Summary.e04">
<!ENTITY bkc5 SYSTEM "FM-Book-Example-IOM.e05">

<!-- End Document Specific Declarations -->

]>
<?Fm Book?><NoName>&bkc1;&bkc2;&bkc3;&bkc4;&bkc5;</NoName>

You see the XML file in incomplete. So FrameMaker failed to generate the XML file from a FrameMaker book.

The picture below shows you how to generate XML from a FrameMaker book:
Generate XML from FrameMaker Book

 

FrameMaker Publish Functions

Generate HTML from FrameMaker Book

Create and Update FrameMaker Books

⇑⇑ FrameMaker Tutorials

2018-01-06, 1513🔥, 0💬