OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Take a look at MS NET XML impl

[ Lists Home | Date Index | Thread Index ]

If you don't have the latest version of window or don't do windows at 
all, you can still get a look on how NET does XML.

The Rotor project from MS, is an implementation of NET (the ECMA 
standard, I think!) for FreeBSD. If you download the Rotor for FreeBSD, 
you also get the Csharp source code for the XML impl. + others. You can 
get Rotor here : http://msdn.microsoft.com/net/sscli/ (aprox. 11.5 MB).

Since Csharp is almost Java + some extra tricks (Don't flame me on 
this! ) This means that if you can read Java you can also read the 
Csharp code. If you want to know the difference between Java and Csharp, 
then read this article: 
http://genamics.com/developer/csharp_comparative.htm . That will get you 
started.

It seams that the you are allowed to modify the code, and even 
redistribute the code, but not for commercial use. (Look at the rotor 
license at the bottom of this message) I don't know if you are allowed 
to convert the Csharp code to Java, so that you can test the NET impl of 
xml on a Java VM (if you don't have access to the latest version of 
windows) but it should be possible to do.

The Csharp source code in rotor includes code for, xslt, xml schema, 
xpath, soap, XmlTextReader + more.


Here is a little Csharp app, that shows the NET xml in action: (more 
examples at http://staff.develop.com/aarons)

// if this works, it was written by Aaron Skonnard
// http://staff.develop.com/aarons

using System;
using System.Xml;
using System.Xml.Xsl;

public class TransformationUtility
{
      public static void transformDocument(String strXML, String strXSLT, 
XmlWriter xw)
      {
          try
          {
               // load the source document (to be transformed)
               XmlDocument docSource = new XmlDocument();
               docSource.Load(strXML);

               // wrap it with an XmlNavigator
               DocumentNavigator navSource = new 
DocumentNavigator(docSource);

               // create the XslTransform object
               XslTransform tr = new XslTransform();

               // load it with the stylesheet
               tr.Load(strXSLT);

               // call transform - output streamed to console
               tr.Transform(navSource, null, xw);
          }
          catch(XmlException e)
          {
               Console.WriteLine("###error: " + e.Message);
          }
      }

      public static void Main(String[] args)
      {
          if (args.Length < 2)
          {
               Console.WriteLine("usage: xslt sourcedoc xsltdoc 
[outdoc]");
               return;
          }
          if (args.Length == 3)
          {
               // create an XmlTextWriter to a file on disk
               XmlTextWriter tw = new XmlTextWriter(args[2], null);
               transformDocument(args[0], args[1], tw);
               return;
          }
          // otherwise send output to console
          transformDocument(args[0], args[1], new 
XmlTextWriter(Console.Out));
      }
}


Niels Peter



The rotor license:
------------------------------------------------------------------------------------------

MICROSOFT SHARED SOURCE CLI, C#, AND JSCRIPT LICENSE

This License governs use of the accompanying Software, and your use of 
the Software constitutes acceptance of this license.

You may use this Software for any non-commercial purpose, subject to the 
restrictions in this license. Some purposes which can be
non-commercial are teaching, academic research, and personal 
experimentation.   You may also distribute this Software with books or
other teaching materials, or publish the Software on websites, that are 
intended to teach the use of the Software.

You may not use or distribute this Software or any derivative works in 
any form for commercial purposes.  Examples of commercial purposes would 
be running business operations, licensing, leasing, or selling the 
Software, or distributing the Software for use with commercial products.

You may modify this Software and distribute the modified Software for 
non-commercial purposes, however, you may not grant rights to the 
Software or derivative works that are broader than those provided by 
this License.   For example, you may not distribute modifications of the 
Software under terms that would permit commercial use, or under terms 
that purport to require the Software or derivative works to be 
sublicensed to others.

You may use any information in intangible form that you remember after 
accessing the Software.  However, this right does not grant you a 
license to any of Microsoft's copyrights or patents for anything you 
might create using such information.

In return, we simply require that you agree:

1. Not to remove any copyright or other notices from the Software.

2. That if you distribute the Software in source or object form, you 
will include a verbatim copy of this license.

3. That if you distribute derivative works of the Software in source 
code form you do so only under a license that includes all of the 
provisions of this License, and if you distribute derivative works of 
the Software solely in object form you do so only under a license that 
complies with this License.
	
4. That if you have modified the Software or created derivative works, 
and distribute such modifications or derivative works, you will cause 
the modified files to carry prominent notices so that recipients know 
that they are not receiving the original Software.  Such notices must 
state: (i) that you have changed the Software; and (ii) the date of any 
changes.

5. THAT THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES.  THIS MEANS NO 
EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT LIMITATION, 
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY 
WARRANTY OF TITLE OR NON-INFRINGEMENT.  ALSO, YOU MUST PASS THIS 
DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR DERIVATIVE WORKS.

6. THAT MICROSOFT WILL NOT BE LIABLE FOR ANY DAMAGES RELATED TO THE 
SOFTWARE OR THIS LICENSE, INCLUDING DIRECT, INDIRECT, SPECIAL, 
CONSEQUENTIAL OR INCIDENTAL DAMAGES, TO THE MAXIMUM EXTENT THE LAW 
PERMITS, NO MATTER WHAT LEGAL THEORY IT IS BASED ON.  ALSO, YOU MUST 
PASS THIS LIMITATION OF LIABILITY ON WHENEVER YOU DISTRIBUTE THE 
SOFTWARE OR DERIVATIVE WORKS.

7. That if you sue anyone over patents that you think may apply to the 
Software or anyone's use of the Software, your license to the Software 
ends automatically.

8. That your rights under the License end automatically if you breach it 
in any way.

9. Microsoft reserves all rights not expressly granted to you in this 
license.





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS