All, using CSV, I'm trying to import a tag value that is part of a complex type, and cannot get it working.
Note:
- I can import a regular tagged value just fine.
- I can import a tag value that is part of a tag group just fine.
- My struggle relates to a tag value that is an attribute of a complex type: in this case, Address.
Please be patient with this explanation. Thanks in advance to any brave sole willing to read this.
A. SETUP THE PROFILE
1) I have a meta model (aka profile) called "myProfile".
2) In myProfile, I have a meta class for an actor, extended by a new stereotype called "User".
3) In myProfile, I have a class called "Address".
4) Address has two attributes: "postal code" and "city".
5) On stereotype User, add an attribute call "home Address" of local type "Address".
6) Save the profile and import the profile.
B. USE THE PROFILE
1) Create a TestPackage, and create a class "Foo" of stereotype "User".
2) Open Foo properties and see the "Main", "Tags", and "myProfile" tabs. Good!
3) Go the the myProfile tab, there is a tag group called "home address". Still Good!
N.B. On the user interface, this looks just like a tag group, even though it's not really.
4) Expand "home address" and specify values for "postal code" and "city".
5) All is good, so far.
C. SET UP THE I/O SPECIFICATION
1) Create a new I/O Specification called "IO".
2) Click on the "Add Tagged Value Field" button.
3) Choose "value".
4) Click on the "Other Element" button.
5) Select my class "Foo". Good, it shows up!
6) Select "Home Address" from the pick list.
7) Click OK.
D. DO THE EXPORT
1) Highlight Test Package.
2) Select "CSV Export/Import" from the Publish ribbon, and select the I/O specification called "IO".
3) Perform the export.
4) Check the output CSV and it looks great!
E. CHANGE THE EXPORT FILE
1) Open the export file.
2) Locate the record/row for class "Foo".
3) Locate the column called "TagValue_Work Address". Notice that the value is a comma-separated list enclosed in double quotes.
Example: "90807,London"
where 90807 is the postal code, and London is the city.
4) Change the city value from London to "Paris"
5) Save the file.
F. DO THE IMPORT
1) Highlight Test Package.
2) Select "CSV Export/Import" from the Publish ribbon, and select the I/O specification called "IO".
3) Select the "IO" spec and the file I previously exported.
4) Perform the input. Sparx reports success.
5) PROBLEM

The tag value for city is still "London".
So, the imported data is getting stored somewhere; just not in the right place.K
This process works perfectly for a stand along tag value, or a tag group member, but not for attributes of a complex type.
Any suggestions? Can I set this up better? Should it work?