- From: Ingram, Eugene <Eugene.Ingram@compaq.com>
- Date: Wed, 29 Aug 2001 14:59:11 -0700
- To: www-xsl-fo@w3.org
You wrote: "If there is some obvious way, then please tell me and I'll be suitable embarrassed. If there is some non-obvious way, then I will be very pleased to learn how to accomplish this." I have discovered the latter. :) One of my tasks as a consultant for an XML project in the organization is to implement change bars. I'm about to write HTML coding, which may display as HTML output rather than raw HTML code on the web newsgroup to which I'm replying. Those wanting to see the raw HTML code will need to display the Source in the browser (View, Source). Each time an XML element is tagged by ArborText as "changed" (ALT-A in ArborText), this attribute is given to the tagged element: revisionflag="changed" Now it's a matter of writing an XSL style sheet that applies the following HTML code to all elements that are tagged as "changed" by ArborText. (Of course you can add any suitably named attribute such as changebars="yes" to any element using a text editor before using the style sheet.) HTML code for change bars: <!-- XSL Change Bars example by Eugene Ingram Jr (ingram@usa.net) --> <P>To implement this example, assign an attribute (such as changebars) to each element in the XML file that has been changed. (In ArborText you can place the cursor on each changed paragraph, then press ALT-A to add an element "revisionflag" and mark it as "changed".) Then create an XSL stylesheet that applies the HTML tag called DIV to ONLY changed elements, closing /DIV immediately after each changed element, by formatting DIV as follows:</P> <DIV STYLE="position:relative;left:0px;border-right-style:solid; border-left-width:2px;border-left-color:#000000;"> <P>This is CHANGED element text such as found in a PARA element. Element text can be one line or an entire paragraph. Change bars are applied to entire element. If element comprises a paragraph then the change bars appear to the left ('border-left-style') or the right ('border-right-style') of each line in the paragraph. I have tested right and left instances of this code by pasting all commented text in this XML Change Bars example into the file "test.html", and opening file in the latest versions of Netscape and Explorer. The change bars display to the left of this paragraph.<P> </DIV> <P>Notice that the text outside the above tagged paragraph (which could be an element comprising a paragraph of text in your XML file) does not display change bars.</P> <!-- End of XSL Change Bars example --> On Tue, 8 May 2001 02:01:13 -0400 (EDT) Jim Melton <jim.melton@acm.org> wrote (quoted part relevant to reply): As some of you may know, I am responsible for producing a series of documents (the ISO SQL standard) that is frequently updated and distributed to a largish group of people for on-going development work. Change bars are essential to allow participants to readily see what has changed amongst about 2,000 pages of text. I am currently producing these documents using DECdocument, but am in the process of converting them to XML, producing PDF via XSL FO (using RenderX's XEP product). I do not immediately see how to implement change bars through XSLT and XSL FO. Of course, I am capable of defining (in a DTD or Schema) tags/elements such as "Start a changebar section" and "End the current changebar section", as well as "At this point, indicate that something was deleted", and I am happy to place such tags/elements at the appropriate places in my XML files as I edit them. I am even reasonably confident of my ability to write XSLT to create XSL FO appropriately. The problem is, of course, getting those tags/elements to result in change bars alongside the margins of the page. If there is some obvious way, then please tell me and I'll be suitable embarrassed. If there is some non-obvious way, then I will be very pleased to learn how to accomplish this. If there is no known way, then I'll be disappointed ;^)
Received on Wednesday, 29 August 2001 17:59:50 UTC