Copy link to clipboard
Copied
I am evaluating Structured Framemaker 12 using DITA. I have placed a cross reference to several tables in my topics and want to reference them from the paragraph text e.g. Table 1, Table 2, etc. The Format Options I see are for DITA Default Format or for Figures (Figure, See_Figure, See_Title_and_Page, Title_and_Page) - none of which work. Any suggestions on what I'm doing wrong or missing?
Copy link to clipboard
Copied
It sounds like the default template isn't providing a cross-ref format set up for tables. You'll need to locate the structure application template(s) that you'e using, and add in the necessary cross-ref formats. You may also need to edit the EDD(s) to change the "type" of the id attribute in the <table> element definition from String to UniqueID. It may already be UniqueID, but if you try to make a cross-ref to a table and the table element doesn't show up in the list of available elements, the type isn't set to UniqueID.
Yes .. it's unfortunate that this isn't set up as one of the default formats.
…scott
Copy link to clipboard
Copied
Scott
If possible, I would like to avoid any EDD editing. I haven't needed to do so yet, for anything else in my DITA-based manuals. I had set this table cross-referencing issue aside, but now it's my only big one left.
Here's the XML that works for cross referencing figures:
<topic id=“id145FG104016” xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
...
<xref outputclass="fm:Figure" href="#id145FG104061/PDFcolourSetings” format="dita">Figure 1</xref>
...
<fig frame="all" id="PDFcolourSettings"><title>PDF ColourSettings</title><image href="../images/pdfSetup3.svg" height="293.810pt" width="454.559pt" align="center" id="image_lpd_g5x_sn" /></fig>
Where I have "Figure 1", the actual Figure number appears in the final book.
Here's the similar XML that doesn't work for cross referencing tables (except for Table 1):
<topic id=“id1486B0870BO” xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/">
...
<xref outputclass="table" href = "#id1486B0870BO/tableExample" type = "table" format = "dita">Table 1</xref>
...
<table frame = "all" colsep = "1" rowsep = "1" id = "tableExample"><title>Table Example</title>
Every table which I cross-reference like this appears as "Table 1" in the PDF output. Is this perhaps a Frame 12 bug or limitation? If so, maybe I need to go beyond the Forum and report it to Adobe?
Judith
Copy link to clipboard
Copied
Hi Judith...
The outputclass attribute value controls how the xref is formatted. In your figure xref, the outputclass is "fm:Figure" .. this tells FM to use the "Figure" cross-ref format, which is probably defined as "Figure <$paranumonly>" .. so it's going to do what you want by using the text "Figure" followed by the para num. In your table xref, the outputclass is set to "table", which isn't going to apply a cross-ref format at all so it leaves the text of the xref alone.
You could try just adding a new cross-ref format to the template named "Table" and give it the format of "Table <$paranumonly>" .. then set the outputclass to "fm:Table". This *might* work if you do this all manually in the XML, but in order to do it through the UI, FM won't show you the table as a valid target unless you edit the EDD and change the table/@id attribute to be a UniqueID.
You could try reporting this as a bug to Adobe .. it's really more of a deficiency than a bug though. It is assumed that you'll need to make modifications to the EDD and template. There's no way that Adobe can design a structure application that will please everyone. I would expect that their default template should support xrefs to tables though.
If you want this fixed in a reasonable time frame, you'll need to jump in and make the fix yourself (or pay someone else to do it for you). Feel free to contact me off-line if this is something that you want help with.
Thanks,
Scott Prentice
Leximation, Inc.
www.leximation.com