Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » XML Schema Definition (XSD) » XSDSchema.resolveTypeDefinition on redefined schema
XSDSchema.resolveTypeDefinition on redefined schema [message #53285] Sat, 25 September 2004 01:55 Go to next message
Eclipse UserFriend
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 Go to previous messageGo to next message
Eclipse UserFriend
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 Go to previous messageGo to next message
Eclipse UserFriend
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 Go to previous messageGo to next message
Eclipse UserFriend
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 Go to previous message
Eclipse UserFriend
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 Go to previous message
Ed Merks is currently offline Ed MerksFriend
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 Go to previous message
James Taylor is currently offline James TaylorFriend
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 Go to previous message
Ed Merks is currently offline Ed MerksFriend
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 Go to previous message
James Taylor is currently offline James TaylorFriend
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
> >>>
> >>>
> >>>
> >>>
> >>>
> >
> >
> >
> >
Previous Topic:Delete an Element
Next Topic:How to get resolvedModelGroupDefinition()?
Goto Forum:
  


Current Time: Thu Apr 25 08:36:19 GMT 2024

Powered by FUDForum. Page generated in 0.03434 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top