Author |
Message
|
TonyD |
Posted: Wed Oct 15, 2003 6:22 pm Post subject: XML Schema Import Question (WBIMB 5) |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
I am importing an XML schema into a message set project in my Workbench. The schema describes a message that should be:
Quote: |
Message
...........MessageRequestHeader
...........MessageRequestBody
|
The relevant part of the schema, which I did not create, follows:
Code: |
<xs:element name="Message" type="CustomerSearchRequest"/>
<xs:complexType name="CustomerSearchRequest" mixed="false">
<xs:complexContent mixed="false">
<xs:extension base="BaseMessageRequest">
<xs:sequence>
<xs:element name="MessageRequestBody" type="CustomerSearchRequestBody" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="BaseMessageRequest">
<xs:sequence>
<xs:element name="MessageRequestHeader" type="MessageRequestHeader" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageRequestHeader">
<xs:sequence>
<xs:element name="ActionVerb" type="xs:string" minOccurs="0"/>
<xs:element name="User" type="User" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="User" mixed="false">
<xs:complexContent mixed="false">
<xs:extension base="BaseBusinessObject">
<xs:sequence>
<xs:element name="UserID" type="xs:string"/>
<xs:element name="UserGroup" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
|
When I create the message definition file from this schema, the structure that is created is:
Quote: |
Message
............MessageRequestBody
|
It appears that
Code: |
'xs:extension base="BaseMessageRequest" |
which includes the MessageRequestHeader element has not been actioned. MessageRequestHeader and BaseMessageRequest are shown as Types in the message set.
I have tried minor changes to the source schema, without success, but I am not at all expert in this area. I am wondering whether there is any known problem, or requirement, when importing schemas that include extension elements? Can anyone comment? |
|
Back to top |
|
 |
JLRowe |
Posted: Thu Oct 16, 2003 1:09 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
Hi Tony,
How are you? (I worked with you in Chile)
This is a known problem (feature 25234), and will be included in CSD02.
When using xsd:extension, the base type does not show up in the MRM model display (or anywhere else like a mapping node). However, the parser does work correctly with extensions. If you look at the properties of the complex type containing the extension (e.g. CustomerSearchRequest) there are settings for 'base type' and 'derived by'.
Regards,
Jonathan Rowe |
|
Back to top |
|
 |
TonyD |
Posted: Thu Oct 16, 2003 2:44 pm Post subject: |
|
|
Knight
Joined: 15 May 2001 Posts: 540 Location: New Zealand
|
Hi Jonathan,
Yes I remember you from Santiago...it does not seem two years ago...time flies!
Thanks for the information re xsd:extension....I was sure that the function would be supported, and was therefore stumped as to what we were doing that was wrong.
Out of interest, how does one find out about these 'known' problems? I have spent some time on this problem, and also on a 'SELECT' problem, both of which turn out to be addressed in CSD02. |
|
Back to top |
|
 |
JLRowe |
Posted: Fri Oct 17, 2003 2:02 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
|
Back to top |
|
 |
shanson |
Posted: Fri Oct 17, 2003 3:14 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
Jonathan, Tony
The fix for this problem will not be in CSD02, could you let me know where you got that information from?
There are two problems as you have observed.
a) Message editor does not display the content of an inherited type under the inheriting type (but you can always go and look at the inherited type itself). This is a UI issue only, the model under the covers, and hence the parser, works correctly.
b) Mapping editor does not show the content of an inherited type.
The intent is to provide a fix for a) asap, and to b) hopefully in a CSD after CSD2.
Thanks |
|
Back to top |
|
 |
JLRowe |
Posted: Fri Oct 17, 2003 10:35 am Post subject: |
|
|
 Yatiri
Joined: 25 May 2002 Posts: 664 Location: South East London
|
Sorry,
I misread the support analysts e-mail, he said it would be an efix for CSD02. I thought this meant *part* of CSD2, not after CSD2.
Regards, |
|
Back to top |
|
 |
shanson |
Posted: Mon Oct 20, 2003 12:26 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
Hi Jonathan
I understand the confusion. Apologies for the misleading wording - I think a better phrase is 'e-fix on top of CSD2'.
Regards
Steve |
|
Back to top |
|
 |
Michael Dag |
Posted: Fri Oct 24, 2003 3:01 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
are you saying there is not enough time to put it in CSD2 as it is about to come out?
Michael |
|
Back to top |
|
 |
fazz |
Posted: Thu Apr 06, 2006 7:02 am Post subject: |
|
|
 Centurion
Joined: 20 Feb 2004 Posts: 144 Location: England
|
Does anyone know if this was ever fixed?
I have imported an XML schema and created a message set, it uses base extensions. These show up ok in the mxsd (in curly brackets) but do not show up in the mapping node.
Cheers |
|
Back to top |
|
 |
shanson |
Posted: Thu Apr 06, 2006 7:35 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
Not sure about V5, but it is certainly fixed in V6 - just tried it. |
|
Back to top |
|
 |
fazz |
Posted: Thu Apr 06, 2006 11:28 pm Post subject: |
|
|
 Centurion
Joined: 20 Feb 2004 Posts: 144 Location: England
|
hmm......that would be a pain if it wasn't fixed in 5, no chance of going to 6 here at the moment.
I will have to use esql instead I suppose....shame, thought I would give the mapping node a go, but seems its not up to the job. |
|
Back to top |
|
 |
shanson |
Posted: Thu Apr 06, 2006 11:35 pm Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
The V5 mapper was limited in what it could do because of the underlying mapping framework that it re-used. The V6 mapper is based on a completely different framework which accomodates XML Schema things like type extension, wildcards and substitution groups.
Other customers who have run into this issue have upgraded just the toolkit to V6. The V6 mapper generates V5-compliant ESQL, so you can take advantage of the new mapper while keeping your brokers at V5. You should seriously consider this option if use of graphical mapping is important. |
|
Back to top |
|
 |
fazz |
Posted: Thu Apr 06, 2006 11:48 pm Post subject: |
|
|
 Centurion
Joined: 20 Feb 2004 Posts: 144 Location: England
|
Thats interesting...I may be able to get away with just upgrading the toolkit.
Would I run into any other problems though, using a v6 toolkit to create v5 flows? would all other nodes compile correctly?
Its not really important I suppose, I could just code it in eSQL, just never had a reason to use the mapping node before, so thought I would give it a whirl.
Thanks for your help  |
|
Back to top |
|
 |
shanson |
Posted: Fri Apr 07, 2006 12:40 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
Clearly you can't use V6 function in a message flow that is to be deployed to V5, so the problem boils down to knowing what function was added in V6 and avoiding using it. Not always that easy to know.
The toolkit tries to help with this where it can, for example, when you add a message set to a BAR file, the dictionary compiler issues warnings stating the minimum broker level needed to interpret the dictionary. |
|
Back to top |
|
 |
fazz |
Posted: Fri Apr 07, 2006 1:16 am Post subject: |
|
|
 Centurion
Joined: 20 Feb 2004 Posts: 144 Location: England
|
Ok, I think for now I will stick with esql.
Dont think its worth the risk just to use visual mappings.
Look forward to getting my hands on v6 however.
Cheers |
|
Back to top |
|
 |
|