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.*;
24
25 import javax.xml.namespace.QName;
26 import javax.xml.transform.stream.StreamSource;
27 import java.io.FileInputStream;
28 import java.io.InputStream;
29
30
31
32 public class TestForwardRefs extends TestCase {
33
34 public void testForwardRefs() throws Exception {
35 QName ELEMENT_QNAME = new QName("http://soapinterop.org/types",
36 "attrTest");
37 InputStream is = new FileInputStream(Resources.asURI("forwardRef.xsd"));
38 XmlSchemaCollection schema = new XmlSchemaCollection();
39 schema.read(new StreamSource(is), null);
40
41 XmlSchemaElement elem = schema.getElementByQName(ELEMENT_QNAME);
42 assertNotNull(elem);
43 XmlSchemaType type = elem.getSchemaType();
44 assertNotNull(type);
45 assertTrue(type instanceof XmlSchemaComplexType);
46 XmlSchemaComplexType cType = (XmlSchemaComplexType)type;
47 XmlSchemaSequence seq = (XmlSchemaSequence)cType.getParticle();
48 assertNotNull(seq);
49 }
50 }