java类javax.xml.stream.events.DTD的实例源码

DTDEvent.java 文件源码 项目:lookaside_java-1.8.0-openjdk 阅读 24 收藏 0 点赞 0 评论 0
protected void init(){
    setEventType(XMLEvent.DTD);
}
StaxEventXMLReader.java 文件源码 项目:spring 阅读 26 收藏 0 点赞 0 评论 0
@Override
protected void parseInternal() throws SAXException, XMLStreamException {
    boolean documentStarted = false;
    boolean documentEnded = false;
    int elementDepth = 0;
    while (this.reader.hasNext() && elementDepth >= 0) {
        XMLEvent event = this.reader.nextEvent();
        if (!event.isStartDocument() && !event.isEndDocument() && !documentStarted) {
            handleStartDocument(event);
            documentStarted = true;
        }
        switch (event.getEventType()) {
            case XMLStreamConstants.START_DOCUMENT:
                handleStartDocument(event);
                documentStarted = true;
                break;
            case XMLStreamConstants.START_ELEMENT:
                elementDepth++;
                handleStartElement(event.asStartElement());
                break;
            case XMLStreamConstants.END_ELEMENT:
                elementDepth--;
                if (elementDepth >= 0) {
                    handleEndElement(event.asEndElement());
                }
                break;
            case XMLStreamConstants.PROCESSING_INSTRUCTION:
                handleProcessingInstruction((ProcessingInstruction) event);
                break;
            case XMLStreamConstants.CHARACTERS:
            case XMLStreamConstants.SPACE:
            case XMLStreamConstants.CDATA:
                handleCharacters(event.asCharacters());
                break;
            case XMLStreamConstants.END_DOCUMENT:
                handleEndDocument();
                documentEnded = true;
                break;
            case XMLStreamConstants.NOTATION_DECLARATION:
                handleNotationDeclaration((NotationDeclaration) event);
                break;
            case XMLStreamConstants.ENTITY_DECLARATION:
                handleEntityDeclaration((EntityDeclaration) event);
                break;
            case XMLStreamConstants.COMMENT:
                handleComment((Comment) event);
                break;
            case XMLStreamConstants.DTD:
                handleDtd((DTD) event);
                break;
            case XMLStreamConstants.ENTITY_REFERENCE:
                handleEntityReference((EntityReference) event);
                break;
        }
    }
    if (documentStarted && !documentEnded) {
        handleEndDocument();
    }

}
XMLEventWriterImpl.java 文件源码 项目:javify 阅读 23 收藏 0 点赞 0 评论 0
public void add(XMLEvent event)
  throws XMLStreamException
{
  QName name;
  String uri;
  switch (event.getEventType())
    {
    case XMLStreamConstants.START_ELEMENT:
      StartElement startElement = event.asStartElement();
      name = startElement.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeStartElement(name.getPrefix(), name.getLocalPart(), uri);
      else
        writer.writeStartElement(name.getLocalPart());
      break;
    case XMLStreamConstants.END_ELEMENT:
      writer.writeEndElement();
      break;
    case XMLStreamConstants.ATTRIBUTE:
      Attribute attribute = (Attribute) event;
      name = attribute.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeAttribute(name.getPrefix(), uri, name.getLocalPart(),
                              attribute.getValue());
      else
        writer.writeAttribute(name.getLocalPart(), attribute.getValue());
      break;
    case XMLStreamConstants.NAMESPACE:
      Namespace namespace = (Namespace) event;
      uri = namespace.getNamespaceURI();
      writer.writeNamespace(namespace.getPrefix(), uri);
      break;
    case XMLStreamConstants.PROCESSING_INSTRUCTION:
      ProcessingInstruction pi = (ProcessingInstruction) event;
      String data = pi.getData();
      if (data == null)
        writer.writeProcessingInstruction(pi.getTarget());
      else
        writer.writeProcessingInstruction(pi.getTarget(), data);
      break;
    case XMLStreamConstants.COMMENT:
      Comment comment = (Comment) event;
      writer.writeComment(comment.getText());
      break;
    case XMLStreamConstants.START_DOCUMENT:
      StartDocument startDocument = (StartDocument) event;
      writer.writeStartDocument(startDocument.getVersion());
      break;
    case XMLStreamConstants.END_DOCUMENT:
      writer.writeEndDocument();
      break;
    case XMLStreamConstants.DTD:
      DTD dtd = (DTD) event;
      writer.writeDTD(dtd.getDocumentTypeDeclaration());
      break;
    case XMLStreamConstants.CHARACTERS:
    case XMLStreamConstants.SPACE:
      Characters characters = event.asCharacters();
      writer.writeCharacters(characters.getData());
      break;
    case XMLStreamConstants.CDATA:
      Characters cdata = event.asCharacters();
      writer.writeCData(cdata.getData());
      break;
    }
}
DTDImpl.java 文件源码 项目:javify 阅读 24 收藏 0 点赞 0 评论 0
public int getEventType()
{
  return DTD;
}
XMLEventFactoryImpl.java 文件源码 项目:javify 阅读 21 收藏 0 点赞 0 评论 0
public DTD createDTD(String dtd)
{
  return new DTDImpl(location, dtd, null,
                     Collections.EMPTY_LIST,
                     Collections.EMPTY_LIST);
}
XMLEventWriterImpl.java 文件源码 项目:jvm-stm 阅读 24 收藏 0 点赞 0 评论 0
public void add(XMLEvent event)
  throws XMLStreamException
{
  QName name;
  String uri;
  switch (event.getEventType())
    {
    case XMLStreamConstants.START_ELEMENT:
      StartElement startElement = event.asStartElement();
      name = startElement.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeStartElement(name.getPrefix(), name.getLocalPart(), uri);
      else
        writer.writeStartElement(name.getLocalPart());
      break;
    case XMLStreamConstants.END_ELEMENT:
      writer.writeEndElement();
      break;
    case XMLStreamConstants.ATTRIBUTE:
      Attribute attribute = (Attribute) event;
      name = attribute.getName();
      uri = name.getNamespaceURI();
      if (uri != null && !"".equals(uri))
        writer.writeAttribute(name.getPrefix(), uri, name.getLocalPart(),
                              attribute.getValue());
      else
        writer.writeAttribute(name.getLocalPart(), attribute.getValue());
      break;
    case XMLStreamConstants.NAMESPACE:
      Namespace namespace = (Namespace) event;
      uri = namespace.getNamespaceURI();
      writer.writeNamespace(namespace.getPrefix(), uri);
      break;
    case XMLStreamConstants.PROCESSING_INSTRUCTION:
      ProcessingInstruction pi = (ProcessingInstruction) event;
      String data = pi.getData();
      if (data == null)
        writer.writeProcessingInstruction(pi.getTarget());
      else
        writer.writeProcessingInstruction(pi.getTarget(), data);
      break;
    case XMLStreamConstants.COMMENT:
      Comment comment = (Comment) event;
      writer.writeComment(comment.getText());
      break;
    case XMLStreamConstants.START_DOCUMENT:
      StartDocument startDocument = (StartDocument) event;
      writer.writeStartDocument(startDocument.getVersion());
      break;
    case XMLStreamConstants.END_DOCUMENT:
      writer.writeEndDocument();
      break;
    case XMLStreamConstants.DTD:
      DTD dtd = (DTD) event;
      writer.writeDTD(dtd.getDocumentTypeDeclaration());
      break;
    case XMLStreamConstants.CHARACTERS:
    case XMLStreamConstants.SPACE:
      Characters characters = event.asCharacters();
      writer.writeCharacters(characters.getData());
      break;
    case XMLStreamConstants.CDATA:
      Characters cdata = event.asCharacters();
      writer.writeCData(cdata.getData());
      break;
    }
}
DTDImpl.java 文件源码 项目:jvm-stm 阅读 22 收藏 0 点赞 0 评论 0
public int getEventType()
{
  return DTD;
}
XMLEventFactoryImpl.java 文件源码 项目:jvm-stm 阅读 47 收藏 0 点赞 0 评论 0
public DTD createDTD(String dtd)
{
  return new DTDImpl(location, dtd, null,
                     Collections.EMPTY_LIST,
                     Collections.EMPTY_LIST);
}
StAXEncoder.java 文件源码 项目:exificient 阅读 19 收藏 0 点赞 0 评论 0
public void encode(XMLStreamReader xmlStream) throws XMLStreamException,
        EXIException, IOException {

    // StartDocument should be initial state
    assert (xmlStream.getEventType() == XMLStreamConstants.START_DOCUMENT);

    writeStartDocument();

    while (xmlStream.hasNext()) {
        int event = xmlStream.next();
        switch (event) {
        case XMLStreamConstants.START_DOCUMENT:
            // should have happened beforehand
            throw new EXIException("Unexpected START_DOCUMENT event");
        case XMLStreamConstants.END_DOCUMENT:
            this.writeEndDocument();
            break;
        case XMLStreamConstants.START_ELEMENT:
            QName qn = xmlStream.getName();
            String pfx = qn.getPrefix();
            writeStartElement(pfx, qn.getLocalPart(), qn.getNamespaceURI());
            // parse NS declarations
            int nsCnt = xmlStream.getNamespaceCount();
            for (int i = 0; i < nsCnt; i++) {
                String nsPfx = xmlStream.getNamespacePrefix(i);
                nsPfx = nsPfx == null ? Constants.XML_DEFAULT_NS_PREFIX
                        : nsPfx;
                String nsUri = xmlStream.getNamespaceURI(i);
                this.writeNamespace(nsPfx, nsUri);
            }
            // parse attributes
            int atCnt = xmlStream.getAttributeCount();
            for (int i = 0; i < atCnt; i++) {
                QName atQname = xmlStream.getAttributeName(i);
                this.writeAttribute(atQname.getPrefix(),
                        atQname.getNamespaceURI(), atQname.getLocalPart(),
                        xmlStream.getAttributeValue(i));
            }

            break;
        case XMLStreamConstants.END_ELEMENT:
            writeEndElement();
            break;
        case XMLStreamConstants.NAMESPACE:
            break;
        case XMLStreamConstants.CHARACTERS:
            this.writeCharacters(xmlStream.getTextCharacters(),
                    xmlStream.getTextStart(), xmlStream.getTextLength());
            break;
        case XMLStreamConstants.SPACE:
            // @SuppressWarnings("unused")
            String ignorableSpace = xmlStream.getText();
            writeCharacters(ignorableSpace);
            break;
        case XMLStreamConstants.ATTRIBUTE:
            // @SuppressWarnings("unused")
            // int attsX = xmlStream.getAttributeCount();
            break;
        case XMLStreamConstants.PROCESSING_INSTRUCTION:
            this.writeProcessingInstruction(xmlStream.getPITarget(),
                    xmlStream.getPIData());
            break;
        case XMLStreamConstants.COMMENT:
            this.writeComment(xmlStream.getText());
            break;
        case XMLStreamConstants.DTD:
            // TODO DTD
            break;
        case XMLStreamConstants.ENTITY_REFERENCE:
            // TODO ER
            break;
        default:
            System.out.println("Event '" + event + "' not supported!");
        }
    }

    // this.flush();
}
StaxUtils.java 文件源码 项目:techytax-zk 阅读 31 收藏 0 点赞 0 评论 0
public static void writeEvent(XMLEvent event, XMLStreamWriter writer)
    throws XMLStreamException {

    switch (event.getEventType()) {
    case XMLEvent.START_ELEMENT:
        writeStartElementEvent(event, writer);
        break;
    case XMLEvent.END_ELEMENT:
        writer.writeEndElement();
        break;
    case XMLEvent.ATTRIBUTE: 
        writeAttributeEvent(event, writer);
        break;
    case XMLEvent.ENTITY_REFERENCE:
        writer.writeEntityRef(((javax.xml.stream.events.EntityReference)event).getName());
        break;
    case XMLEvent.DTD:
        writer.writeDTD(((DTD)event).getDocumentTypeDeclaration());
        break;
    case XMLEvent.PROCESSING_INSTRUCTION:
        if (((javax.xml.stream.events.ProcessingInstruction)event).getData() != null) {
            writer.writeProcessingInstruction(
                ((javax.xml.stream.events.ProcessingInstruction)event).getTarget(), 
                ((javax.xml.stream.events.ProcessingInstruction)event).getData());
        } else {
            writer.writeProcessingInstruction(
                ((javax.xml.stream.events.ProcessingInstruction)event).getTarget());
        }
        break;
    case XMLEvent.NAMESPACE:
        if (((Namespace)event).isDefaultNamespaceDeclaration()) {
            writer.writeDefaultNamespace(((Namespace)event).getNamespaceURI());
            writer.setDefaultNamespace(((Namespace)event).getNamespaceURI());
        } else {
            writer.writeNamespace(((Namespace)event).getPrefix(),
                                  ((Namespace)event).getNamespaceURI());
            writer.setPrefix(((Namespace)event).getPrefix(),
                             ((Namespace)event).getNamespaceURI()); 
        }
        break;
    case XMLEvent.COMMENT:
        writer.writeComment(((javax.xml.stream.events.Comment)event).getText());
        break;
    case XMLEvent.CHARACTERS:
    case XMLEvent.SPACE:
        writer.writeCharacters(event.asCharacters().getData());
        break;
    case XMLEvent.CDATA:
        writer.writeCData(event.asCharacters().getData());
        break;
    case XMLEvent.START_DOCUMENT:
        if (((StartDocument)event).encodingSet()) {
            writer.writeStartDocument(((StartDocument)event).getCharacterEncodingScheme(),
                                      ((StartDocument)event).getVersion());

        } else {
            writer.writeStartDocument(((StartDocument)event).getVersion());
        }
        break;
    case XMLEvent.END_DOCUMENT:
        writer.writeEndDocument();
        break;
    default:
        //shouldn't get here
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号