1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package tests;
21
22 import junit.framework.TestCase;
23 import org.apache.ws.commons.schema.XmlSchemaCollection;
24 import org.w3c.dom.Document;
25 import org.w3c.dom.Element;
26 import org.w3c.dom.Node;
27 import org.w3c.dom.NodeList;
28
29 import javax.xml.namespace.QName;
30 import javax.xml.parsers.DocumentBuilderFactory;
31
32 public class TwoSchemasTest extends TestCase {
33
34 public void testTwoSchemas() throws Exception{
35 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
36 documentBuilderFactory.setNamespaceAware(true);
37 Document doc = documentBuilderFactory.newDocumentBuilder().
38 parse(Resources.asURI("twoSchemas.wsdl"));
39
40 XmlSchemaCollection schemaCol = new XmlSchemaCollection();
41 NodeList schemaNodes = doc.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","schema");
42 for (int j = 0; j < schemaNodes.getLength(); j++) {
43 Node schemaNode = schemaNodes.item(j);
44 if("schema".equals(schemaNode.getLocalName())){
45 schemaCol.read((Element)schemaNode);
46 }
47 }
48
49 assertNotNull(schemaCol.getElementByQName(new QName("http://tns.demo.org","elem1")));
50
51 }
52 }