<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FXML%2FStAX</id>
		<title>Java/XML/StAX - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FXML%2FStAX"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/XML/StAX&amp;action=history"/>
		<updated>2026-04-21T15:08:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/XML/StAX&amp;diff=8739&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/XML/StAX&amp;diff=8739&amp;oldid=prev"/>
				<updated>2010-06-01T07:11:14Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:11, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/XML/StAX&amp;diff=8738&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/XML/StAX&amp;diff=8738&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Create a StAX Event Tree Viewer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTree;&lt;br /&gt;
import javax.swing.tree.DefaultMutableTreeNode;&lt;br /&gt;
import javax.swing.tree.DefaultTreeModel;&lt;br /&gt;
import javax.xml.namespace.QName;&lt;br /&gt;
import javax.xml.stream.XMLEventReader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamConstants;&lt;br /&gt;
import javax.xml.stream.XMLStreamException;&lt;br /&gt;
import javax.xml.stream.events.Attribute;&lt;br /&gt;
import javax.xml.stream.events.Characters;&lt;br /&gt;
import javax.xml.stream.events.DTD;&lt;br /&gt;
import javax.xml.stream.events.StartDocument;&lt;br /&gt;
import javax.xml.stream.events.StartElement;&lt;br /&gt;
import javax.xml.stream.events.XMLEvent;&lt;br /&gt;
public class StAXEventTreeViewer extends JFrame {&lt;br /&gt;
  DefaultMutableTreeNode base = new DefaultMutableTreeNode(&amp;quot;XML File&amp;quot;);&lt;br /&gt;
  DefaultTreeModel defaultTreeModel= new DefaultTreeModel(base);&lt;br /&gt;
  private JTree jTree= new JTree(defaultTreeModel);&lt;br /&gt;
  public StAXEventTreeViewer()throws XMLStreamException, FileNotFoundException {&lt;br /&gt;
    setSize(800, 650);&lt;br /&gt;
    buildTree(defaultTreeModel, base, new File(&amp;quot;yourXML.xml&amp;quot;));&lt;br /&gt;
    getContentPane().add(new JScrollPane(jTree), BorderLayout.CENTER);&lt;br /&gt;
    setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    new StAXEventTreeViewer();&lt;br /&gt;
  }&lt;br /&gt;
  public void buildTree(DefaultTreeModel treeModel, DefaultMutableTreeNode current, File file)&lt;br /&gt;
      throws XMLStreamException, FileNotFoundException {&lt;br /&gt;
    XMLInputFactory inputFactory = XMLInputFactory.newInstance();&lt;br /&gt;
    XMLEventReader reader = inputFactory.createXMLEventReader(new FileInputStream(file));&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      XMLEvent event = reader.nextEvent();&lt;br /&gt;
      switch (event.getEventType()) {&lt;br /&gt;
      case XMLStreamConstants.START_DOCUMENT:&lt;br /&gt;
        StartDocument startDocument = (StartDocument) event;&lt;br /&gt;
        DefaultMutableTreeNode version = new DefaultMutableTreeNode(startDocument.getVersion());&lt;br /&gt;
        current.add(version);&lt;br /&gt;
        current.add(new DefaultMutableTreeNode(startDocument.isStandalone()));&lt;br /&gt;
        current.add(new DefaultMutableTreeNode(startDocument.standaloneSet()));&lt;br /&gt;
        current.add(new DefaultMutableTreeNode(startDocument.encodingSet()));&lt;br /&gt;
        current.add(new DefaultMutableTreeNode(startDocument.getCharacterEncodingScheme()));&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.START_ELEMENT:&lt;br /&gt;
        StartElement startElement = (StartElement) event;&lt;br /&gt;
        QName elementName = startElement.getName();&lt;br /&gt;
        DefaultMutableTreeNode element = new DefaultMutableTreeNode(elementName.getLocalPart());&lt;br /&gt;
        current.add(element);&lt;br /&gt;
        current = element;&lt;br /&gt;
        if (!elementName.getNamespaceURI().equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
          String prefix = elementName.getPrefix();&lt;br /&gt;
          if (prefix.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
            prefix = &amp;quot;[None]&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          DefaultMutableTreeNode namespace = new DefaultMutableTreeNode(&amp;quot;prefix=&amp;quot;&lt;br /&gt;
              + prefix + &amp;quot;,URI=&amp;quot; + elementName.getNamespaceURI());&lt;br /&gt;
          current.add(namespace);&lt;br /&gt;
        }&lt;br /&gt;
        for (Iterator it = startElement.getAttributes(); it.hasNext();) {&lt;br /&gt;
          Attribute attr = (Attribute) it.next();&lt;br /&gt;
          DefaultMutableTreeNode attribute = new DefaultMutableTreeNode(&amp;quot;Attribute (name=&amp;quot;&lt;br /&gt;
              + attr.getName().getLocalPart() + &amp;quot;,value=&amp;quot; + attr.getValue() + &amp;quot;&amp;quot;)&amp;quot;);&lt;br /&gt;
          String attURI = attr.getName().getNamespaceURI();&lt;br /&gt;
          if (!attURI.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
            String attPrefix = attr.getName().getPrefix();&lt;br /&gt;
            if (attPrefix.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
              attPrefix = &amp;quot;[None]&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
            attribute.add(new DefaultMutableTreeNode(&amp;quot;prefix = &amp;quot; + attPrefix + &amp;quot;, URI = &amp;quot; + attURI));&lt;br /&gt;
          }&lt;br /&gt;
          current.add(attribute);&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.END_ELEMENT:&lt;br /&gt;
        current = (DefaultMutableTreeNode) current.getParent();&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.CHARACTERS:&lt;br /&gt;
        Characters characters = (Characters) event;&lt;br /&gt;
        if (!characters.isIgnorableWhiteSpace() &amp;amp;&amp;amp; !characters.isWhiteSpace()) {&lt;br /&gt;
          String data = characters.getData();&lt;br /&gt;
          if (data.length() != 0) {&lt;br /&gt;
            current.add(new DefaultMutableTreeNode(characters.getData()));&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.DTD:&lt;br /&gt;
        DTD dtde = (DTD) event;&lt;br /&gt;
        current.add(new DefaultMutableTreeNode(dtde.getDocumentTypeDeclaration()));&lt;br /&gt;
      default:&lt;br /&gt;
        System.out.println(event.getClass().getName());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Load XML document to a tree with XML stream reader ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileNotFoundException;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTree;&lt;br /&gt;
import javax.swing.tree.DefaultMutableTreeNode;&lt;br /&gt;
import javax.swing.tree.DefaultTreeModel;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLStreamConstants;&lt;br /&gt;
import javax.xml.stream.XMLStreamException;&lt;br /&gt;
import javax.xml.stream.XMLStreamReader;&lt;br /&gt;
public class StAXStreamTreeViewer extends JFrame {&lt;br /&gt;
  private JTree jTree;&lt;br /&gt;
  DefaultTreeModel defaultTreeModel;&lt;br /&gt;
  public StAXStreamTreeViewer()throws Exception {&lt;br /&gt;
    StAXStreamTreeViewer viewer = new StAXStreamTreeViewer();&lt;br /&gt;
    File file = new File(&amp;quot;yourXML.xml&amp;quot;);&lt;br /&gt;
    DefaultMutableTreeNode base = new DefaultMutableTreeNode(&amp;quot;XML Document: &amp;quot;&lt;br /&gt;
        + file.getAbsolutePath());&lt;br /&gt;
    defaultTreeModel = new DefaultTreeModel(base);&lt;br /&gt;
    jTree = new JTree(defaultTreeModel);&lt;br /&gt;
    buildTree(defaultTreeModel, base, file);&lt;br /&gt;
    getContentPane().add(new JScrollPane(jTree), BorderLayout.CENTER);&lt;br /&gt;
    viewer.setVisible(true);&lt;br /&gt;
    setSize(800, 450);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args)throws Exception {&lt;br /&gt;
    new StAXStreamTreeViewer();&lt;br /&gt;
  }&lt;br /&gt;
  public void buildTree(DefaultTreeModel treeModel, DefaultMutableTreeNode current, File file)&lt;br /&gt;
      throws XMLStreamException, FileNotFoundException {&lt;br /&gt;
    FileInputStream inputStream = new FileInputStream(file);&lt;br /&gt;
    XMLInputFactory inputFactory = XMLInputFactory.newInstance();&lt;br /&gt;
    XMLStreamReader reader = inputFactory.createXMLStreamReader(inputStream);&lt;br /&gt;
    addStartDocumentNodes(reader, current);&lt;br /&gt;
    parseRestOfDocument(reader, current);&lt;br /&gt;
  }&lt;br /&gt;
  private void addStartDocumentNodes(XMLStreamReader reader, DefaultMutableTreeNode current) {&lt;br /&gt;
    DefaultMutableTreeNode version = new DefaultMutableTreeNode(reader.getVersion());&lt;br /&gt;
    current.add(version);&lt;br /&gt;
    DefaultMutableTreeNode standalone = new DefaultMutableTreeNode(reader.isStandalone());&lt;br /&gt;
    current.add(standalone);&lt;br /&gt;
    DefaultMutableTreeNode standaloneSet = new DefaultMutableTreeNode(reader.standaloneSet());&lt;br /&gt;
    current.add(standaloneSet);&lt;br /&gt;
    DefaultMutableTreeNode encoding = new DefaultMutableTreeNode(reader.getEncoding());&lt;br /&gt;
    current.add(encoding);&lt;br /&gt;
    DefaultMutableTreeNode declaredEncoding = new DefaultMutableTreeNode(reader.getCharacterEncodingScheme());&lt;br /&gt;
    current.add(declaredEncoding);&lt;br /&gt;
  }&lt;br /&gt;
  private void parseRestOfDocument(XMLStreamReader reader, DefaultMutableTreeNode current)&lt;br /&gt;
      throws XMLStreamException {&lt;br /&gt;
    while (reader.hasNext()) {&lt;br /&gt;
      int type = reader.next();&lt;br /&gt;
      switch (type) {&lt;br /&gt;
      case XMLStreamConstants.START_ELEMENT:&lt;br /&gt;
        DefaultMutableTreeNode element = new DefaultMutableTreeNode(reader.getLocalName());&lt;br /&gt;
        current.add(element);&lt;br /&gt;
        current = element;&lt;br /&gt;
        if (reader.getNamespaceURI() != null) {&lt;br /&gt;
          String prefix = reader.getPrefix();&lt;br /&gt;
          if (prefix == null) {&lt;br /&gt;
            prefix = &amp;quot;[None]&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          DefaultMutableTreeNode namespace = new DefaultMutableTreeNode(&amp;quot;prefix = &amp;quot;&amp;quot;&lt;br /&gt;
              + prefix + &amp;quot;&amp;quot;, URI = &amp;quot;&amp;quot; + reader.getNamespaceURI() + &amp;quot;&amp;quot;&amp;quot;);&lt;br /&gt;
          current.add(namespace);&lt;br /&gt;
        }&lt;br /&gt;
        if (reader.getAttributeCount() &amp;gt; 0) {&lt;br /&gt;
          for (int i = 0; i &amp;lt; reader.getAttributeCount(); i++) {&lt;br /&gt;
            DefaultMutableTreeNode attribute = new DefaultMutableTreeNode(&amp;quot;Attribute (name = &amp;quot;&amp;quot;&lt;br /&gt;
                + reader.getAttributeLocalName(i) + &amp;quot;&amp;quot;, value = &amp;quot;&amp;quot; + reader.getAttributeValue(i)&lt;br /&gt;
                + &amp;quot;&amp;quot;)&amp;quot;);&lt;br /&gt;
            String attURI = reader.getAttributeNamespace(i);&lt;br /&gt;
            if (attURI != null) {&lt;br /&gt;
              String attPrefix = reader.getAttributePrefix(i);&lt;br /&gt;
              if (attPrefix == null || attPrefix.equals(&amp;quot;&amp;quot;)) {&lt;br /&gt;
                attPrefix = &amp;quot;[None]&amp;quot;;&lt;br /&gt;
              }&lt;br /&gt;
              DefaultMutableTreeNode attNamespace = new DefaultMutableTreeNode(&lt;br /&gt;
                  &amp;quot;prefix=&amp;quot; + attPrefix + &amp;quot;,URI=&amp;quot; + attURI);&lt;br /&gt;
              attribute.add(attNamespace);&lt;br /&gt;
            }&lt;br /&gt;
            current.add(attribute);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.END_ELEMENT:&lt;br /&gt;
        current = (DefaultMutableTreeNode) current.getParent();&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.CHARACTERS:&lt;br /&gt;
        if (!reader.isWhiteSpace()) {&lt;br /&gt;
          DefaultMutableTreeNode data = new DefaultMutableTreeNode(&amp;quot;CD:&amp;quot;&lt;br /&gt;
              + reader.getText());&lt;br /&gt;
          current.add(data);&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.DTD:&lt;br /&gt;
        DefaultMutableTreeNode dtd = new DefaultMutableTreeNode(&amp;quot;DTD:&amp;quot; + reader.getText());&lt;br /&gt;
        current.add(dtd);&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.SPACE:&lt;br /&gt;
        break;&lt;br /&gt;
      case XMLStreamConstants.ruMENT:&lt;br /&gt;
        DefaultMutableTreeNode comment = new DefaultMutableTreeNode(reader.getText());&lt;br /&gt;
        current.add(comment);&lt;br /&gt;
        break;&lt;br /&gt;
      default:&lt;br /&gt;
        System.out.println(type);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Validate Stax ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
/*&lt;br /&gt;
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.&lt;br /&gt;
 * &lt;br /&gt;
 * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.&lt;br /&gt;
 * &lt;br /&gt;
 * The contents of this file are subject to the terms of either the GNU&lt;br /&gt;
 * General Public License Version 2 only (&amp;quot;GPL&amp;quot;) or the Common Development&lt;br /&gt;
 * and Distribution License(&amp;quot;CDDL&amp;quot;) (collectively, the &amp;quot;License&amp;quot;).  You&lt;br /&gt;
 * may not use this file except in compliance with the License. You can obtain&lt;br /&gt;
 * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html&lt;br /&gt;
 * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific&lt;br /&gt;
 * language governing permissions and limitations under the License.&lt;br /&gt;
 * &lt;br /&gt;
 * When distributing the software, include this License Header Notice in each&lt;br /&gt;
 * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.&lt;br /&gt;
 * Sun designates this particular file as subject to the &amp;quot;Classpath&amp;quot; exception&lt;br /&gt;
 * as provided by Sun in the GPL Version 2 section of the License file that&lt;br /&gt;
 * accompanied this code.  If applicable, add the following below the License&lt;br /&gt;
 * Header, with the fields enclosed by brackets [] replaced by your own&lt;br /&gt;
 * identifying information: &amp;quot;Portions Copyrighted [year]&lt;br /&gt;
 * [name of copyright owner]&amp;quot;&lt;br /&gt;
 * &lt;br /&gt;
 * Contributor(s):&lt;br /&gt;
 * &lt;br /&gt;
 * If you wish your version of this file to be governed by only the CDDL or&lt;br /&gt;
 * only the GPL Version 2, indicate your decision by adding &amp;quot;[Contributor]&lt;br /&gt;
 * elects to include this software in this distribution under the [CDDL or GPL&lt;br /&gt;
 * Version 2] license.&amp;quot;  If you don&amp;quot;t indicate a single choice of license, a&lt;br /&gt;
 * recipient has the option to distribute your version of this file under&lt;br /&gt;
 * either the CDDL, the GPL Version 2 or to extend the choice of license to&lt;br /&gt;
 * its licensees as provided above.  However, if you add GPL Version 2 code&lt;br /&gt;
 * and therefore, elected the GPL Version 2 license, then the option applies&lt;br /&gt;
 * only if the new code is made subject to such option by the copyright&lt;br /&gt;
 * holder.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * Validate.java&lt;br /&gt;
 *&lt;br /&gt;
 * Created on May 28, 2005, 3:02 PM&lt;br /&gt;
 */&lt;br /&gt;
import java.io.File;&lt;br /&gt;
import java.io.FileInputStream;&lt;br /&gt;
import java.io.FileWriter;&lt;br /&gt;
import javax.xml.XMLConstants;&lt;br /&gt;
import javax.xml.stream.XMLEventReader;&lt;br /&gt;
import javax.xml.stream.XMLInputFactory;&lt;br /&gt;
import javax.xml.stream.XMLOutputFactory;&lt;br /&gt;
import javax.xml.validation.Schema;&lt;br /&gt;
import javax.xml.validation.SchemaFactory;&lt;br /&gt;
import javax.xml.validation.Validator;&lt;br /&gt;
/**&lt;br /&gt;
 * &lt;br /&gt;
 * @author pv156767&lt;br /&gt;
 */&lt;br /&gt;
public class ValidateStax {&lt;br /&gt;
  /**&lt;br /&gt;
   * @param args&lt;br /&gt;
   *          the command line arguments&lt;br /&gt;
   */&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    try {&lt;br /&gt;
      // TODO code application logic here&lt;br /&gt;
      SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);&lt;br /&gt;
      System.out.println(&amp;quot;schema factory instance obtained is &amp;quot; + sf);&lt;br /&gt;
      Schema schema = sf.newSchema(new File(args[0]));&lt;br /&gt;
      System.out.println(&amp;quot;schema obtained is = &amp;quot; + schema);&lt;br /&gt;
      // Get a Validator which can be used to validate instance document against&lt;br /&gt;
      // this grammar.&lt;br /&gt;
      Validator validator = schema.newValidator();&lt;br /&gt;
      // Validate this instance document against the Instance document supplied&lt;br /&gt;
      String fileName = args[1].toString();&lt;br /&gt;
      String fileName2 = args[2].toString();&lt;br /&gt;
      javax.xml.transform.Result xmlResult = new javax.xml.transform.stax.StAXResult(&lt;br /&gt;
          XMLOutputFactory.newInstance().createXMLStreamWriter(new FileWriter(fileName2)));&lt;br /&gt;
      javax.xml.transform.Source xmlSource = new javax.xml.transform.stax.StAXSource(&lt;br /&gt;
          getXMLEventReader(fileName));&lt;br /&gt;
      // validator.validate(new StreamSource(args[1]));&lt;br /&gt;
      validator.validate(xmlSource, xmlResult);&lt;br /&gt;
    } catch (Exception ex) {&lt;br /&gt;
      ex.printStackTrace();&lt;br /&gt;
      System.out.println(&amp;quot;GET CAUSE&amp;quot;);&lt;br /&gt;
      ex.getCause().fillInStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private static XMLEventReader getXMLEventReader(String filename) {&lt;br /&gt;
    XMLInputFactory xmlif = null;&lt;br /&gt;
    XMLEventReader xmlr = null;&lt;br /&gt;
    try {&lt;br /&gt;
      xmlif = XMLInputFactory.newInstance();&lt;br /&gt;
      xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.TRUE);&lt;br /&gt;
      xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);&lt;br /&gt;
      xmlif.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);&lt;br /&gt;
      xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.TRUE);&lt;br /&gt;
      FileInputStream fis = new FileInputStream(filename);&lt;br /&gt;
      xmlr = xmlif.createXMLEventReader(filename, fis);&lt;br /&gt;
    } catch (Exception ex) {&lt;br /&gt;
      ex.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
    return xmlr;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>