[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ISSUE 13: Difficulty using source= attribute to pull values into complex types
http://www.osoa.org/jira/browse/ASSEMBLY-13 On Oct 30, 2007, at 1:54 AM, Mike Edwards wrote: > > Folks, > > Matthew Peters originally raised this issue on the OSOA Assembly > mailing list, but I think that it is worthy of consideration > within the OASIS Assembly TC, so I am raising it formally as an issue. > > > Yours, Mike. > > Strategist - Emerging Technologies, SCA & SDO. > Co Chair OASIS SCA Assembly TC. > IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain. > Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431 > Email: mike_edwards@uk.ibm.com > > > I have a property which is a complex type, and I wanted to use > source= attribute to pull the values down from a global property > within my .composite. This turned out to be not quite as easy as I > thought. I have been through several options. > > _________________________ > My first idea, which was wrong > > I have a composite containing several different components. I want > to specify some proerties at a global level. One of the components > wants to use a omplex type for one of the properties. The complex > type is already defined elsewhere. For this example I'll simplify > it so it has two elements, which are long and short titles that the > component will use: > > <complexType name="titles-type"> > <sequence> > <element name="long-title" type="xs:string"/> > <element name="short-title" type="xs:string"/> > </sequence> > </complexType> > > I want to define some global properties in my composite, with > values which will be pulled down into this and other components. > But the structure of the globals, and the names of the elements are > not the same as the component's and I don't want them to be the > same - I don't want the structure of the global properties forced > on me by the structure of the property for the one component. > Here's the global property where just two of the elements are the > titles I want: > > <property name="global-properties" type="app-namespace:global- > properties-type"> > <application-full-name>Whizzo Insurance, a subsidiary of Fizzo</ > application-full-name> > <application-short-name>Whizzo Insurance</application-short-name> > . <!-- and lots of other elements in here as well --> > </property> > > Here's what I really wanted to write in the component before I was > thinking clearly. I imagined that I was going to use source= but > hadn't realised that I was about to put the source= on the wrong > elements: > > <component ... > <implementation....../> > <property name="app-titles" type="titles-type" > <app-titles xsi:type="titles-type"> > <long-title source="global-properties/application-full- > name"/> > <short-title source="global-properties/application-short- > name"/> > </my-app-complex-element> > </property> > </component> > > The mistake I made here of course is that source= means something > to sca on a property element, but where I wanted to put it was on > an element that is part of a complex type that is nothing to do > with sca. And I don't control the complex type myself so I can't > add to the schema to allow it to take an sca:source= attribute. > > ___________ > Two options > > ******Option 1. > I can give up using the info-type complex type altogether and > flatten all the elements out into separate properties and write e.g. > <property name="long-title" source="global-properties/application- > full-name"/> > <property name="short-title" source="global-properties/application- > short-name"/> > A bit of a shame, but I can do that > > ******Option 2. > I can copy the complex type for app-titles-type and add a source= > attribute, allowing me to write more or less what I proposed the > first time. But this is a bit weird - I am taking the SCA idea of > source=<XPath expression> but at runtime someone is actually going > to have to make it happen and I guess it will be up to the > implementation to do it for me somehow. I can't expect it to just > happen. > > _______________ > What I really want is for SCA to have a more powerful mapping > system to allow me to do more than source= on scalar properties. Or > some other magic. > > I don't think I will be the only one to run into this. Any > suggestions? > Matthew Peters > > > > > > > > > > > Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with > number 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire > PO6 3AU > > > > > > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]