Package org.apache.xerces.impl.xs

Source Code of org.apache.xerces.impl.xs.XSAnnotationImpl

package org.apache.xerces.impl.xs;

import java.io.IOException;
import java.io.StringReader;
import org.apache.xerces.dom.CoreDocumentImpl;
import org.apache.xerces.parsers.AbstractDOMParser;
import org.apache.xerces.parsers.AbstractSAXParser;
import org.apache.xerces.parsers.DOMParser;
import org.apache.xerces.parsers.SAXParser;
import org.apache.xerces.xs.XSAnnotation;
import org.apache.xerces.xs.XSNamespaceItem;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class XSAnnotationImpl
  implements XSAnnotation
{
  private String fData = null;
  private SchemaGrammar fGrammar = null;

  public XSAnnotationImpl(String paramString, SchemaGrammar paramSchemaGrammar)
  {
    this.fData = paramString;
    this.fGrammar = paramSchemaGrammar;
  }

  public boolean writeAnnotation(Object paramObject, short paramShort)
  {
    if ((paramShort == 1) || (paramShort == 3))
    {
      writeToDOM((Node)paramObject, paramShort);
      return true;
    }
    if (paramShort == 2)
    {
      writeToSAX((ContentHandler)paramObject);
      return true;
    }
    return false;
  }

  public String getAnnotationString()
  {
    return this.fData;
  }

  public short getType()
  {
    return 12;
  }

  public String getName()
  {
    return null;
  }

  public String getNamespace()
  {
    return null;
  }

  public XSNamespaceItem getNamespaceItem()
  {
    return null;
  }

  private synchronized void writeToSAX(ContentHandler paramContentHandler)
  {
    SAXParser localSAXParser = this.fGrammar.getSAXParser();
    StringReader localStringReader = new StringReader(this.fData);
    InputSource localInputSource = new InputSource(localStringReader);
    localSAXParser.setContentHandler(paramContentHandler);
    try
    {
      localSAXParser.parse(localInputSource);
    }
    catch (SAXException localSAXException)
    {
    }
    catch (IOException localIOException)
    {
    }
  }

  private synchronized void writeToDOM(Node paramNode, short paramShort)
  {
    Document localDocument1 = paramShort == 1 ? paramNode.getOwnerDocument() : (Document)paramNode;
    DOMParser localDOMParser = this.fGrammar.getDOMParser();
    StringReader localStringReader = new StringReader(this.fData);
    InputSource localInputSource = new InputSource(localStringReader);
    try
    {
      localDOMParser.parse(localInputSource);
    }
    catch (SAXException localSAXException)
    {
    }
    catch (IOException localIOException)
    {
    }
    Document localDocument2 = localDOMParser.getDocument();
    localDOMParser.dropDocumentReferences();
    Element localElement = localDocument2.getDocumentElement();
    Node localNode = null;
    if ((localDocument1 instanceof CoreDocumentImpl))
    {
      localNode = localDocument1.adoptNode(localElement);
      if (localNode == null)
        localNode = localDocument1.importNode(localElement, true);
    }
    else
    {
      localNode = localDocument1.importNode(localElement, true);
    }
    paramNode.insertBefore(localNode, paramNode.getFirstChild());
  }
}

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/thirdparty-all.jar
* Qualified Name:     org.apache.xerces.impl.xs.XSAnnotationImpl
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.apache.xerces.impl.xs.XSAnnotationImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.