Home » Archived » XML Schema Definition (XSD) » XSDSchema.resolveTypeDefinition on redefined schema
XSDSchema.resolveTypeDefinition on redefined schema [message #53285] |
Sat, 25 September 2004 01:55 |
Eclipse User |
|
|
|
Originally posted by: jtaylor.nextance.com
If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
type? It appears to return the old original definition. Same thing for
other named components. Is this correct? Is there something else I can
call to get the redefined type? I notice that if I iterator over all
global types, the redefined type is there.
Also, if I programmatically add a type to be redefined (with
incrementalUpdate set to true), there does not seem to be any effect until
after I call XSDSchema.update(). Is this expected?
Thanks,
James
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #53394 is a reply to message #53285] |
Mon, 27 September 2004 11:58 |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
James,
Resolve should work correctly for redefines, otherwise we could not
build the instance correctly.
Once a name has resolved, it won't reresolve, even if you add a
redefinition that it should resolve to, unless you force an update.
James Taylor wrote:
>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
>type? It appears to return the old original definition. Same thing for
>other named components. Is this correct? Is there something else I can
>call to get the redefined type? I notice that if I iterator over all
>global types, the redefined type is there.
>
>Also, if I programmatically add a type to be redefined (with
>incrementalUpdate set to true), there does not seem to be any effect until
>after I call XSDSchema.update(). Is this expected?
>
>Thanks,
>
> James
>
>
>
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #53472 is a reply to message #53394] |
Mon, 27 September 2004 18:09 |
Eclipse User |
|
|
|
Originally posted by: jtaylor.nextance.com
Ed,
In my scenario, I'm programmatically creating a schema, adding a redefine
schema directive, and adding a complex type to the redefine content with a
new element declaration. I then do an update on the new schema. However,
even after this, the resolveTypeDefinition call returns the original type
instead of the redefined type. Both types are present in the list of
global types, though. Perhaps if the entire set of schemas was re-parsed
the resolution would be correct. Would you like me to open a bug and
attach a test case?
Also, regarding the manual update, which schema(s) should I perform this
on? Only the newly created schema, or do I need to do it recursively on
all included schemas too? Thanks,
James
Ed Merks wrote:
> James,
> Resolve should work correctly for redefines, otherwise we could not
> build the instance correctly.
> Once a name has resolved, it won't reresolve, even if you add a
> redefinition that it should resolve to, unless you force an update.
> James Taylor wrote:
> >If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
> >SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
> >type? It appears to return the old original definition. Same thing for
> >other named components. Is this correct? Is there something else I can
> >call to get the redefined type? I notice that if I iterator over all
> >global types, the redefined type is there.
> >
> >Also, if I programmatically add a type to be redefined (with
> >incrementalUpdate set to true), there does not seem to be any effect until
> >after I call XSDSchema.update(). Is this expected?
> >
> >Thanks,
> >
> > James
> >
> >
> >
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #53525 is a reply to message #53472] |
Mon, 27 September 2004 19:39 |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
This is a multi-part message in MIME format.
--------------020608090609000507080204
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
James,
Yes, a test case would help. Even if it's not a bug, at least I'll
know what's going on and can suggest another approach. It sounds like
something that won't work well because once an include/redefine has been
processed, if you change it and want it to be processed again, there's
really nothing in place to remove/undo the effect of the previous
include/redefine. For example, if you've processed a redefine but now
you've added another thing to be redefined, nothing will remove the
original definition to replace it with its redefinition.
Doing the update() directly on the schema that's changed and possibly on
any downstream schemas that depend on it should do the trick.
James Taylor wrote:
>Ed,
>
>In my scenario, I'm programmatically creating a schema, adding a redefine
>schema directive, and adding a complex type to the redefine content with a
>new element declaration. I then do an update on the new schema. However,
>even after this, the resolveTypeDefinition call returns the original type
>instead of the redefined type. Both types are present in the list of
>global types, though. Perhaps if the entire set of schemas was re-parsed
>the resolution would be correct. Would you like me to open a bug and
>attach a test case?
>
>Also, regarding the manual update, which schema(s) should I perform this
>on? Only the newly created schema, or do I need to do it recursively on
>all included schemas too? Thanks,
>
> James
>
>Ed Merks wrote:
>
>
>
>>James,
>>
>>
>
>
>
>>Resolve should work correctly for redefines, otherwise we could not
>>build the instance correctly.
>>
>>
>
>
>
>>Once a name has resolved, it won't reresolve, even if you add a
>>redefinition that it should resolve to, unless you force an update.
>>
>>
>
>
>
>
>>James Taylor wrote:
>>
>>
>
>
>
>>>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
>>>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
>>>type? It appears to return the old original definition. Same thing for
>>>other named components. Is this correct? Is there something else I can
>>>call to get the redefined type? I notice that if I iterator over all
>>>global types, the redefined type is there.
>>>
>>>Also, if I programmatically add a type to be redefined (with
>>>incrementalUpdate set to true), there does not seem to be any effect until
>>>after I call XSDSchema.update(). Is this expected?
>>>
>>>Thanks,
>>>
>>> James
>>>
>>>
>>>
>>>
>>>
>
>
>
>
--------------020608090609000507080204
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
James,<br>
<br>
Yes, a test case would help.
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #53578 is a reply to message #53525] |
Tue, 28 September 2004 03:52 |
Eclipse User |
|
|
|
Originally posted by: jtaylor.nextance.com
I filed bug #75139 and attached my test case. Thanks,
James
Ed Merks wrote:
> James,
> Yes, a test case would help. Even if it's not a bug, at least I'll
> know what's going on and can suggest another approach. It sounds like
> something that won't work well because once an include/redefine has been
> processed, if you change it and want it to be processed again, there's
> really nothing in place to remove/undo the effect of the previous
> include/redefine. For example, if you've processed a redefine but now
> you've added another thing to be redefined, nothing will remove the
> original definition to replace it with its redefinition.
> Doing the update() directly on the schema that's changed and possibly on
> any downstream schemas that depend on it should do the trick.
> James Taylor wrote:
> >Ed,
> >
> >In my scenario, I'm programmatically creating a schema, adding a redefine
> >schema directive, and adding a complex type to the redefine content with a
> >new element declaration. I then do an update on the new schema. However,
> >even after this, the resolveTypeDefinition call returns the original type
> >instead of the redefined type. Both types are present in the list of
> >global types, though. Perhaps if the entire set of schemas was re-parsed
> >the resolution would be correct. Would you like me to open a bug and
> >attach a test case?
> >
> >Also, regarding the manual update, which schema(s) should I perform this
> >on? Only the newly created schema, or do I need to do it recursively on
> >all included schemas too? Thanks,
> >
> > James
> >
> >Ed Merks wrote:
> >
> >
> >
> >>James,
> >>
> >>
> >
> >
> >
> >>Resolve should work correctly for redefines, otherwise we could not
> >>build the instance correctly.
> >>
> >>
> >
> >
> >
> >>Once a name has resolved, it won't reresolve, even if you add a
> >>redefinition that it should resolve to, unless you force an update.
> >>
> >>
> >
> >
> >
> >
> >>James Taylor wrote:
> >>
> >>
> >
> >
> >
> >>>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
> >>>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
> >>>type? It appears to return the old original definition. Same thing for
> >>>other named components. Is this correct? Is there something else I can
> >>>call to get the redefined type? I notice that if I iterator over all
> >>>global types, the redefined type is there.
> >>>
> >>>Also, if I programmatically add a type to be redefined (with
> >>>incrementalUpdate set to true), there does not seem to be any effect until
> >>>after I call XSDSchema.update(). Is this expected?
> >>>
> >>>Thanks,
> >>>
> >>> James
> >>>
> >>>
> >>>
> >>>
> >>>
> >
> >
> >
> >
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #591758 is a reply to message #53285] |
Mon, 27 September 2004 11:58 |
Ed Merks Messages: 33140 Registered: July 2009 |
Senior Member |
|
|
James,
Resolve should work correctly for redefines, otherwise we could not
build the instance correctly.
Once a name has resolved, it won't reresolve, even if you add a
redefinition that it should resolve to, unless you force an update.
James Taylor wrote:
>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
>type? It appears to return the old original definition. Same thing for
>other named components. Is this correct? Is there something else I can
>call to get the redefined type? I notice that if I iterator over all
>global types, the redefined type is there.
>
>Also, if I programmatically add a type to be redefined (with
>incrementalUpdate set to true), there does not seem to be any effect until
>after I call XSDSchema.update(). Is this expected?
>
>Thanks,
>
> James
>
>
>
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #591807 is a reply to message #53394] |
Mon, 27 September 2004 18:09 |
James Taylor Messages: 21 Registered: July 2009 |
Junior Member |
|
|
Ed,
In my scenario, I'm programmatically creating a schema, adding a redefine
schema directive, and adding a complex type to the redefine content with a
new element declaration. I then do an update on the new schema. However,
even after this, the resolveTypeDefinition call returns the original type
instead of the redefined type. Both types are present in the list of
global types, though. Perhaps if the entire set of schemas was re-parsed
the resolution would be correct. Would you like me to open a bug and
attach a test case?
Also, regarding the manual update, which schema(s) should I perform this
on? Only the newly created schema, or do I need to do it recursively on
all included schemas too? Thanks,
James
Ed Merks wrote:
> James,
> Resolve should work correctly for redefines, otherwise we could not
> build the instance correctly.
> Once a name has resolved, it won't reresolve, even if you add a
> redefinition that it should resolve to, unless you force an update.
> James Taylor wrote:
> >If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
> >SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
> >type? It appears to return the old original definition. Same thing for
> >other named components. Is this correct? Is there something else I can
> >call to get the redefined type? I notice that if I iterator over all
> >global types, the redefined type is there.
> >
> >Also, if I programmatically add a type to be redefined (with
> >incrementalUpdate set to true), there does not seem to be any effect until
> >after I call XSDSchema.update(). Is this expected?
> >
> >Thanks,
> >
> > James
> >
> >
> >
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #591842 is a reply to message #53472] |
Mon, 27 September 2004 19:39 |
Ed Merks Messages: 33140 Registered: July 2009 |
Senior Member |
|
|
This is a multi-part message in MIME format.
--------------020608090609000507080204
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
James,
Yes, a test case would help. Even if it's not a bug, at least I'll
know what's going on and can suggest another approach. It sounds like
something that won't work well because once an include/redefine has been
processed, if you change it and want it to be processed again, there's
really nothing in place to remove/undo the effect of the previous
include/redefine. For example, if you've processed a redefine but now
you've added another thing to be redefined, nothing will remove the
original definition to replace it with its redefinition.
Doing the update() directly on the schema that's changed and possibly on
any downstream schemas that depend on it should do the trick.
James Taylor wrote:
>Ed,
>
>In my scenario, I'm programmatically creating a schema, adding a redefine
>schema directive, and adding a complex type to the redefine content with a
>new element declaration. I then do an update on the new schema. However,
>even after this, the resolveTypeDefinition call returns the original type
>instead of the redefined type. Both types are present in the list of
>global types, though. Perhaps if the entire set of schemas was re-parsed
>the resolution would be correct. Would you like me to open a bug and
>attach a test case?
>
>Also, regarding the manual update, which schema(s) should I perform this
>on? Only the newly created schema, or do I need to do it recursively on
>all included schemas too? Thanks,
>
> James
>
>Ed Merks wrote:
>
>
>
>>James,
>>
>>
>
>
>
>>Resolve should work correctly for redefines, otherwise we could not
>>build the instance correctly.
>>
>>
>
>
>
>>Once a name has resolved, it won't reresolve, even if you add a
>>redefinition that it should resolve to, unless you force an update.
>>
>>
>
>
>
>
>>James Taylor wrote:
>>
>>
>
>
>
>>>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
>>>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
>>>type? It appears to return the old original definition. Same thing for
>>>other named components. Is this correct? Is there something else I can
>>>call to get the redefined type? I notice that if I iterator over all
>>>global types, the redefined type is there.
>>>
>>>Also, if I programmatically add a type to be redefined (with
>>>incrementalUpdate set to true), there does not seem to be any effect until
>>>after I call XSDSchema.update(). Is this expected?
>>>
>>>Thanks,
>>>
>>> James
>>>
>>>
>>>
>>>
>>>
>
>
>
>
--------------020608090609000507080204
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
James,<br>
<br>
Yes, a test case would help.
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: XSDSchema.resolveTypeDefinition on redefined schema [message #591869 is a reply to message #53525] |
Tue, 28 September 2004 03:52 |
James Taylor Messages: 21 Registered: July 2009 |
Junior Member |
|
|
I filed bug #75139 and attached my test case. Thanks,
James
Ed Merks wrote:
> James,
> Yes, a test case would help. Even if it's not a bug, at least I'll
> know what's going on and can suggest another approach. It sounds like
> something that won't work well because once an include/redefine has been
> processed, if you change it and want it to be processed again, there's
> really nothing in place to remove/undo the effect of the previous
> include/redefine. For example, if you've processed a redefine but now
> you've added another thing to be redefined, nothing will remove the
> original definition to replace it with its redefinition.
> Doing the update() directly on the schema that's changed and possibly on
> any downstream schemas that depend on it should do the trick.
> James Taylor wrote:
> >Ed,
> >
> >In my scenario, I'm programmatically creating a schema, adding a redefine
> >schema directive, and adding a complex type to the redefine content with a
> >new element declaration. I then do an update on the new schema. However,
> >even after this, the resolveTypeDefinition call returns the original type
> >instead of the redefined type. Both types are present in the list of
> >global types, though. Perhaps if the entire set of schemas was re-parsed
> >the resolution would be correct. Would you like me to open a bug and
> >attach a test case?
> >
> >Also, regarding the manual update, which schema(s) should I perform this
> >on? Only the newly created schema, or do I need to do it recursively on
> >all included schemas too? Thanks,
> >
> > James
> >
> >Ed Merks wrote:
> >
> >
> >
> >>James,
> >>
> >>
> >
> >
> >
> >>Resolve should work correctly for redefines, otherwise we could not
> >>build the instance correctly.
> >>
> >>
> >
> >
> >
> >>Once a name has resolved, it won't reresolve, even if you add a
> >>redefinition that it should resolve to, unless you force an update.
> >>
> >>
> >
> >
> >
> >
> >>James Taylor wrote:
> >>
> >>
> >
> >
> >
> >>>If SchemaA defines TypeA and SchemaB redefines TypeA, should calling
> >>>SchemaB.resolveTypeDefinition(TypeA.getName()) return the new redefined
> >>>type? It appears to return the old original definition. Same thing for
> >>>other named components. Is this correct? Is there something else I can
> >>>call to get the redefined type? I notice that if I iterator over all
> >>>global types, the redefined type is there.
> >>>
> >>>Also, if I programmatically add a type to be redefined (with
> >>>incrementalUpdate set to true), there does not seem to be any effect until
> >>>after I call XSDSchema.update(). Is this expected?
> >>>
> >>>Thanks,
> >>>
> >>> James
> >>>
> >>>
> >>>
> >>>
> >>>
> >
> >
> >
> >
|
|
|
Goto Forum:
Current Time: Thu Apr 25 08:36:19 GMT 2024
Powered by FUDForum. Page generated in 0.03434 seconds
|