--------------------------------------------------
From: "buddhi" <buddhi(_at_)exceltech-lanka(_dot_)com>
Sent: Friday, January 25, 2008 10:09 AM
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: Re: [xsl] Filtering new tags
Yea that is exactly what I need but it is not working for me...
This is the way that I have used it...
XslTransform myXslTransform;
XPathDocument myXPathDocument = new XPathDocument ("C:\New.xml");
myXslTransform = new XslTransform();
myXslTransform.Load( sApplicationPath + @"\style.xsl" );
XmlTextWriter writer = new XmlTextWriter(sApplicationPath +
@"\NewTags.xml", System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
myXslTransform.Transform(myXPathDocument,null, writer, null);
writer.Flush();
writer.Close();
Above is using C# with msxml
- Buddhi -
Mukul Gandhi wrote:
I am getting similar result with MSXML 4.0 as well.
Following is the example I tried:
old.xml
----------
<root>
<data name="XY">
<value>XY Editor</value>
<comment>XY</comment>
</data>
</root>
new.xml
------------
<root>
<data name="DE">
<value>Drawing Editor</value>
<comment>DE</comment>
</data>
<data name="XY">
<value>XY Editor</value>
<comment>XY</comment>
</data>
<data name="PQ">
<value>PQ Editor</value>
<comment>PQ</comment>
</data>
</root>
The stylesheet is what you posted. Except, I added this line:
<xsl:output method="xml" encoding="UTF-8" /> (just to improve
serialization on the command prompt).
msxsl invocation produces following output:
C:\xml>msxsl new.xml test.xsl
<?xml version="1.0" encoding="UTF-8"?>
<newtags>
<data name="DE">
<value>Drawing Editor</value>
<comment>DE</comment>
</data>
<data name="PQ">
<value>PQ Editor</value>
<comment>PQ</comment>
</data></newtags>
Same output is produced with Xalan-J 2.7.1.
Is this what you are looking for? Or, we haven't understood your
requirement ...
On 1/25/08, buddhi <buddhi(_at_)exceltech-lanka(_dot_)com> wrote:
hi Gandi and all,
yes you are absolutely correct but I am not getting only newly added
text, I am getting old tags + newly added tags. I am using MS XSLT
- Buddhi -
That's using .NET's System.Xml, not MSXML.
I ran the suggested code within Visual Studio and it worked as expected.
However I changed:
XPathDocument myXPathDocument = new XPathDocument ("C:\New.xml");
to:
XPathDocument myXPathDocument = new XPathDocument ("@C:\New.xml");
and obviously populated sApplicationPath.
My code:
string sApplicationPath = @"<path to my project here>";
XslTransform myXslTransform;
XPathDocument myXPathDocument = new XPathDocument (sApplicationPath
+ @"\New.xml");
myXslTransform = new XslTransform();
myXslTransform.Load(sApplicationPath + @"\style.xslt");
XmlTextWriter writer = new XmlTextWriter(sApplicationPath +
@"\NewTags.xml", System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
myXslTransform.Transform(myXPathDocument, null, writer, null);
writer.Flush();
writer.Close();
Joe
http://joe.fawcett.name
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--