Thanks to Rick Quatro and Scott Prentice for their replies to my query below.
I ended up writing an XSL identity transform to take care of the issue of having three attributes. The identity transforms processes all elements and attributes by copying them. It then overrides the existing IndexTerm element with the following template: <!-- Match all <IndexTerm> elements and place all LevelTwo and LevelThree attribute values in the LevelOne attribute, separated by a colon. --> <xsl:template match = "IndexTerm"> <xsl:element name = "IndexTerm"> <xsl:attribute name = "LevelOne"> <xsl:value-of select = "@LevelOne"/> <xsl:if test = "@LevelTwo">:<xsl:value-of select = "@LevelTwo"/> </xsl:if> <xsl:if test = "@LevelThree">:<xsl:value-of select = "@LevelThree"/> </xsl:if> </xsl:attribute> <xsl:apply-templates/> </xsl:element> </xsl:template> The template creates a new IndexTerm element with only one attribute, LevelOne. The transform reads the value of the existing LevelOne attribute. If a LevelTwo attribute exists, the transform adds a colon and the value of the LevelTwo attribute to the new LevelOne attribute. It then checks for the existance of a LevelThree attribute and, if found, adds another colon and the value of the LevelThree attribute. Bottom line is that the new IndexTerm element has a single attribute created by getting the value of the old LevelOne attribute, adding a colon, adding the value of the old LevelTwo attribute, adding another colon, and finally, adding the value of the old LevelThree attribute. I run the transform before opening the XML in FrameMaker. I have to do this manually because I'm still using FM 7.1. If you have 7.2 you can automate this process. The read/write rule for IndexTerm looks like this: element "IndexTerm" { is fm marker element "IndexTerm"; attribute "LevelOne" is fm property marker text; } I hope this helps someone else. M Marsha Lofthouse Motorola, Inc., Public Safety Applications North America Government & Commercial Markets Division Boulder Design Center [EMAIL PROTECTED] 303.527.4178 ----- Original Message ----- From: "Lofthouse Marsha-PT1816" <[EMAIL PROTECTED]> To: <framers@lists.frameusers.com> Sent: Wednesday, December 20, 2006 4:26 PM Subject: Structured FM and Index Markers I'm in the process of converting some XML documents created with an application that is not FrameMaker using a DTD that does not match ours. I'm close, thanks to the generous help of people on this list. Today's issue is index markers. The source XML looks like this: <IndexTerm LevelOne="location management screen" LevelTwo="edit location attributes" /> where Index Term is the element and LevelOne and LevelTwo are attributes. There can also be a LevelThree. My read/write rules relating to IndexTerm are: element "IndexTerm" { is fm marker element "IndexTerm"; attribute "LevelOne" is fm property marker text; attribute "LevelTwo" is fm property marker text; attribute "LevelThree" is fm property marker text; } However, only the LevelOne text is coming into the FM index marker. So the questions are: 1. How do I get the values of LevelTwo and LevelThree attributes to also translate into the FM index marker? 2. How do I place the appropriate punctuation in the index marker? (e.g., The index marker for the example above should be "location management screen:edit location attributes". Notice the colon between the LevelOne and LevelTwo attribute values.) Thanks in advance to anyone who has time to look at this at this busy time of the year. M Marsha Lofthouse Motorola, Inc., Public Safety Applications North America Government & Commercial Markets Division Boulder Design Center [EMAIL PROTECTED] 303.527.4178 _______________________________________________ You are currently subscribed to Framers as [EMAIL PROTECTED] Send list messages to [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] or visit http://lists.frameusers.com/mailman/options/framers/frameexpert%40truevi ne.net Send administrative questions to [EMAIL PROTECTED] Visit http://www.frameusers.com/ for more resources and info. _______________________________________________ You are currently subscribed to Framers as [EMAIL PROTECTED] Send list messages to [EMAIL PROTECTED] To unsubscribe send a blank email to [EMAIL PROTECTED] or visit http://lists.frameusers.com/mailman/options/framers/archive%40mail-archive.com Send administrative questions to [EMAIL PROTECTED] Visit http://www.frameusers.com/ for more resources and info.