/**
* As of Stax 3.0 (Woodstox 4.0+), there is additional info for
* NotationDeclarations (base URI). Let's verify it gets properly
* populated.
*/
public void testDtdNotations()
throws Exception
{
final String URI = "http://test";
/* Ok. And here we should just check that we do not get 2 adjacent
* separate Characters event. We can try to trigger this by long
* segment and a set of char entities...
*/
final String XML = "<?xml version='1.0'?>"
+"<!DOCTYPE root [\n"
+"<!ELEMENT root EMPTY>\n"
+"<!NOTATION not PUBLIC 'some-public-id'>\n"
+"]>"
+"<root/>";
// Need to disable coalescing though for test to work:
XMLEventReader2 er = getReader(XML, false);
// Need to set Base URI; can do it for factory or instance
er.setProperty(WstxInputProperties.P_BASE_URL, new URL(URI));
assertTrue(er.nextEvent().isStartDocument());
XMLEvent evt = er.nextEvent(); // DTD
assertTokenType(DTD, evt.getEventType());
DTD dtd = (DTD) evt;
List<?> nots = dtd.getNotations();
assertEquals(1, nots.size());
NotationDeclaration2 notDecl = (NotationDeclaration2) nots.get(0);
assertEquals(URI, notDecl.getBaseURI());
}
TestEventReader.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:woodstox
作者:
评论列表
文章目录