use of net.n3.nanoxml.IXMLReader in project jwt by emweb.
the class WXmlLocalizedStrings method readXmlResource.
private void readXmlResource(String bundleName) {
WApplication app = WApplication.getInstance();
InputStream stream = null;
for (String path : StringUtils.expandLocales(bundleName, app.getLocale().toString())) {
try {
stream = FileUtils.getResourceAsStream(path + ".xml");
} catch (IOException e) {
}
if (stream != null)
break;
}
if (stream == null) {
logger.warn("Could not find resource \"" + bundleName + "\"");
return;
}
try {
XmlMessageParser xmlParser = new XmlMessageParser();
IXMLParser parser = XMLParserFactory.createDefaultXMLParser();
parser.setBuilder(xmlParser);
parser.setResolver(xmlParser);
IXMLReader reader = new StdXMLReader(stream);
parser.setReader(reader);
parser.parse();
keyValues.putAll(xmlParser.getKeyValues());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XMLException e) {
e.printStackTrace();
}
}
use of net.n3.nanoxml.IXMLReader in project jwt by emweb.
the class XSSFilter method removeScript.
static boolean removeScript(CharSequence text) {
try {
WString wText = WString.toWString(text);
XSSFilter filter = new XSSFilter();
IXMLParser parser = XMLParserFactory.createDefaultXMLParser();
parser.setBuilder(filter);
parser.setResolver(filter);
IXMLReader reader = StdXMLReader.stringReader("<span>" + wText.getValue() + "</span>");
parser.setReader(reader);
parser.parse();
String filtered = filter.result();
// 6 and 7 correct for respectively <span> and </span>
wText.set(filtered.substring(6, filtered.length() - 7));
return true;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (XMLException e) {
logger.error("Error reading XHTML string: " + e.getMessage() + ": line " + e.getLineNr() + " in '" + text + "'");
}
return false;
}
use of net.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class XMLParser method processElementContent.
@Override
protected void processElementContent(final String defaultNamespace, final Properties namespaces, final String fullName, final String name, final String prefix) throws IOException, XMLParseException, Exception {
if (skipNextElementContent) {
boolean inComment = false;
final TreeXmlReader builder = (TreeXmlReader) getBuilder();
final StringBuilder waitingBuf = new StringBuilder();
int level = 1;
for (; ; ) {
final IXMLReader reader = getReader();
char ch = reader.read();
if (inComment) {
waitingBuf.append(ch);
if (ch != '-') {
continue;
}
ch = reader.read();
waitingBuf.append(ch);
if (ch != '-') {
continue;
}
ch = reader.read();
waitingBuf.append(ch);
if (ch != '>') {
continue;
}
inComment = false;
continue;
}
if (ch == '<') {
ch = reader.read();
if (ch == '/') {
level--;
if (level == 0) {
break;
}
} else if (ch == '!') {
final char read1 = reader.read();
final char read2 = reader.read();
if (read1 != '-' || read2 != '-') {
throw new XMLParseException(reader.getSystemID(), reader.getLineNr(), "Invalid input: <!" + read1 + read2);
}
inComment = true;
waitingBuf.append("<!--");
continue;
} else {
level++;
}
waitingBuf.append('<');
} else if (ch == '/') {
ch = reader.read();
if (ch == '>') {
level--;
if (level == 0) {
throw new XMLParseException(reader.getSystemID(), reader.getLineNr(), "Invalid input: />");
}
} else if (ch == '<') {
waitingBuf.append('/');
reader.unread(ch);
continue;
}
waitingBuf.append('/');
}
waitingBuf.append(ch);
}
builder.setElementContent(waitingBuf.toString());
return;
}
super.processElementContent(defaultNamespace, namespaces, fullName, name, prefix);
}
use of net.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class TreeXmlReader method load.
/*
* (non-Javadoc)
* @see freeplane.persistence.Reader#load()
*/
public void load(final Reader reader) throws XMLException {
parser = new XMLParser();
final IXMLReader nanoxmlReader = new StdXMLReader(reader);
parser.setReader(nanoxmlReader);
parser.setBuilder(this);
parser.setValidator(new NonValidator());
parser.parse();
}
use of net.n3.nanoxml.IXMLReader in project freeplane by freeplane.
the class FilterController method loadConditions.
void loadConditions(final DefaultComboBoxModel filterConditionModel, final String pathToFilterFile, final boolean showPopupOnError) throws IOException {
try {
final IXMLParser parser = XMLLocalParserFactory.createLocalXMLParser();
File filterFile = new File(pathToFilterFile);
final IXMLReader reader = new StdXMLReader(new BufferedInputStream(new FileInputStream(filterFile)));
parser.setReader(reader);
reader.setSystemID(filterFile.toURL().toString());
final XMLElement loader = (XMLElement) parser.parse();
final Vector<XMLElement> conditions = loader.getChildren();
for (int i = 0; i < conditions.size(); i++) {
final ASelectableCondition condition = getConditionFactory().loadCondition(conditions.get(i));
if (condition != null) {
filterConditionModel.addElement(condition);
}
}
} catch (final FileNotFoundException e) {
} catch (final AccessControlException e) {
} catch (final Exception e) {
LogUtils.warn(e);
if (showPopupOnError) {
UITools.errorMessage(TextUtils.getText("filters_not_loaded"));
}
}
}
Aggregations