I am interested in editing the underlying the underlying structure of a generic EDD. More specifically, I would like to add nested formatting and structure rule options to a context rule. For example, in my table definition I want to make the InitialStructurePattern rule context sensitive, as shown below:
I know that I have seen at least one tutorial video from Tom Aldous or one of the other greats that mentions the file that defines the underlying EDD structure, but I can't pinpoint it in the FM folders. Does anyone know where this file is located?
The initial structure pattern is not context-sensitive. An FDK client or a script could achieve the same effect by inserting a new table, testing its context, and then changing the structure of the new table accordingly. Such a programming effort would either have to hard code the contexts to test and the desired initial structure patterns, parse the syntax used in an EDD for these two parts of a table definition, or support its own way of specifying such configuration information.
As far as finding the file that defines the "underlying EDD structure," the FrameMaker distribution does not include a meta-EDD, that is, an EDD for EDDs. However, an EDD is a structured document and hence uses its own set of element definitions. As with any structured document, you can use the StructureTools > Export Element Catalog as EDD command, to create a new EDD that has these element definitions. You can save and edit the result and use the modified meta-EDD to make a variation of the underlying EDD structure. The variation can define additional documentation elements (such as notes, lists, and tables) and change the formatting. Furthermore, most element definitions have a comment that identifies the element's function for the part of FrameMaker that processes an EDD. For example, the definition of InitialStructurePattern starts with a Comments that contains Fm_init_struct_pattern. As long as you leave the Comments alone, I believe you can change the element tag.
However, you cannot modify the basic functionality of an EDD because the components of FM that process EDDs as well as the components that insert, modify, and format elements won't know about new functionality. Your example of context-sensitive initial structure patterns, which could be quite useful, is typical of the type of change in EDDs that you cannot currently make.