Subject: [xsl] RE: Merge Process on Unix PC From: "Shailesh Shinde" <shailesh@xxxxxxxxxxxx> Date: Fri, 30 Sep 2005 11:10:19 +0530 |
Hi, I have to do a merge process on Unix PC using Saxon. Input xml file: "Input.xml" <?xml version="1.0" encoding="UTF-8"?> <helpdata> <file fileloc="Test/Panel/xml/ftp1.xml" /> <file fileloc=" Test/Panel/xml/ftp2.xml" /> </helpdata> There is a Test/Panel/xml folder in which my xml files will be there. Input xsl for the same is: "Input.xsl" <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no"/> <xsl:template match="/"> <xsl:element name="help"> <xsl:attribute name='noNamespaceSchemaLocation' namespace="http://www.w3.org/2001/XMLSchema-instance"> <xsl:text>master_main.xsd</xsl:text></xsl:attribute > <product name="trical" major_release="10" minor_release="0"> <onlinehelp> <xsl:for-each select="helpdata/file"> <fileloc> <xsl:attribute name="path"> <xsl:value-of select="concat(substring-before(concat(substring-before(@fileloc,'/xml/'),'/ html/',substring-after(@fileloc,'/xml/')),'.xml'),'.htm')"/> </xsl:attribute><xsl:text> </xsl:text> <xsl:apply-templates select="document(@fileloc)/onlinehelp/topic"/> </fileloc> </xsl:for-each> </onlinehelp> </product> </xsl:element> </xsl:template> I am merging xml files with the above XSL. My ftp1.xml is like: <?xml version="1.0" encoding="UTF-8"?> <onlinehelp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../main.xsd"> <topic type="concept"> <paragraph style="lessspace">ABCDEFGHIJKLMNOP</paragraph> <paragraph style="lessspace">123456789</paragraph> </topic> </onlinehelp> My ftp2.xml is like: <?xml version="1.0" encoding="UTF-8"?> <onlinehelp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../main.xsd"> <topic type="concept"> <paragraph style="lessspace">QRSTUVWXYZ</paragraph> <paragraph style="lessspace">10111213141516171819</paragraph> </topic> </onlinehelp> The final output file which I need is: "Panel.xml" <?xml version="1.0" encoding="UTF-8"?> <help> <product name=" trical" major_release="10" minor_release="0"> <onlinehelp> <fileloc path="Test/Panel/xml/ftp1.htm"> <topic type="concept"> <paragraph style="lessspace">ABCDEFGHIJKLMNOP</paragraph> <paragraph style="lessspace">123456789</paragraph> </topic> </fileloc> <fileloc path="Test/Panel/xml/ftp2.htm"> <topic type="concept"> <paragraph style="lessspace">QRSTUVWXYZ</paragraph> <paragraph style="lessspace">10111213141516171819</paragraph> </topic> </fileloc> </onlinehelp> </product> </help> If u see final output file it merges the topic in the fileloc as in input.xml. For the same I have Merge.xml file which contains the following: "Merge.xml" <?xml version="1.0" encoding="ISO-8859-1"?> <project name="MyTask" basedir="." default="build"> <property name="dir.in" value="E:\Testing\"/> <target name="build" depends="Panel"/> <target name="Panel"> <exec dir="${dir.in}" executable="cmd" failonerror="true"> <arg line="/c msxsl -o Panel.xml input.xml Input.xsl"/> </exec> </target> </project> Here I have used msxsl for transformation; now on Unix PC msxsl is not there I have to do this process using Saxon. What I do in this case. Thanks, Shailesh
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: Another <xsl:key> pro, Ragulf Pickaxe | Thread | [xsl] performance of very very bad , bryan rasmussen |
Re: [xsl] Retaining Entity refrence, UlyLee | Date | Re: [xsl] Retaining Entity refrence, David Carlisle |
Month |