conkeyref to <steps> #FrameMaker #conref

Frank Dissinger

Hi Bob,

Thank you for your reply. I wasn't aware of this restriction. Seems illogical...

I entered the code you suggested (had to switch to XML View):

<steps conkeyref="key/id">

but FrameMaker still displays the error message on file save. The conkeyref is resolved, its content displayed, but the content after the conkeyref is discarded.

Error at file xxx.dita.591, line 12, char 133, Message: Expected an element name
Error at line 12, char 183, Message: No character data is allowed by content model
Error at line 12, char 191, Message: Empty content not valid for content model '(stepsection?,step)+'
Parse error at line 12, char 132: Not well-formed (invalid token)
Parsing aborted.

When I switch to XML View, I see the FrameMaker has replaced the dita code with the following:

<steps conkeyref = "key/id"><((stepsection)?,(step))></((stepsection)?,(step))></steps>

Has anyone found out what I have to do to make FrameMaker accept the code?

Thank you also to Lief, but FrameMaker does not even accept that code. It seems that a <cmd> element is also required.



Am 25.11.2019 um 16:10 schrieb Bob Thomas:
Hi Frank,

The content model for <steps> requires at least one <step>, and the content model for <step> requires at least one <cmd>. This true even when using @conref or @conkeyref. Try this:

<steps conkeyref="MyStepsKey">

The problem that you are having is exactly why I don't like the fact that the DITA content models require elements. This sort of restriction belongs in a Schematron that can be set up to not throw errors when @conref or @conkeyref are used.
Best regards,
Bob Thomas
Tagsmiths, LLC

Frank Dissinger

Documentation Manager


CGS Publishing Technologies International GmbH

Email frank.dissinger@... | Web

Address Kettelerstr. 24 | D-63512 Hainburg | Germany

Phone +49 6182 9626-27 | Fax +49 6182 9626-99

Commercial register Offenbach, HRB no. 21495

Managing directors Bernd Rückert, Andreas Kämmerer, Christoph Thommessen

Join to automatically receive all group messages.