As other threads have already covered, I've been updating an application from FM8 to FM2019 and I've just noticed what appears to be a change in behaviour that I'd like to understand.
When a user opens one of our XML documents in Frame, a pre-processing stylesheet is run which "expands" the document, pulling in the content of "included" sub-documents. This means that instead of having perhaps twenty-five separate tabs containing separate parts of a document, the user is able to edit in a single tab. When they save their changes, a post-processing stylesheet "collapses" the document into its constituent parts.
So if (say) the original document a.xml contains the element
<include srcfile="b.xml"/>
then the preprocessing step transforms this into
<included srcfile="b.xml">
<document..><title id="b1">Document B"</title>...</document>
</included>
Frame presents the user with what appears to be a single document, and the structural view shows an "included" element wrapped around the content extracted from the sub-document.
So far so good. The problem relates to the situation where the user wants to create a cross-reference and point it to the beginning of the included content.
In FM8 they would insert a cross reference, select from the current document, pick "title" from the element tag list, and then pick "Document B" from the matching element list. The resultant XML when the document was saved was valid, and it would round-trip. This absolutely worked, we relied on it all the time.
In FM2019 it seems to be a bit different. I go to insert a cross reference, pick "title", but now for some reason the element list contains the actual text of every title in the parent (wrapper) document, but any title in an included document appears in this list as "Included: b.xml Document B". I can select this element to link to, which puts that "included: b.xml Document B" string in the document view (ugh), but that's not the half of it. When I save the document it does not round-trip, and on opening the document again it reports
XML Read Messages (Document instance)
No cross-reference ID specified for the element (link).
Can anyone explain what is going on here?
cheers
T