Skip to main content
Inspiring
January 21, 2010
Answered

Conrefs in xml files disappear in generated book file

  • January 21, 2010
  • 1 reply
  • 2193 views

I'm using FM 8 in Tech Comm Suite 1 in a Windows XP environment.

I've used a conref in a number of my topics. The conref is a note tag. I have just generated a book file and the conrefs are not displaying in my chapter files.  Why?

Thanks.

This topic has been closed for replies.
Correct answer ScottPrentice

Hi Mary...

Jumping to your last comment .. "The conref isn't in the table.  The entire table is the conref." .. maybe I missed it in earlier posts, but this changes everything. You're conreffing a "table" not a "note". The table may be used as a note or contain a note, but it sounds like you're making a conref to a table element. is this correct?

I believe that FM8 DITA has problems with conreffing tables. I can't validate this right now .. it may just be problems conreffing rows or cells .. I don't remember.

If you can only see the conref by using the Filter By Attribute command, something is *very* wrong.

When you generate the book and the FM document, are you generating those files to the same folder as the original map or DITA file? I ask because I'll bet that the value of the conref attribute .. "../Conref/<and so on>" may not be valid from the location that the new file has been created. FM8 DITA has a problem resolving references in book builds if the files aren't all in the same folder. I believe that it doesn't "fix up" the paths properly so that the references can update properly after the book or document has been created (this was fixed in FM9). I'll bet that if you create the book or document in the same folder as the original XML document that contains the conref reference, the conref will appear.

Do feel free to upload a ZIP of your sample DITA files to my inbox (listed in previous post).

However .. you might want to check out DITA-FMx (my plugin). This fixes the FM8 limitations as well as providing lots of other nice authoring and publishing features.

    http://leximation.com/dita-fmx/

The 30-day trial should give you plenty of time to make sure it does what it's supposed to.

Cheers,

...scott

Scott Prentice

Leximation, Inc.

www.leximation.com


Hi Mary...

Got your sample files.

OK, your structure is note/table .. a table within a note element .. you are conreffing a note element. In theory this *should* work and does for me under certain circumstances. I think your problem is your directory structure. FM8 DITA does not do a good job at resolving references in complex (or not so complex) directory structures. If you put all of the files in one folder (map, topics and conref source files) .. it will most likely work (if you build the FM document or book to that folder as well).

I'm running out right now so can't do any more extensive testing. Let me know if this helps at all .. I can check it out more tomorrow if you'd like.

Cheers,

...scott

1 reply

ScottPrentice
Inspiring
January 21, 2010

Hi...

Conrefs in FM8 were a little flaky under certain conditions. Are you up on the latest FM patch .. it should be 8.0p277.

I assume that when you reopen the topic file, the conref is properly built? Does the conref target live in a file that's included in the map or is it separate from the map?

When you build the book and go to the location where the conref should exist, is the <note> element still there (in the Structure View window), and if it is can you check the @conref attribute value .. is it pointing at something reasonable?

Do you have other conrefs in your files that are working?

Sorry for all the questions, but there are lots of reasons that this may not work.

...scott

Scott Prentice

Leximation, Inc.

www.leximation.com

cvgsAuthor
Inspiring
January 22, 2010

Scott,

Thanks for your quick response. A colleague and I spent hours on this yesterday.

My answer to your questions ( I don't seem to be able to format my responses to differentiate them from your questions - sorry):

Conrefs in FM8 were a little flaky under certain conditions. Are you up on the latest FM patch .. it should be 8.0p277. No, I'm on 8.0p266 and am a little hesitant to download something when I'm trying to meet a release deadline. I've been burned before by downloads.

I assume that when you reopen the topic file, the conref is properly built? Does the conref target live in a file that's included in the map or is it separate from the map? Below are the steps that we used to create the conref.

Here is what we did (again, sorry for the lack of numbering):

We created a separate topic for the conref note. We selected concept as the topic type.

We inserted the note tag within the paragraph tag in the conbody.

We created the text of the note.

We then requested an ID to identify the note and then inserted some descriptive text as a preface to the note id number. For example, cr_note_lock_id101M720KD5Z.

We saved the conref to a separate file that we maintain for conrefs. This is outside of the ditamap file for which we are generating the book.

We went to the task topic that calls the conref and placed our cursor at the point of insertion. Even though you can insert conrefs just about anywhere, we made sure that we inserted the conref in a location for which a note tag was appropriate.

We selected DITA > Insert Conref from the FM main toolbar.

We navigated to the location of the conref file,then selected the note element tag. This was easy to identify since we had inserted identifying text.

We then saved the file and generated the book file.

The conref did not display in the file. We reviewed the structure view and the ID of the note tag displayed what appeared to be a path to the location of the conref. It showed as \Conref\cr-note_lock_unlock_model.msl#cr_note_lock_unlock_id101LH01)C5Z/cr_note_lock_unlock_id101M720K05Z.

I'm not quite sure what you mean by the @conref attribute value. I'm assuming it's what I referred to as a path in the step above.

None of the other conrefs are working either, but I used the same conref throughout this book.

Thanks again for your interest in helping us out.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mary K. Greer

Information Developer - Learning Management Solutions

Intelligent Automation Solutions Client Services

Convergys

407.771.8187

ScottPrentice
Inspiring
January 22, 2010

Hi Mary...

I'd definitely suggest upgrading. Issues with conrefs were fixed in one of the patches .. don't know if this was the one or not, but this patch has been out there and in use for a long time now and I'd think that it should be fine. You can always roll back to a previous patch level if needed.

If the conref doesn't display properly in the topic file, it's not going to display in the book. I'm thinking that perhaps your conref file (the one that contains the target of the conref) is not formatted properly .. or not named properly. from your description, it looks like the file may be named "cr-note_lock_unlock_model.msl" .. these files must be DITA XML files and should be named with ".xml" or ".dita" file extensions. The topic type doesn't matter .. typically you'd use a "topic" topic for your conrefs since that'll hold most any element .. but it should woth with a "concept" topic as well.

It looks like the topic ID of this file is "cr_note_lock_unlock_id101LH01)C5Z" .. does it really have a right parenthesis in it (if so I'd delete it)? You can see the topic ID by looking in the Structure View window and expanding the attributes for the root (concept) element. Use the Attributes dialog to see the attributes if they are too long to fit in the Structure View window. Since a topic can hold lots of conref targets, typically the topic ID would be something more generic .. you don't need the "cr_note_lock_unlock_" portion .. but that shouldn't cause a problem.

My reference to the @conref attribute is basically the value you provided .. by convention, when  you see an "@somename" that means "somename attribute".

I'd start by creating a conref to an element that's in the same file. This is the most basic structure and should work in all cases .. get that working and then move on to making a conref to something in an external file.

Let me know how it goes.

...scott