why isn't element declaration given "anyType" type by default [message #65545] |
Sat, 24 December 2005 02:05 |
Eclipse User |
|
|
|
Originally posted by: seely_place.yahoo.com
Hi,
I am using a schema which includes an element without a type (which
should therefore default to xsd:anyType). For example:
<xsd:element name="foo"/>
However, if I create a schema using the following code,
I get a null typeDefinition for this element declaration.
XSDParser xsdp = new XSDParser();
xsdp.parse(new ByteArrayInputStream(bytes));
XSDSchema xsdSchema = xsdp.getSchema();
List elems = xsdSchema.getElementDeclarations();
XSDTypeDefinition typeDefinition =
elems.get(0).getTypeDefinition();
The only time I get "anyType" is if I set the schemaLocation. This seems
odd.
If I create the schema using the XSDParser, and the schema doesn't have any
include/import/redefine directives, am I really required to set the
schemaLocation (with a bogus value) just to get this to work?
Regards,
Seely.
|
|
|
Re: why isn't element declaration given "anyType" type by default [message #65566 is a reply to message #65545] |
Sat, 24 December 2005 10:46 |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
Seely,
Yes, you need to set a schema location, or more generally put the schema
in a resource in a resource set, before the schema is considered
complete enough to do a full type analysis. Doing a full analysis is
expensive and it will tend to be incomplete unless names can all
resolve, which will tend not to be the case until the context is
complete. To write code that handles any schema in general, it's best
to assume that there will be external dependencies in it.
Seely Place wrote:
> Hi,
>
> I am using a schema which includes an element without a type (which
> should therefore default to xsd:anyType). For example:
>
> <xsd:element name="foo"/>
>
> However, if I create a schema using the following code,
> I get a null typeDefinition for this element declaration.
>
> XSDParser xsdp = new XSDParser();
> xsdp.parse(new ByteArrayInputStream(bytes));
> XSDSchema xsdSchema = xsdp.getSchema();
> List elems = xsdSchema.getElementDeclarations();
> XSDTypeDefinition typeDefinition =
> elems.get(0).getTypeDefinition();
>
> The only time I get "anyType" is if I set the schemaLocation. This
> seems odd.
> If I create the schema using the XSDParser, and the schema doesn't
> have any
> include/import/redefine directives, am I really required to set the
> schemaLocation (with a bogus value) just to get this to work?
>
> Regards,
> Seely.
>
|
|
|
Re: why isn't element declaration given "anyType" type by default [message #597395 is a reply to message #65545] |
Sat, 24 December 2005 10:46 |
Ed Merks Messages: 33252 Registered: July 2009 |
Senior Member |
|
|
Seely,
Yes, you need to set a schema location, or more generally put the schema
in a resource in a resource set, before the schema is considered
complete enough to do a full type analysis. Doing a full analysis is
expensive and it will tend to be incomplete unless names can all
resolve, which will tend not to be the case until the context is
complete. To write code that handles any schema in general, it's best
to assume that there will be external dependencies in it.
Seely Place wrote:
> Hi,
>
> I am using a schema which includes an element without a type (which
> should therefore default to xsd:anyType). For example:
>
> <xsd:element name="foo"/>
>
> However, if I create a schema using the following code,
> I get a null typeDefinition for this element declaration.
>
> XSDParser xsdp = new XSDParser();
> xsdp.parse(new ByteArrayInputStream(bytes));
> XSDSchema xsdSchema = xsdp.getSchema();
> List elems = xsdSchema.getElementDeclarations();
> XSDTypeDefinition typeDefinition =
> elems.get(0).getTypeDefinition();
>
> The only time I get "anyType" is if I set the schemaLocation. This
> seems odd.
> If I create the schema using the XSDParser, and the schema doesn't
> have any
> include/import/redefine directives, am I really required to set the
> schemaLocation (with a bogus value) just to get this to work?
>
> Regards,
> Seely.
>
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Powered by
FUDForum. Page generated in 0.03142 seconds