Bug 265179 - DCR: suppressedGetVisibility="false" for mixed featuremap from XSD
Summary: DCR: suppressedGetVisibility="false" for mixed featuremap from XSD
Status: NEW
Alias: None
Product: EMF
Classification: Modeling
Component: XSD (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Ed Merks CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-17 11:26 EST by Randy Hudson CLA
Modified: 2023-01-12 11:49 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Randy Hudson CLA 2009-02-17 11:26:30 EST
Build ID: any

Steps To Reproduce:
I have the following schema:

<xs:complexType name="MixedContainer"
		mixed="true"
		abstract="true">
	<xs:complexContent>
		<xs:extension base="FlowContainer">
			<xs:sequence>
				<xs:element ref="FlowElement"
						ecore:name="children"
						minOccurs="0"
						maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

<xs:complexType name="TextRun">
	<xs:complexContent>
		<xs:extension base="FlowLeaf">
			<xs:attribute name="text" type="xs:string"/>
		</xs:extension>
	</xs:complexContent>
</xs:complexType>

All of the "mixed" content is only relevant during serialization. When my model is saturated, Strings from the mixed content are turned into modeled "TextRuns" that are stored as part of the "children" feature.  So, "mixed" is a serialization-time feature, "children" is the real feature in all ways except it is transient (because it is persisted via mixed).

I would like a way to annotate my XML Schema such that:
1. "mixed" feature has GenModel->suppressedGetVisibility=true
2. "mixed" feature is:
    2.1 derived=true (overriden by me)
    2.2 volatile=true (overriden by me)
        (transient=false) (default value, shouldn't change)
3. "children" feature is:
    3.1 derived=false (overriden by me)
        (transient=true) (default value, shouldn't change)
        (volatile=true) (default value, shouldn't change??)

Note also that a "childrenGroup" featuremap might also be in the picture if ecore:ignoreSubstitutionGroups="true" isn't used.

More information:
If you want to restrict this enhancement to the first requirement (1.), I can open separate enhancements for the other aspects of what I'm trying to achieve.
Comment 1 Randy Hudson CLA 2009-02-17 11:30:24 EST
marking as enhancement