getting confused about xref variables and paragraph tags

Fred Ridder docudoc at hotmail.com
Tue Jun 17 12:50:21 PDT 2008


A confused and frustrated Deirdre Reagan wrote (in part):
 
> 1. If we are crossreferencing back to paragraph tags, and we change
> the source paragraph tag, do we have to keep the fat black T? That
> seems awfully picky, since we just want to double click the line of
> text and type in our new text. To keep the T, we would have to click
> and backspace. Plus that T doesn't preceed the original cross
> reference. It appears only to indicate that this line of text has
> already been cross referenced. So it's absence shouldn't affect FM's
> ability to update cross references, right?
 
The key concept is that *all* cross-references are references to 
cross-reference markers, which show on screen as the same kind of 
T-shaped symbol as any other marker type (e.g., index entry marker,
hypertext marker, conditional text marker). When you create an x-ref,
you typically use the list of paragraphs display in the x-ref dialog, but
you are *not* referencing a specific paragraph, you are referencing
the paragraph where a specific x-ref marker is located. You are *not*
referencing a paragraph tag (since that is not a unique entity except
in the context of the Paragraph Catalog). You are *not* referencing
a variable, or a line, or a paragraph. You are referencing the marker
and retrieving information about where it is located (e.g., the text,
the autonumbering, the page number).
 
If there is no x-ref marker in the target paragraph you identify when
you create an x-ref, FrameMaker automatically creates one for you. 
Embedded in the marker is a semi-unique ID number plus a snippet 
of the text from the paragraph which may be useful to you if you 
later display the list of markers rather than the list of paragraphs of 
a particular type (but if you change the text of the paragraph, the 
text in the marker does not update to match, so it really isn't as
useful as you would think). 
 
What confuses a lot of FrameMaker users is the Paragraphs display
in the x-ref dialog. They think that because they picked a paragraph
to target with an x-ref, they have done something fundamentally 
different than if they had picked an item from the Markers list. The
Paragraphs list is just a convenient way for writers to identify the
place they want to refer to based on its tagging and content and
to automatically create an x-ref marker if one is needed. Once
they've identifed the location and there is an x-ref marker there,
the x-ref works just like every other x-ref--it points to an x-ref 
marker with a particular ID in a particfular file. In other words, the
Paragraphs display is only an alternative UI into the exact same
mechanism. 
 
The ID number embedded in the x-ref marker (the T) at the target
end of a cross-reference is the key to the whole x-ref mechanism. 
At the referencing location (where the text will appear), FrameMaker 
embeds some code that identifies the marker ID, the filename and 
relative path of the file that contains the marker, and information 
on what information to extract from the target paragraph and how 
to display it. Whenever you open the file that contains the x-ref, 
FrameMaker silently opens the file that is identified in the x-ref, looks 
for the marker by ID, and updates the result in the referring document. 
If it can't find the file, or if it can't open the file, or if it can't find the
marker with the specified ID when it searches the file, you get the
dreaded "unresolvced cross-reference" message. When you delete 
the x-ref marker on your title page, you make every reference that 
points to it becoime unresolved.
 
> 2. What was the original writer doing, making this line of text a
> paragraph tag and not a variable, like every other line of text on the
> page? Is there a good reason for this? (Probably a rhetorical
> question, but I thought I'd throw it out there, in case there is
> something everyone but me knows.)
 
You don't "make a line of text a paragraph tag". A paragraph tag is
a *property* or attribute that is applied to each and every paragraph
in a document to identify the formatting that will be applied to the
paragraph when it is rendered.
 
I guess what you're asking is why the writer entered this text string
as regular text instead of as a variable. But if you're consistently 
using the cross-reference mechanism to pull title page information 
into all of the component files I think the real question is why you
are using variables at all, since it is simply an unnecessary step. 
If everything is entered and handled as a variable, then once you
import the variable definitions from the title page into all the component
files you can reference the variables locally and never have to use
a cross-reference. You can accomplish the appearance of the same 
result either way, but it seems to me that using the two mechanisms
interchangeably in the same book has no benefit and only causes 
confusion among users and potential maintenance issues. 
 
> 3. Shouldn't I get rid of all these cross references and change them
> all to variables? That way I can update the variable once and it
> changes everywhere and there are no fat black Ts to worry about and no
> broken cross references for me to get super frustrated over. Or would
> I have to change the variable in each individual chapter?
 
In line with my preceding mini-rant, my advice would be to get rid of
the cross-references and use variables instead. Updating will become
a two-step process--first update the variables in the title page file,
then import the variable difinitions into all the component files--but 
you'll avoid unresolved cross-reference issues, and you won't create
dozens (or hundreds) of useless hyperlinks that will only take the
reader to the title page if followed. What you will have to do to make
the transition, though, is edit each chapter to change the inter-file 
x-refs (pointing to the title page file) into to local user variable 
references. -FR


More information about the framers mailing list