Esempio n. 1
0
        ///
        ///	 * <param name="parser"> </param>
        ///	 * <param name="inSource"> </param>
        ///	 * <param name="bEraseEmpty">
        ///	 * @return </param>
        ///
        private JDFDoc runParser(XmlSourceSupport inSource, bool bEraseEmpty)
        {
            JDFDoc doc = new JDFDoc();

            try
            {
                XmlReaderSettings settings = new XmlReaderSettings();
                XmlReader         reader   = XmlTextReader.Create(inSource.Bytes, settings);
                base.Load(reader);
                doc.setMemberDoc((DocumentJDFImpl)this);
                if (bEraseEmpty)
                {
                    doc.getRoot().eraseEmptyNodes(true); // cleanup the XML
                }
            }
            catch (StackOverflowException)
            {
                m_lastExcept = null;
                doc          = null;
            }
            catch (Exception e)
            {
                m_lastExcept = e;
                doc          = null;
            }

            if (doc != null && m_ErrorHandler != null)
            {
                doc.setValidationResult(m_ErrorHandler.getXMLOutput());
                m_ErrorHandler.cleanXML(m_SchemaLocation);
            }

            if (doc != null)
            {
                KElement        root           = doc.getRoot();
                DocumentJDFImpl memberDocument = doc.getMemberDocument();
                string          namespaceURI   = root.getNamespaceURI();
                if (namespaceURI == null || !namespaceURI.ToLower().Contains(JDFConstants.CIP4ORG))
                {
                    memberDocument.bKElementOnly = true;
                    memberDocument.setIgnoreNSDefault(true);
                }
                else
                {
                    memberDocument.setIgnoreNSDefault(ignoreNSDefault);
                }
            }
            return(doc);
        }