ICML files are essentially XML files, usualy managed by InCopy, Adobe’s own word processor, which can be easily imported into Adobe InDesign.
Once a file in a markup language (HTML, Mediawiki, Markdown) or from a docx or odt file is converted to ICML, using Pandoc, the resulting ICML can be placed as structured content into an inDesign project. And once the original file is changed, and converted again to ICML the changes will flow into the inDesign project.
Conversions to ICML
Pandoc can convert HTML and Markdown markups into ICML.
pandoc my.html -s -f html -t icml -o my.icml
my.html is the markdown source filename.
-s option, which stands for “standalone”, produces output with an appropriate header and footer;
-f option, which stands for “from”, is followed by the source format;
-t option, which stands for “to”, is followed by the output format;
-o option, which stands for “output”;;
Importing ICML to InDesign
An ICML file can be imported into InDesign' with File > Place
The present paragraph styles and chapter styles that were present in the manuscript which gave origin to the ICML are kept and included in the HTML file.
bold; italic; blockquotes; footnotes; headers; paragraphs; tables; lists.
Images are given an empty placeholder.
If the ICML remains linked to the inDesign project, changes performed in manuscript, once converted to the ICML, will be integrated into the inDesign project.
Importing styles from another inDesign project
To import character and paragraph styles from another inDesign project:
- Choose Load All Text Styles from the Paragraph Styles panel menu
- InDesign displays the Open a File dialog box.
- Locate and select the InDesign project file containing the styles you want and click the Open button.
- InDesign copies the character styles from that publication into the current document.
According to Lynda.com course Exporting InDesign styles for CSS and HTML "InDesign writes and creates the CSS for you. This is not an option that I really recommend because InDesign, great as it is, does not write very good CSS. It tries to write CSS that is a very, very close match in appearance to your print layout and that's not necessarily Web-friendly."
Besides the design spaces - the page and the screen have different properties and behaviors.