List<ParsedItem> parse() throws IOException, XMLStreamException { while (reader.hasNext()) { parseNext(); } return results; }
private static SMInputFactory initStax() { XMLInputFactory xmlFactory = XMLInputFactory2.newInstance(); xmlFactory.setProperty(IS_COALESCING, TRUE); xmlFactory.setProperty(IS_NAMESPACE_AWARE, FALSE); xmlFactory.setProperty(SUPPORT_DTD, FALSE); xmlFactory.setProperty(IS_VALIDATING, FALSE); return new SMInputFactory(xmlFactory); }
void parseNext() throws IOException, XMLStreamException { switch (reader.next()) { case XMLStreamConstants.START_ELEMENT: handleStartElement(); break; case XMLStreamConstants.CHARACTERS: if (parseToken) { char[] text = reader.getTextCharacters(); token.append(text, reader.getTextStart(), reader.getTextLength()); } break; case XMLStreamConstants.END_ELEMENT: handleEndElement(); break; default: break; } } }
return new CharactersEventImpl(loc, r.getText(), true); case CHARACTERS: return new CharactersEventImpl(loc, r.getText(), false); case COMMENT: return new CommentEventImpl(loc, r.getText()); case DTD: DTDInfo dtd = sr2.getDTDInfo(); return new WDTD(loc, dtd.getDTDRootName(), dtd.getDTDSystemId(), dtd.getDTDPublicId(), dtd.getDTDInternalSubset(), (DTDSubset) dtd.getProcessedDTD()); return new EndDocumentEventImpl(loc); return new EndElementEventImpl(loc, r); return new ProcInstrEventImpl(loc, r.getPITarget(), r.getPIData()); case SPACE: CharactersEventImpl ch = new CharactersEventImpl(loc, r.getText(), false); ch.setWhitespaceStatus(true); return ch; return new StartDocumentEventImpl(loc, r); nsCtxt = ((XMLStreamReader2) r).getNonTransientNamespaceContext();
switch (sr.getEventType()) { case START_DOCUMENT: String version = sr.getVersion(); if (sr.standaloneSet()) { writeStartDocument(sr.getVersion(), sr.getCharacterEncodingScheme(), sr.isStandalone()); } else { writeStartDocument(sr.getCharacterEncodingScheme(), sr.getVersion()); copyStartElement(impl.getInputElementStack(), impl.getAttributeCollector()); } else { // otherwise impl from Stax ref. impl (Stax2WriterImpl) has to do: super.copyStartElement(sr); sr.getText(wrapAsRawWriter(), preserveEventData); sr.getText(wrapAsRawWriter(), preserveEventData); mWriter.writeCDataEnd(); return; sr.getText(wrapAsTextWriter(), preserveEventData); sr.getText(wrapAsRawWriter(), preserveEventData); mWriter.writeCommentEnd(); mWriter.writePIStart(sr.getPITarget(), true);
public void writeStartElement(XMLStreamReader2 reader, XMLStreamWriter2 writer) throws XMLStreamException { String uri = reader.getNamespaceURI(); String prefix = reader.getPrefix(); String local = reader.getLocalName(); writer.writeStartElement(prefix, local, uri); // Write out the namespaces for (int i = 0; i < reader.getNamespaceCount(); i++) { String nsURI = reader.getNamespaceURI(i); String nsPrefix = reader.getNamespacePrefix(i); writer.writeNamespace(nsPrefix, nsURI); } }
public void writeDTD(DTDInfo info) throws XMLStreamException { writeDTD(info.getDTDRootName(), info.getDTDSystemId(), info.getDTDPublicId(), info.getDTDInternalSubset()); }
private void handleStartProperty() { confName = null; confValue = null; confFinal = false; confTag = null; confSource.clear(); // First test for short format configuration int attrCount = reader.getAttributeCount(); for (int i = 0; i < attrCount; i++) { String propertyAttr = reader.getAttributeLocalName(i); if ("name".equals(propertyAttr)) { confName = StringInterner.weakIntern( reader.getAttributeValue(i)); } else if ("value".equals(propertyAttr)) { confValue = StringInterner.weakIntern( reader.getAttributeValue(i)); } else if ("final".equals(propertyAttr)) { confFinal = "true".equals(reader.getAttributeValue(i)); } else if ("source".equals(propertyAttr)) { confSource.add(StringInterner.weakIntern( reader.getAttributeValue(i))); } else if ("tag".equals(propertyAttr)) { confTag = StringInterner .weakIntern(reader.getAttributeValue(i)); } } }
protected void _reportProblem(XMLReporter rep, XMLValidationProblem prob) throws XMLStreamException { if (rep != null) { Location loc = prob.getLocation(); if (loc == null) { loc = getLastCharLocation(); prob.setLocation(loc); } // Backwards-compatibility fix: add non-null type, if missing: if (prob.getType() == null) { prob.setType(ErrorConsts.WT_VALIDATION); } // [WSTX-154]: was catching and dropping thrown exception: shouldn't. // [WTSX-157]: need to support XMLReporter2 if (rep instanceof XMLReporter2) { ((XMLReporter2) rep).report(prob); } else { rep.report(prob.getMessage(), prob.getType(), prob, loc); } } }
private void handleStartElement() throws XMLStreamException, IOException { switch (reader.getLocalName()) { case "property": handleStartProperty(); break; case "name": case "value": case "final": case "source": case "tag": parseToken = true; token.setLength(0); break; case "include": handleInclude(); break; case "fallback": fallbackEntered = true; break; case "configuration": break; default: break; } }
private void parse(SMHierarchicCursor rootCursor) throws XMLStreamException { try { streamHandler.stream(rootCursor); } finally { rootCursor.getStreamReader().closeCompletely(); } }
public void writeUsing(XMLStreamWriter2 w) throws XMLStreamException { QName n = mName; w.writeStartElement(n.getPrefix(), n.getLocalPart(), n.getNamespaceURI()); outputNsAndAttr(w); }
@Override public void writeIndentation(XMLStreamWriter2 sw, int level) throws XMLStreamException { sw.writeRaw(SYSTEM_LINE_SEPARATOR); level += level; // 2 spaces per level while (level > SPACE_COUNT) { // should never happen but... sw.writeRaw(SPACES, 0, SPACE_COUNT); level -= SPACES.length; } sw.writeRaw(SPACES, 0, level); }
public boolean setProperty(String name, Object value) { return ((XMLStreamReader2)getStreamReader()).setProperty(name, value); }
item.isFinal, item.sources); reader.close();
public boolean isPropertySupported(String name) { return ((XMLStreamReader2)getStreamReader()).isPropertySupported(name); }
private void handleInclude() throws XMLStreamException, IOException { int attrCount = reader.getAttributeCount(); List<ParsedItem> items; for (int i = 0; i < attrCount; i++) { String attrName = reader.getAttributeLocalName(i); if ("href".equals(attrName)) { confInclude = reader.getAttributeValue(i);
void handleEndElement() throws IOException { String tokenStr = token.toString(); switch (reader.getLocalName()) { case "name": if (token.length() > 0) {
public List<RuleDebt> importXML(Reader xml, ValidationMessages validationMessages) { List<RuleDebt> ruleDebts = newArrayList(); try { SMInputFactory inputFactory = initStax(); SMHierarchicCursor cursor = inputFactory.rootElementCursor(xml); // advance to <sqale> cursor.advance(); SMInputCursor rootCursor = cursor.childElementCursor(CHARACTERISTIC); while (rootCursor.getNext() != null) { process(ruleDebts, validationMessages, rootCursor); } cursor.getStreamReader().closeCompletely(); } catch (XMLStreamException e) { throw new IllegalStateException("XML is not valid", e); } return ruleDebts; }
@Override public void writeIndentation(XMLStreamWriter2 sw, int level) throws XMLStreamException { sw.writeRaw(" "); }