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