First of all: BIG THANKS TO DAVID FOR TAKING THIS TOPIC SO SERIOUSLY AS TO HONOR IT WITH ITS OWN FORUM!!!
Second: BIG THANKS TO DOUGLAS FOR TAKING THIS TOPIC SO SERIOUSLY AS TO LOOK INTO IT. ADOBE’S DEVELOPERS ARE THE MOST-USER-INVOLVED I’VE SEEN IN MAJOR COMPANIES!
So, now, to the topic:
Hi, Douglas
I may have clouded the problem by presenting it with the larger context in which structured FrameMaker operates.
David’s made this SO EASY. By stating his two important desires (about position-aware paragraphs, anyway) he clears the air, IMO.
I agree that document-wide awareness is a MAJOR task. However, stepping back and looking at David’s points, reminds me to emphasize that the essential issue is paragraph formatting, not document parsing. So, I’d be happy to see lists behave with self-awareness. As a completely unaware-about-software-engineering person, I hope that limiting the task to lists will make it more possible to achieve. I don’t know if InDesign’s named lists offer enough of a hook to connect the context-aware formatting to, or if an additional identifier would be necessary, either a separate property item in the paragraph style definition, like nested styles or advance type, or if an additional check box in the list definition would suffice.
The main “gotcha” I see is where paragraphs use named numbered lists for paragraphs that aren’t contiguous, like headings and subheadings, table and graphic captions, etc. Context awareness behavior should be confined to operate within a contiguous set of paragraphs that have the context-awareness property. The context awareness property should be disabled in stand-alone paragraphs.
So, this isn’t formatting based on location within a story, but based on a style property. Boiled down, Structured FrameMaker’s context-aware formatting behavior is limited to paragraphs. The list awareness operations format paragraphs that bear the list property.
Not necessary to read more here, unless you want to know a little more about structured FrameMaker works.
FrameMaker’s structure is essentially based on an SGML/XML Document Type Definition (DTD.) This is a set of rules about the order of paragraph types (aka “elements”.) Those who know DTDs know this in detail. Simply it means that there’s a rule for a document type that says the first paragraph/element must be some kind of title, like chapter, volume, index, table of somethingorother, etc. There are rules that specify the paragraphs/elements that follow – which elements must come after which elements, which elements can be within specified other elements, which elements can contain specified elements.
There’s a way to indicate when rules are broken – a color is applied in a graphic map of the structure at the location of the violation, and/or a message or alert is presented.
This is something that advocates for improving InDesign’s XML probably hope to see in InDesign someday.