Transformer.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:HTMLtoc 作者:
protected void index(XMLEvent event) throws XMLStreamException
 {
  final Location location = event.getLocation();
  try
  {
   if (event instanceof EndDocument)
   {
    if (null != context)
     trackContext(event);
    if (null != formatter)
    {
     formatter.end();
     conveyFormatted();
    }
    for (XMLEvent resumed : deferred)
     super.add(resumed);
    super.add(event);
   }
   else if (event instanceof EndElement && null != context && context.isEmpty())
   {
    EndElement close = (EndElement)event;
    if (!((StartElement)origin).getName().equals(close.getName()))
     throw new IllegalStateException("Unclosed " + describeEvent(origin) + ' '
         + describeLocation(origin.getLocation()));
    endContext();
    if (null != formatter)
    {
     formatter.closeItem(event);
     conveyFormatted();
    }
    deferred.add(event);
   }
   else if (null == context)
   {
    String id = null;
    if (null != formatter && formatter.accept(event))
    {
     event = assignIdToElement((StartElement)event);
     id = ((StartElement)event).getAttributeByName(ID_ATTR_QNAME).getValue();
    }
    deferred.add(event);
    if (null != id)
    {
     XMLEventFactory eventFactory = getXMLEventFactory();
     Set<Attribute> attrs = Collections.singleton(
eventFactory.createAttribute("name", id)
     );
     deferred.add(eventFactory.createStartElement(
DEFAULT_NS_PREFIX,
NULL_NS_URI,
"a",
attrs.iterator(),
Collections.EMPTY_SET.iterator()));
     deferred.add(eventFactory.createCharacters(" "));
     deferred.add(eventFactory.createEndElement(DEFAULT_NS_PREFIX, NULL_NS_URI, "a"));
     if (null != formatter)
     {
      formatter.openItem(event, id);
      conveyFormatted();
     }
     enterContext(event);
    }
   }
   else // null != context
   {
    trackContext(event);
    deferred.add(event);
    if (null != formatter)
    {
     formatter.addContent(event);
     conveyFormatted();
    }
   }
  }
  catch (RuntimeException error)
  {
   throw new XMLStreamException(error.getLocalizedMessage(), location, error);
  }
 }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号