|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Can I put a variable to be interpreted in an xml
Hi Bart,
The fact is that I can redesign the source document, but I've no clue how. I see a perfect opportunity to help you design your application in a way that conforms well to the ideal XSLT development and subsequent transformation scenario so if you dont mind me jumping in to the middle of this thread here are a few pointers that will help you design your XML and XSLT in a way that is efficient as far as performance is concerned as well as easily maintainable and manageable. A few pointers and then some examples of what these pointers mean... - optimize your XML to contain only data that is marked up in a way that allows the XSLT processor to either use the element names to match to a template and/or contains the desired markup for your output stream that wont be changing and can simply be deep copied using xsl:copy-of. - Remove any sort of logic that requires non-xml processing to determine the value of the output. Think of it like this: This XML: <data><![CDATA[Please send comments to the <a href="{$web master}">web master</a> for this site]]></data> Would require extensive customized conditional logic and string processing that would then have to be matched against a data file to determine the proper replacement output. This same data could just as easily be written like this: <data>Please send comments to the <a href="web master">web master</a> for this site</data> And by using standard recursive template matching and a simple XML "lookup table" could be processed as simply as: <xsl:template match="a"> <xsl:variable name="href" select="@href"/> <a> <xsl:attribute name="href"><xsl:value-of select="document('href_values.xml')/links/href[@match_user = $href]/@href_value"/></xsl:attribute> <xsl:value-of select="."/> </a> </xsl:template> You could actually optimize this further by creating a variable at the beginning of your stylesheet that held the 'href_values.xml' file that could then be referenced anywhere in the stylesheet using the $ prefix appended to the chosen variable name using standard XPath to access the desired values in the same way the values were accessed using the document function followed by the proper XPath. Hopefully this will be enough information to help you design your xml and stylesheets in a way that can easily be processed and managed. Think how nice it will be when you hire a new web master and the only required change is to access the href_values.xml file and update the value associated with all web master links on the site to the new web masters email, personal page, or blog. Best of luck! <M:D/> I need to put a sentence in multiple languages in the XML document and one of the words should be a link, as follows:
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








