private void parseXml()

in doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java [217:262]


    private void parseXml(XmlPullParser parser, Sink sink, String reference)
            throws XmlPullParserException, MacroExecutionException {
        sink.setDocumentLocator(new XmlPullParserLocator(parser, reference));
        int eventType = parser.getEventType();

        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_TAG) {
                handleStartTag(parser, sink);
            } else if (eventType == XmlPullParser.END_TAG) {
                handleEndTag(parser, sink);
            } else if (eventType == XmlPullParser.TEXT) {
                String text = getText(parser);

                if (isIgnorableWhitespace()) {
                    if (text.trim().length() != 0) {
                        handleText(parser, sink);
                    }
                } else {
                    handleText(parser, sink);
                }
            } else if (eventType == XmlPullParser.CDSECT) {
                handleCdsect(parser, sink);
            } else if (eventType == XmlPullParser.COMMENT) {
                handleComment(parser, sink);
            } else if (eventType == XmlPullParser.ENTITY_REF) {
                handleEntity(parser, sink);
            } else if (eventType == XmlPullParser.IGNORABLE_WHITESPACE) {
                // nop
            } else if (eventType == XmlPullParser.PROCESSING_INSTRUCTION) {
                // nop
            } else if (eventType == XmlPullParser.DOCDECL) {
                addLocalEntities(parser, parser.getText());

                for (byte[] res : CachedFileEntityResolver.ENTITY_CACHE.values()) {
                    addDTDEntities(parser, new String(res));
                }
            }

            try {
                eventType = parser.nextToken();
            } catch (IOException io) {
                // Does not have a cause arg
                throw new XmlPullParserException("Failed to parse next token", parser, io);
            }
        }
    }