1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package tests;
18
19 import junit.framework.TestCase;
20 import org.apache.ws.commons.schema.*;
21
22 import javax.xml.namespace.QName;
23 import javax.xml.transform.stream.StreamSource;
24 import java.io.FileInputStream;
25 import java.io.InputStream;
26
27
28
29 public class TestForwardRefs extends TestCase {
30
31 public void testForwardRefs() throws Exception {
32 QName ELEMENT_QNAME = new QName("http://soapinterop.org/types",
33 "attrTest");
34 InputStream is = new FileInputStream(Resources.asURI("forwardRef.xsd"));
35 XmlSchemaCollection schema = new XmlSchemaCollection();
36 schema.read(new StreamSource(is), null);
37
38 XmlSchemaElement elem = schema.getElementByQName(ELEMENT_QNAME);
39 assertNotNull(elem);
40 XmlSchemaType type = elem.getSchemaType();
41 assertNotNull(type);
42 assertTrue(type instanceof XmlSchemaComplexType);
43 XmlSchemaComplexType cType = (XmlSchemaComplexType)type;
44 XmlSchemaSequence seq = (XmlSchemaSequence)cType.getParticle();
45 assertNotNull(seq);
46 }
47 }