DITA: How to move the figure title below the image?

New Here ,
Mar 13, 2017 Mar 13, 2017

Copy link to clipboard

Copied

I’m using DITA and I want to move the figure title below the
graphic.

I tried to change the general rule of the Element <fig> in the
EDD like this:

(figgroup |
dl | parml | image| lines | lq | note | hazardstatement | object | ol | p | pre
| codeblock | msgblock | screen | sl | ul | data | data-about | fn | foreign |
unknown | simpletable | fm-xref | xref), (title)?, (desc)?*

After this change it is possible to insert the element <title>
after the element <image>.

But when saving the XML-document after the changes I get the
following XML parser message: (Document Instance): Element title is not valid
for the content model

What’s going wrong?

TOPICS
Structured

Views

671

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Mar 13, 2017 Mar 13, 2017

Copy link to clipboard

Copied

With this "hack", you're making it possible for the author to create invalid DITA XML. Of course, you can do such a change in the EDD, but then your EDD is no longer in line with the DITA specification, that explicitly has the structure of placing the title element "before" the image. In the DITA DTD the structure is explicitly set to be "title first, then the image":

                                                                                                                                                                                             

DoctypeContent model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap( (title) (optional) then (desc) (optional) then (figgroup or dl or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or data or data-about or fn or foreign or unknown or simpletable or xref) (any number) )

(Source: fig )

Or in other words, with the approach you take, you would need to change the DITA DTD. But then it's no longer DITA 😉

One possibility might be to transform the elements with an XSLT during opening and saving the DITA XML, so that it remains valid in the DITA code but is also "temporarily valid" in FrameMaker in the way you want. But that's, well, naahhh, no. It's a little bit like telling your kid: "You can use that F-word at home any time you want and it's okay, but not outside in public".

The best approach would be probably to specialize DITA and set up your construction properly there. But that's a little bit more effort and doing it only for a visual effect would be a little bit of an overhead.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Mar 13, 2017 Mar 13, 2017

Copy link to clipboard

Copied

Hi,

as Stefan mention DITA specifies that a title must be set before the image. That's OK. And for me there is no need to change the structure. But DITA specialization is always recommended, not at least as this is part of DITA's concept. But the reason for specialization can't only be this fig-title issue.

Think about deviding content and layout, and you will find the solution. Of course you want to have the title below the image, as all my German customers wants this that way. But you don't need to change your data creation process and data structure. You have to change your publishing process to achieve this.

And FrameMaker offers a solution for this in ditafm-output.ini. There is a setting

MoveFigureTitleToFollowImage=0

(this is default in FM 2015 and below)

Change this to

MoveFigureTitleToFollowImage=1

(this is default in FM 2017)

This little change puts the title below the Image when publishing your content.

Take care: ditafm-output.ini is located in FM-Installation Directory and your user Profile. Use file in your user Profile for your Tests and if this fits your Needs publish this to your coleaques.

BTW: AFAIK you are located in Germany. If you need further assist and some explanations in German get in touch by PM.

Markus

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 09, 2020 Oct 09, 2020

Copy link to clipboard

Copied

Markus,

Or anyone really, could you explain how I get permission to modify the ditafm-output.ini file to get the results I want?

Thanks,

Wanda

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Oct 10, 2020 Oct 10, 2020

Copy link to clipboard

Copied

LATEST

No worries, I figured it out. Thanks.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines