/// <exception cref="Javax.Servlet.ServletException"/>
        public override void Init()
        {
            pipeline = new StanfordCoreNLP();
            string xslPath = GetServletContext().GetRealPath("/WEB-INF/data/CoreNLP-to-HTML.xsl");

            try
            {
                Builder  builder    = new Builder();
                Document stylesheet = builder.Build(new File(xslPath));
                corenlpTransformer = new XSLTransform(stylesheet);
            }
            catch (Exception e)
            {
                throw new ServletException(e);
            }
        }
        static void Main(string[] args)
        {
            var path = Path.GetFullPath(Path.Combine("..", ".."));

            Uri schematron    = new Uri(@"file:\\" + path + @"\docs\schematron.sch");
            Uri schematronxsl = new Uri(@"file:\\" + path + @"\xsl_2\iso_svrl_for_xslt2.xsl");

            Console.WriteLine(path + @"\docs\message.xml");

            /////////////////////////////////
            //// Transform original Schemtron
            /////////////////////////////////

            Stream schematrontransform = new XSLTransform().Transform(schematron, schematronxsl);

            ///////////////////////////////
            // Apply Schemtron xslt
            ///////////////////////////////
            FileStream xmlstream = new FileStream(path + @"\docs\message.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
            Stream     results   = new XSLTransform().Transform(xmlstream, schematrontransform);

            SchHelper.log(results, path + @"\docs\schematronError.xml");
            Console.ReadLine();
        }