Skip to content

Instantly share code, notes, and snippets.

@ericchin
Created September 30, 2015 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericchin/ecf0046386cef4e62b76 to your computer and use it in GitHub Desktop.
Save ericchin/ecf0046386cef4e62b76 to your computer and use it in GitHub Desktop.
private void _copyNonExempt(
XMLStreamReader xmlStreamReader, XMLStreamWriter xmlStreamWriter,
String exemptLanguageId, String defaultLanguageId, boolean cdata)
throws XMLStreamException {
while (xmlStreamReader.hasNext()) {
int event = xmlStreamReader.next();
if (event == XMLStreamConstants.START_ELEMENT) {
String languageId = xmlStreamReader.getAttributeValue(
null, _LANGUAGE_ID);
if (Validator.isNull(languageId)) {
languageId = defaultLanguageId;
}
if (!languageId.equals(exemptLanguageId)) {
xmlStreamWriter.writeStartElement(
xmlStreamReader.getLocalName());
xmlStreamWriter.writeAttribute(_LANGUAGE_ID, languageId);
// CUSTOM START
String text = xmlStreamReader.getElementText();
if (cdata) {
xmlStreamWriter.writeCData(text);
}
else {
xmlStreamWriter.writeCharacters(text);
}
// CUSTOM END
xmlStreamWriter.writeEndElement();
}
}
else if (event == XMLStreamConstants.END_DOCUMENT) {
break;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment