XML Parser Services

The XML parser test cases get a DocumentBuilderFactory/SAXParserFactory respectivly and unmarshalls an XML document using that parser.

DocumentBuilderFactory factory = XMLParserSupport.provideDocumentBuilderFactory(context, bundle);
factory.setValidating(false);

DocumentBuilder domBuilder = factory.newDocumentBuilder();
URL resURL = context.getBundle().getResource("example-xml-parser.xml");
Document dom = domBuilder.parse(resURL.openStream());
assertNotNull("Document not null", dom);
SAXParserFactory factory = XMLParserSupport.provideSAXParserFactory(context, bundle);
factory.setValidating(false);

SAXParser saxParser = factory.newSAXParser();
URL resURL = context.getBundle().getResource("example-xml-parser.xml");

SAXHandler saxHandler = new SAXHandler();
saxParser.parse(resURL.openStream(), saxHandler);
assertEquals("content", saxHandler.getContent());

XML parser support in AS7

This test uses the OSGi Repository functionality to provision the runtime with the required support functionality like this

XMLParserSupport.provideDocumentBuilderFactory(context, bundle);
  XMLParserSupport.provideSAXParserFactory(context, bundle);

To enable OSGi Web Application support in AS7 you would configure this capability

<capability name="org.jboss.osgi.xerces:jbosgi-xerces:2.10.0"/>