You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2006/06/05 14:15:28 UTC
svn commit: r411763 - in /webservices/axis2/trunk/c/xml_schema:
include/xml_schema/axis2_xml_schema_complex_type.h src/xml_schema_builder.c
src/xml_schema_complex_type.c src/xml_schema_type.c test/xml_schema_test.c
Author: nandika
Date: Mon Jun 5 05:15:27 2006
New Revision: 411763
URL: http://svn.apache.org/viewvc?rev=411763&view=rev
Log:
bug fixed and tests added
Modified:
webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_complex_type.h
webservices/axis2/trunk/c/xml_schema/src/xml_schema_builder.c
webservices/axis2/trunk/c/xml_schema/src/xml_schema_complex_type.c
webservices/axis2/trunk/c/xml_schema/src/xml_schema_type.c
webservices/axis2/trunk/c/xml_schema/test/xml_schema_test.c
Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_complex_type.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_complex_type.h?rev=411763&r1=411762&r2=411763&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_complex_type.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_complex_type.h Mon Jun 5 05:15:27 2006
@@ -163,7 +163,7 @@
const axis2_env_t *env,
axis2_bool_t b);
- axis2_xml_schema_particle_t* (AXIS2_CALL *
+ void* (AXIS2_CALL *
get_particle)(
void *cmp_type,
const axis2_env_t *env);
@@ -172,7 +172,7 @@
set_particle)(
void *cmp_type,
const axis2_env_t *env,
- axis2_xml_schema_particle_t *particle);
+ void *particle);
Modified: webservices/axis2/trunk/c/xml_schema/src/xml_schema_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/src/xml_schema_builder.c?rev=411763&r1=411762&r2=411763&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/src/xml_schema_builder.c (original)
+++ webservices/axis2/trunk/c/xml_schema/src/xml_schema_builder.c Mon Jun 5 05:15:27 2006
@@ -589,6 +589,7 @@
if(AXIS2_STRCMP(localname,"simpleType") == 0)
{
void *type = NULL;
+ void *t = NULL;
axis2_qname_t *qn = NULL;
@@ -597,9 +598,10 @@
AXIS2_XML_SCHEMA_ADD_TYPE(builder_impl->schema, env, type);
if(NULL != items)
{
- AXIS2_XML_SCHEMA_ADD_TYPE(builder_impl->schema, env, type);
+ AXIS2_XML_SCHEMA_OBJ_COLLECTION_ADD(items, env, type);
}
qn = AXIS2_XML_SCHEMA_TYPE_GET_QNAME(type, env);
+ t = AXIS2_XML_SCHEMA_GET_TYPE_BY_QNAME(builder_impl->schema, env, qn);
if(NULL != qn)
{
axis2_char_t *u = NULL;
@@ -610,6 +612,8 @@
AXIS2_XML_SCHEMA_COLLECTION_RESOLVE_TYPE(builder_impl->collection,
env, qn, type);
}
+
+
}
else if(AXIS2_STRCMP(localname, "complexType") == 0)
{
Modified: webservices/axis2/trunk/c/xml_schema/src/xml_schema_complex_type.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/src/xml_schema_complex_type.c?rev=411763&r1=411762&r2=411763&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/src/xml_schema_complex_type.c (original)
+++ webservices/axis2/trunk/c/xml_schema/src/xml_schema_complex_type.c Mon Jun 5 05:15:27 2006
@@ -48,7 +48,8 @@
axis2_xml_schema_content_type_t *content_type;
- axis2_xml_schema_particle_t *particle_type, *particle;
+ void *particle_type;
+ void *particle;
axis2_bool_t is_abstract, is_mixed;
@@ -186,7 +187,7 @@
axis2_xml_schema_complex_type_set_particle(
void *cmp_type,
const axis2_env_t *env,
- axis2_xml_schema_particle_t *particle);
+ void *particle);
axis2_char_t* AXIS2_CALL
axis2_xml_schema_complex_type_to_string(
@@ -629,7 +630,7 @@
axis2_xml_schema_complex_type_set_particle(
void *cmp_type,
const axis2_env_t *env,
- axis2_xml_schema_particle_t *particle)
+ void *particle)
{
axis2_xml_schema_complex_type_impl_t *cmp_type_impl = NULL;
cmp_type_impl = AXIS2_INTF_TO_IMPL(cmp_type);
Modified: webservices/axis2/trunk/c/xml_schema/src/xml_schema_type.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/src/xml_schema_type.c?rev=411763&r1=411762&r2=411763&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/src/xml_schema_type.c (original)
+++ webservices/axis2/trunk/c/xml_schema/src/xml_schema_type.c Mon Jun 5 05:15:27 2006
@@ -652,9 +652,9 @@
}
if(NULL != type_impl->qname)
{
- AXIS2_QNAME_FREE(type_impl->qname, env);
- type_impl->qname = NULL;
+ return type_impl->qname;
}
+
if(NULL != type_impl->schema)
{
target_ns =
Modified: webservices/axis2/trunk/c/xml_schema/test/xml_schema_test.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/test/xml_schema_test.c?rev=411763&r1=411762&r2=411763&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/test/xml_schema_test.c (original)
+++ webservices/axis2/trunk/c/xml_schema/test/xml_schema_test.c Mon Jun 5 05:15:27 2006
@@ -23,7 +23,7 @@
static axis2_om_document_t*
-get_root_element_from_filename(const axis2_env_t *env,
+get_document_from_filename(const axis2_env_t *env,
axis2_char_t *filename);
void test_simple_type_schema_generation(CuTest *tc);
@@ -31,7 +31,6 @@
void test_block_content(CuTest *tc);
void test_circular_schema(CuTest *tc);
void test_schema_import1(CuTest *tc);
-void test_schema_import2(CuTest *tc);
void test_mixed_content(CuTest *tc);
void test_local_elements(CuTest *tc);
void test_element_refs(CuTest *tc);
@@ -44,21 +43,23 @@
CuSuite* xml_schema_GetSuite()
{
- CuSuite* suite = CuSuiteNew();
- SUITE_ADD_TEST(suite, test_simple_type_schema_generation);
+ CuSuite* suite = CuSuiteNew();
+ SUITE_ADD_TEST(suite, test_simple_type_schema_generation);
SUITE_ADD_TEST(suite, test_any_attribute);
- SUITE_ADD_TEST(suite, test_block_content);
- SUITE_ADD_TEST(suite, test_circular_schema);
- SUITE_ADD_TEST(suite, test_schema_import1);
- SUITE_ADD_TEST(suite, test_schema_import2);
+ SUITE_ADD_TEST(suite, test_block_content);
+ SUITE_ADD_TEST(suite, test_schema_import1);
SUITE_ADD_TEST(suite, test_mixed_content);
SUITE_ADD_TEST(suite, test_local_elements);
SUITE_ADD_TEST(suite, test_element_refs);
SUITE_ADD_TEST(suite, test_forward_refs);
- SUITE_ADD_TEST(suite, test_local_unnamed_simple_type);
SUITE_ADD_TEST(suite, test_simple_restriction);
SUITE_ADD_TEST(suite, test_unqualified_schemas);
+ SUITE_ADD_TEST(suite, test_local_unnamed_simple_type);
+
+/*
+ SUITE_ADD_TEST(suite, test_circular_schema);
SUITE_ADD_TEST(suite, test_two_schmes);
+*/
return suite;
}
@@ -76,10 +77,8 @@
void *sch_type = NULL;
axis2_char_t *filename = "./..//test-resources/allSimpleTypes.xsd";
-
-
env = axis2_env_create_all("test.log", 1);
- om_doc = get_root_element_from_filename(env, filename);
+ om_doc = get_document_from_filename(env, filename);
sch_collection = axis2_xml_schema_collection_create(env);
schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(
sch_collection, env, om_doc);
@@ -108,7 +107,6 @@
sch_type = NULL;
}
AXIS2_OM_DOCUMENT_FREE(om_doc, env);
-
}
void test_any_attribute(CuTest *tc)
@@ -122,12 +120,13 @@
void *sch_type = NULL;
void *particle = NULL;
void *any_attr = NULL;
+ void *cnt_processing = NULL;
axis2_char_t *filename = "./..//test-resources/anyAttTest.xsd";
env = axis2_env_create_all("test.log", 1);
- om_doc = get_root_element_from_filename(env, filename);
+ om_doc = get_document_from_filename(env, filename);
sch_collection = axis2_xml_schema_collection_create(env);
@@ -152,6 +151,10 @@
any_attr = AXIS2_XML_SCHEMA_COMPLEX_TYPE_GET_ANY_ATTRIBUTE(sch_type, env);
CuAssertPtrNotNull(tc, any_attr);
+
+
+ cnt_processing = AXIS2_XML_SCHEMA_ANY_ATTRIBUTE_GET_PROCESS_CONTENT(any_attr, env);
+
}
void test_block_content(CuTest *tc)
@@ -169,7 +172,7 @@
env = axis2_env_create_all("test.log", 1);
- om_doc = get_root_element_from_filename(env, filename);
+ om_doc = get_document_from_filename(env, filename);
sch_collection = axis2_xml_schema_collection_create(env);
@@ -193,9 +196,77 @@
}
-void test_circular_schema(CuTest *tc){}
-void test_schema_import1(CuTest *tc){}
-void test_schema_import2(CuTest *tc){}
+void test_circular_schema(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
+ axis2_char_t *filename = NULL;
+ axis2_array_list_t *schemas = NULL;
+
+ env = axis2_env_create_all("test.log", 1);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ filename = "./../test-resources/circular/a.xsd";
+
+ om_doc = get_document_from_filename(env, filename);
+
+ AXIS2_OM_DOCUMENT_BUILD_ALL(om_doc, env);
+
+ CuAssertPtrNotNull(tc, om_doc);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT_WITH_URI(sch_collection, env,
+ om_doc, "./../test-resources/circular");
+
+ CuAssertPtrNotNull(tc, schema);
+
+ schemas = AXIS2_XML_SCHEMA_COLLECTION_GET_SCHEMAS(sch_collection, env);
+
+ CuAssertPtrNotNull(tc, schemas);
+
+ CuAssertIntEquals(tc, 2, AXIS2_ARRAY_LIST_SIZE(schemas, env));
+
+
+
+}
+void test_schema_import1(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
+ axis2_char_t *filename = NULL;
+ axis2_array_list_t *schemas = NULL;
+
+ env = axis2_env_create_all("test.log", 1);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ filename = "./..//test-resources/importBase.xsd";
+
+ om_doc = get_document_from_filename(env, filename);
+
+ AXIS2_OM_DOCUMENT_BUILD_ALL(om_doc, env);
+
+ CuAssertPtrNotNull(tc, om_doc);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT_WITH_URI(sch_collection, env,
+ om_doc, "./../test-resources");
+
+ CuAssertPtrNotNull(tc, schema);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT_WITH_URI(sch_collection, env,
+ om_doc, "./../test-resources/");
+
+ CuAssertPtrNotNull(tc, schema);
+}
+
void test_mixed_content(CuTest *tc)
{
axis2_env_t *env = NULL;
@@ -203,20 +274,55 @@
axis2_xml_schema_collection_t *sch_collection = NULL;
axis2_xml_schema_t *schema = NULL;
axis2_qname_t *qn = NULL;
+ void *sch_ele = NULL;
+
+ axis2_char_t *filename = "./..//test-resources/mixedContent.xsd";;
+
+ env = axis2_env_create_all("test.log", 1);
+
+ qn = axis2_qname_create(env, "complexElt",
+ "http://soapinterop.org/xsd", NULL);
+
+ om_doc = get_document_from_filename(env, filename);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT_WITH_URI(sch_collection,
+ env, om_doc, NULL);
+
+ CuAssertPtrNotNull(tc, schema);
+
+ sch_ele = AXIS2_XML_SCHEMA_GET_ELEMENT_BY_QNAME(schema, env, qn);
+
+ CuAssertPtrNotNull(tc, sch_ele);
+
+}
+
+void test_local_elements(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
void *ele = NULL;
void *cmp_type = NULL;
void *seq = NULL;
axis2_xml_schema_obj_collection_t *items = NULL;
- void *sub_element = NULL;
+ void *sub_element1 = NULL;
axis2_qname_t *qn1 = NULL;
- axis2_char_t *uri = NULL;
+ axis2_char_t *uri1 = NULL;
+
+ void *sub_element2 = NULL;
+ axis2_qname_t *qn2 = NULL;
+ axis2_char_t *uri2 = NULL;
axis2_char_t *filename = "./..//test-resources/elementForm.xsd";
env = axis2_env_create_all("test.log", 1);
- om_doc = get_root_element_from_filename(env, filename);
+ om_doc = get_document_from_filename(env, filename);
sch_collection = axis2_xml_schema_collection_create(env);
@@ -242,49 +348,328 @@
CuAssertPtrNotNull(tc, items);
- sub_element = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, 0);
+ sub_element1 = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, 0);
- CuAssertPtrNotNull(tc, sub_element);
+ CuAssertPtrNotNull(tc, sub_element1);
- qn1 = AXIS2_XML_SCHEMA_ELEMENT_GET_QNAME(sub_element, env);
+ qn1 = AXIS2_XML_SCHEMA_ELEMENT_GET_QNAME(sub_element1, env);
CuAssertPtrNotNull(tc, qn1);
- uri = AXIS2_QNAME_GET_URI(qn1, env);
+ uri1 = AXIS2_QNAME_GET_URI(qn1, env);
- CuAssertPtrNotNull(tc, uri);
+ CuAssertPtrNotNull(tc, uri1);
- sub_element = NULL;
- qn1 = NULL;
- uri = NULL;
+ sub_element2 = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, 1);
- sub_element = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, 0);
+ CuAssertPtrNotNull(tc, sub_element2);
- CuAssertPtrNotNull(tc, sub_element);
+ qn2 = AXIS2_XML_SCHEMA_ELEMENT_GET_QNAME(sub_element2, env);
- qn1 = AXIS2_XML_SCHEMA_ELEMENT_GET_QNAME(sub_element, env);
+ CuAssertPtrNotNull(tc, qn2);
- CuAssertPtrNotNull(tc, qn1);
+ uri2 = AXIS2_QNAME_GET_URI(qn2, env);
+
+ CuAssertPtrNotNull(tc, uri2);
+
+ CuAssertStrEquals(tc, "http://unqualified-elements.example.com", uri2);
+}
+
+void test_element_refs(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
+ axis2_char_t *filename = NULL;
+ void *element = NULL;
+ void *cmp_type = NULL;
+ void *particle = NULL;
+ axis2_xml_schema_obj_collection_t *items = NULL;
+ int count = 0;
+ int i =0;
+
+ filename = "./..//test-resources/elementreferences.xsd";
+
+ env = axis2_env_create_all("test.log", 1);
+
+ om_doc = get_document_from_filename(env, filename);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(sch_collection, env, om_doc);
+
+ CuAssertPtrNotNull(tc, schema);
+
+ qn = axis2_qname_create(env, "attTests" , "http://soapinterop.org/types", NULL);
+
+ element = AXIS2_XML_SCHEMA_COLLECTION_GET_ELEMENT_BY_QNAME(
+ sch_collection, env, qn);
+
+ CuAssertPtrNotNull(tc, element);
+
+ cmp_type = AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE(element, env);
- uri = AXIS2_QNAME_GET_URI(qn1, env);
+ CuAssertPtrNotNull(tc, cmp_type);
- CuAssertPtrNotNull(tc, uri);
+ particle = AXIS2_XML_SCHEMA_COMPLEX_TYPE_GET_PARTICLE(cmp_type, env);
+ items = AXIS2_XML_SCHEMA_GROUP_BASE_GET_ITEMS(particle, env);
+
+ CuAssertPtrNotNull(tc, items);
+
+ count = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_COUNT(items, env);
+
+ for(i = 0; i< count; i++)
+ {
+ axis2_qname_t *name = NULL;
+ void *inner_ele = NULL;
+ inner_ele = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, i);
+ CuAssertPtrNotNull(tc, inner_ele);
+
+ name = AXIS2_XML_SCHEMA_ELEMENT_GET_REF_NAME(inner_ele, env);
+
+ CuAssertPtrNotNull(tc, name);
+
+ }
}
-void test_local_elements(CuTest *tc){}
-void test_element_refs(CuTest *tc){}
-void test_forward_refs(CuTest *tc){}
-void test_local_unnamed_simple_type(CuTest *tc){}
-void test_simple_restriction(CuTest *tc){}
-void test_unqualified_schemas(CuTest *tc){}
-void test_two_schmes(CuTest *tc)
+void test_forward_refs(CuTest *tc)
{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
+ axis2_char_t *filename = NULL;
+ void *element = NULL;
+ void *cmp_type = NULL;
+ void *items = NULL;
+ int count = 0;
+ int i =0;
+ void *sch_type = NULL;
+ int type = 0;
+ void *seq = NULL;
+
+ filename = "./..//test-resources/forwardRef.xsd";
+
+ env = axis2_env_create_all("test.log", 1);
+
+
+ om_doc = get_document_from_filename(env, filename);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(sch_collection, env, om_doc);
+
+ CuAssertPtrNotNull(tc, schema);
+
+ qn = axis2_qname_create(env, "attrTest",
+ "http://soapinterop.org/types", NULL);
+
+ element = AXIS2_XML_SCHEMA_COLLECTION_GET_ELEMENT_BY_QNAME(
+ sch_collection, env, qn);
+
+ CuAssertPtrNotNull(tc, element);
+
+ sch_type = AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE(element, env);
+
+ CuAssertPtrNotNull(tc, sch_type);
+
+ type = AXIS2_XML_SCHEMA_TYPE_TYPE(sch_type, env);
+
+ CuAssertIntEquals(tc, AXIS2_XML_SCHEMA_COMPLEX_TYPE, type);
+
+ seq = AXIS2_XML_SCHEMA_COMPLEX_TYPE_GET_PARTICLE(sch_type, env);
+
+ CuAssertPtrNotNull(tc, seq);
+}
+
+void test_local_unnamed_simple_type(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *qn = NULL;
+ axis2_char_t *filename = NULL;
+ void *element = NULL;
+ void *cmp_type = NULL;
+ void *items = NULL;
+ int count = 0;
+ int i =0;
+ void *sch_type = NULL;
+ int type = 0;
+ void *seq = NULL;
+ axis2_char_t *xml = NULL;
+ axis2_xml_reader_t *reader = NULL;
+ axis2_om_stax_builder_t *builder = NULL;
+
+ xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+ "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\"\n"
+ "targetNamespace=\"http://finance.example.com/CreditCardFaults/xsd\"\n"
+ "xmlns:tns=\"http://finance.example.com/CreditCardFaults/xsd\"\n"
+ "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+ "xsi:schemaLocation=\"http://www.w3.org/2001/XMLSchema\n"
+ " http://www.w3.org/2001/XMLSchema.xsd\">\n"
+ "\n"
+ "<element name=\"tns:CreditCardNumber\" type=\"string\"></element>\n"
+ "\n"
+ "<element name=\"tns:CreditCardType\">\n"
+ "<simpleType>\n"
+ "<restriction base=\"string\">\n"
+ "<enumeration value=\"AMEX\" />\n"
+ "<enumeration value=\"MASTERCARD\" />\n"
+ "<enumeration value=\"VISA\" />\n"
+ "</restriction>\n"
+ "</simpleType>\n"
+ "</element>\n"
+ "</schema>";
+
+ env = axis2_env_create_all("test.log", 1);
+
+ reader = axis2_xml_reader_create_for_memory(env, xml, AXIS2_STRLEN(xml), NULL,
+ AXIS2_XML_PARSER_TYPE_BUFFER);
+
+ builder = axis2_om_stax_builder_create(env, reader);
+
+ om_doc = axis2_om_document_create(env, NULL, builder);
+
+ AXIS2_OM_DOCUMENT_BUILD_ALL(om_doc, env);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(sch_collection, env, om_doc);
+
+ CuAssertPtrNotNull(tc, schema);
+}
+
+void test_simple_restriction(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *type_qname = NULL;
+ axis2_qname_t *element_qname = NULL;
+ axis2_char_t *filename = NULL;
+ void *element = NULL;
+ void *cmp_type = NULL;
+ axis2_xml_schema_obj_collection_t *items = NULL;
+ int count = 0;
+ int i =0;
+ void *sch_type = NULL;
+ int type = 0;
+ void *simple_type = NULL;
+
+
+ env = axis2_env_create_all("test.log", 1);
+
+ om_doc = get_document_from_filename(env,
+ "./../test-resources/SimpleContentRestriction.xsd");
+
+ AXIS2_OM_DOCUMENT_BUILD_ALL(om_doc, env);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(sch_collection, env, om_doc);
+
+ CuAssertPtrNotNull(tc, schema);
+
+ type_qname = axis2_qname_create(env, "layoutComponentType",
+ "http://soapinterop.org/types", NULL);
+
+ simple_type = AXIS2_XML_SCHEMA_GET_TYPE_BY_QNAME(schema, env, type_qname);
+
+ CuAssertPtrNotNull(tc, simple_type);
+
+ element_qname = axis2_qname_create(env, "foo",
+ "http://soapinterop.org/types", NULL);
+
+ element = AXIS2_XML_SCHEMA_GET_ELEMENT_BY_QNAME(schema, env, element_qname);
+
+ CuAssertPtrNotNull(tc, element);
+}
+
+void test_unqualified_schemas(CuTest *tc)
+{
+ axis2_env_t *env = NULL;
+ axis2_om_document_t *om_doc = NULL;
+ axis2_xml_schema_collection_t *sch_collection = NULL;
+ axis2_xml_schema_t *schema = NULL;
+ axis2_qname_t *element_qname = NULL;
+ axis2_char_t *filename = NULL;
+
+ void *element = NULL;
+
+ void *cmp_type = NULL;
+
+ axis2_xml_schema_obj_collection_t *items = NULL;
+
+ int count = 0;
+
+ int i =0;
+
+ void *sch_type = NULL;
+
+ int type = 0;
+
+ void *particle = NULL;
+
+ void *seq = NULL;
+
+ env = axis2_env_create_all("test.log", 1);
+
+ om_doc = get_document_from_filename(env,
+ "./../test-resources/unqualifiedTypes.xsd");
+
+ AXIS2_OM_DOCUMENT_BUILD_ALL(om_doc, env);
+
+ sch_collection = axis2_xml_schema_collection_create(env);
+
+ schema = AXIS2_XML_SCHEMA_COLLECTION_READ_DOCUMENT(sch_collection, env, om_doc);
+
+ CuAssertPtrNotNull(tc, schema);
+
+ element_qname = axis2_qname_create(env, "complexElt",
+ "http://soapinterop.org/xsd", NULL);
+
+ element = AXIS2_XML_SCHEMA_GET_ELEMENT_BY_QNAME(schema, env, element_qname);
+
+ CuAssertPtrNotNull(tc, element);
+
+ cmp_type = AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE(element, env);
+
+ CuAssertPtrNotNull(tc, cmp_type);
+
+ particle = AXIS2_XML_SCHEMA_COMPLEX_TYPE_GET_PARTICLE(cmp_type, env);
+
+ CuAssertPtrNotNull(tc, particle);
+
+ items = AXIS2_XML_SCHEMA_GROUP_BASE_GET_ITEMS(particle, env);
+
+ count = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_COUNT(items, env);
+
+ for(i = 0; i < count; i++)
+ {
+ void *ele2 = NULL;
+ void *ele_sch_type = NULL;
+
+ ele2 = AXIS2_XML_SCHEMA_OBJ_COLLECTION_GET_ITEM(items, env, i);
+
+ ele_sch_type = AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE(ele2, env);
+
+ CuAssertPtrNotNull(tc, ele_sch_type);
+ }
+}
+void test_two_schmes(CuTest *tc)
+{
}
static axis2_om_document_t*
-get_root_element_from_filename(const axis2_env_t *env,
+get_document_from_filename(const axis2_env_t *env,
axis2_char_t *filename)
{
axis2_xml_reader_t *reader = NULL;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org