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.apache.ws.commons.schema.XmlSchemaElement;
25 import org.w3c.dom.Document;
26 import org.w3c.dom.Element;
27 import org.w3c.dom.Node;
28 import org.w3c.dom.NodeList;
29
30 import javax.xml.namespace.QName;
31 import javax.xml.parsers.DocumentBuilderFactory;
32
33 public class TwoSchemasRefTest extends TestCase {
34
35 public void testTwoSchemas() throws Exception{
36 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
37 documentBuilderFactory.setNamespaceAware(true);
38 Document doc = documentBuilderFactory.newDocumentBuilder().
39 parse(Resources.asURI("twoSchemas-ref.wsdl"));
40
41 XmlSchemaCollection schemaCol = new XmlSchemaCollection();
42 NodeList schemaNodes = doc.getElementsByTagNameNS("http://www.w3.org/2001/XMLSchema","schema");
43 for (int j = 0; j < schemaNodes.getLength(); j++) {
44 Node schemaNode = schemaNodes.item(j);
45 if("schema".equals(schemaNode.getLocalName())){
46 schemaCol.read((Element)schemaNode);
47 }
48 }
49
50 XmlSchemaElement elementByQName = schemaCol.getElementByQName(new QName("http://tns.demo.org", "elem1"));
51 assertNotNull(elementByQName);
52
53 }
54 }