Altova Mailing List Archives>Archive Index >comp.text.xml Archive Home >Recent entries >Thread Prev - Re: Identitity Template Problem - Best Practices - What order to make changes [Thread Next] Re: Identitity Template Problem - Best Practices - What order to make changesTo: NULL Date: 10/18/2009 7:41:00 PM On Oct 18, 8:01=A0pm, Joe Kesselman <keshlam.cat.nos...@verizon.net> wrote: > johkar wrote: > > 1) Do I work from the root element and go deeper so that I don't > > overwrite...in general what is the best strategy? > > You can't "overwrite" using XSLT. Things are output in the order, and > nesting, that the stylesheet outputs them in. Focus on what you want to > output and where you want to draw the information from. If the output > document will follow roughly the same structure as the input document, a > simple recursive tree walk via the xsl:apply-template operation and a > template for each node that needs special handling (typically with the > identity template as a catch-all for those nodes which can be copied > through unchanged) is best practice. In those places where the output > diverges from that structure, write the stylesheet logic "pull-style" -- > generate the appropriately nested elements/attributes/text, with > xsl:value or attribute value templates used to explicitly retrieve the > information. > > > 2) Do I have one identity template and one primary template match that > > I put all my apply-templates within so that nothing is copied to the > > output until all changes are made? > > XSLT does not "make changes". It generates a new output document, which > is typically (but not guaranteed to be) written to the output as > stylesheet processing takes place. If that isn't acceptable, I'd suggest > you have the stylesheet write to a buffer of some variety -- eg, build a > DOM tree -- which you can then process atomically. > > > 3) How can I use a common template to strip currency formatting for > > any section of the XML that I might also be doing other changes too? > > See the xsl:call-template operation, which essentially lets you use a > named template as a subroutine for other templates. Thanks for the reply. I think my main issue is that I was using push style ALL the time and using separate templates out of the XML structure sequence. I think I need to mix in push style when appropriate. I am familiar with call-template but still have some confusion on how one would use it to remove the currency formatting on any text() that meets the criteria. Can you provide any more guidance? | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
