Skip to main content
Participating Frequently
August 20, 2008
Question

Updating cross-references in structured document

  • August 20, 2008
  • 5 replies
  • 1441 views
Hello,

I have structured document where I have cross-reference pointing to some other paragraph (so in this cross-reference's properties the Source Type is "Paragraph tags").

When I change text in the target paragraph and then try to update cross-references (Edit -> Update References... -> All Cross-References), it doesn't update the cross-reference and tells me that there is one unresolved cross-reference.

In FrameMaker7, in the same conditions (of course the document is unstructured), I can update the cross-reference without any problem.

Why is it not working in structured documents and is there any way to do it?

Thank you,
Standa.
This topic has been closed for replies.

5 replies

Participating Frequently
August 24, 2008
Well, I'm only plugin developer, the documents are being written by clients, I can't tell them which cross-reference type to use and which not.
frameexpert
Community Expert
Community Expert
August 20, 2008
Does your new marker's text match the old marker's text?

But that begs the question, why are you using marker-based cross-references in a structured document? As Van said, you should be using element-based cross-references.

I have written several FrameScript scripts that will convert marker-based cross-references to element-based cross-references. If you are interested, please contact me offlist.

Rick

rick at frameexpert dot com
www.frameexpert.com
Participating Frequently
August 20, 2008
Thank you very much Rick, that was exactly the cause (not that I accidentally deleted the marker, but I recreated the marker with F_ApiNewAnchoredObject() and it just doesn't work)
frameexpert
Community Expert
Community Expert
August 20, 2008
When you change text in the target paragraph, you could be accidently deleting the Cross-Ref marker, causing the cross-reference to be unresolved.

Rick
www.frameexpert.com
Known Participant
August 20, 2008
Standa,

In structured documents, you do not cross-reference paragraphs. Instead, you cross-reference elements. In the cross-reference dialog box, there is a source drop down list; in this list, select Elements, rather than paragraphs.

In addition, to make this work, any element that you expect to cross-reference to must have an attribute of type unique ID. For example, if you plan to cross-reference a section, then your Section element must have an attribute of type unique ID. The element that is the cross-reference must have an attribute of type ID reference; this attribute stores the value of the unique ID attribute in the source element of the cross-reference.

When you create cross-references to elements, your cross-reference formats will contains building blocks, such as $elemtext, instead of $paratext, that is the text of the source element rather than the text of the source paragraph.

When you have your cross-reference elements in place, you update them by updating the book, if using a book, or updating the document, as you did with unstructured books and documents.

This is all explained in the online help and the Structure Application Developer's Guide, which is included with FrameMaker as a PDF file.

Good luck,
Van