Topics

conkeyref to #FrameMaker #conref

Frank Dissinger
 

Hi list,


I can't create a conkey reference to the <steps> element. When I try to save, the following error message appears:


Error at file .../xxx.dita.B85, 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)


Is this a bug, a general DITA restriction (but why?) or a restriction of my tool (FrameMaker 11+DITA-FMx)?


Thank you.


Regards,

Frank

--

Frank Dissinger

Documentation Manager

....................................................................

CGS Publishing Technologies International GmbH

Email frank.dissinger@... | Web www.cgs-oris.com

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

Lief Erickson
 

In the referencing topic have you defined the <steps> element to include the required <step> element? You need one. You do not need more. The actual number of steps will be determined by the content you're pulling in.

<steps conkeyref="somekey">
   <step/>
</steps>

-Lief

On Mon, Nov 25, 2019 at 5:39 AM Frank Dissinger <frank.dissinger@...> wrote:

Hi list,


I can't create a conkey reference to the <steps> element. When I try to save, the following error message appears:


Error at file .../xxx.dita.B85, 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)


Is this a bug, a general DITA restriction (but why?) or a restriction of my tool (FrameMaker 11+DITA-FMx)?


Thank you.


Regards,

Frank

--

Frank Dissinger

Documentation Manager

....................................................................

CGS Publishing Technologies International GmbH

Email frank.dissinger@... | Web www.cgs-oris.com

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

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">
<step><cmd/></step>
</steps>

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
 

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">
<step><cmd/></step>
</steps>


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.


Regards,

Frank




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">
<step><cmd/></step>
</steps>

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 www.cgs-oris.com

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