Allowed children of a XSDSimpleTypeDefinition [message #33003] |
Wed, 12 November 2003 12:25  |
Eclipse User |
|
|
|
Ed,
I am a little confused (again :-) about a piece of logic in
XSDSimpleTypeDefinitionItemProvider.collectNewChildDescripto rs(...). The
logic, shown below, adds a new child descriptor to the list regardless of
whether canAccomodateFacet(std,facet) returns true or false. Reading the
javadoc for canAccomodateFacet(...) it seems that if this method returns
false then the simple datatype cannot accomodate the given constraining
facet and should not even be returned as a permissible child. Should it be
creating a CommandParameter instance with a null feature reference?
// facets
for (Iterator i = validFacets.iterator(); i.hasNext(); )
{
XSDConstrainingFacet facet =
(XSDConstrainingFacet)xsdFactory.create((EClass)xsdPackage.g etEClassifier(fo
rmFacetTypeName(i.next())));
facet.setLexicalValue("");
feature = !canAccomodateFacet(std, facet) ? null : <<<<<
xsdPackage.getXSDSimpleTypeDefinition_FacetContents();
newChildDescriptors.add(createChildParameter(feature, facet));
}
Thanks.
Dennis
|
|
|
Re: Allowed children of a XSDSimpleTypeDefinition [message #33039 is a reply to message #33003] |
Wed, 12 November 2003 12:52  |
Eclipse User |
|
|
|
Originally posted by: merks.ca.ibm.com
Dennis,
This way the menu item is disabled rather than disappearing so it keeps the menu
looking consistent for every simple type.
dfuglsang wrote:
> Ed,
>
> I am a little confused (again :-) about a piece of logic in
> XSDSimpleTypeDefinitionItemProvider.collectNewChildDescripto rs(...). The
> logic, shown below, adds a new child descriptor to the list regardless of
> whether canAccomodateFacet(std,facet) returns true or false. Reading the
> javadoc for canAccomodateFacet(...) it seems that if this method returns
> false then the simple datatype cannot accomodate the given constraining
> facet and should not even be returned as a permissible child. Should it be
> creating a CommandParameter instance with a null feature reference?
>
> // facets
> for (Iterator i = validFacets.iterator(); i.hasNext(); )
> {
> XSDConstrainingFacet facet =
>
> (XSDConstrainingFacet)xsdFactory.create((EClass)xsdPackage.g etEClassifier(fo
> rmFacetTypeName(i.next())));
> facet.setLexicalValue("");
> feature = !canAccomodateFacet(std, facet) ? null : <<<<<
> xsdPackage.getXSDSimpleTypeDefinition_FacetContents();
> newChildDescriptors.add(createChildParameter(feature, facet));
> }
>
> Thanks.
>
> Dennis
|
|
|
Re: Allowed children of a XSDSimpleTypeDefinition [message #580758 is a reply to message #33003] |
Wed, 12 November 2003 12:52  |
Eclipse User |
|
|
|
Dennis,
This way the menu item is disabled rather than disappearing so it keeps the menu
looking consistent for every simple type.
dfuglsang wrote:
> Ed,
>
> I am a little confused (again :-) about a piece of logic in
> XSDSimpleTypeDefinitionItemProvider.collectNewChildDescripto rs(...). The
> logic, shown below, adds a new child descriptor to the list regardless of
> whether canAccomodateFacet(std,facet) returns true or false. Reading the
> javadoc for canAccomodateFacet(...) it seems that if this method returns
> false then the simple datatype cannot accomodate the given constraining
> facet and should not even be returned as a permissible child. Should it be
> creating a CommandParameter instance with a null feature reference?
>
> // facets
> for (Iterator i = validFacets.iterator(); i.hasNext(); )
> {
> XSDConstrainingFacet facet =
>
> (XSDConstrainingFacet)xsdFactory.create((EClass)xsdPackage.g etEClassifier(fo
> rmFacetTypeName(i.next())));
> facet.setLexicalValue("");
> feature = !canAccomodateFacet(std, facet) ? null : <<<<<
> xsdPackage.getXSDSimpleTypeDefinition_FacetContents();
> newChildDescriptors.add(createChildParameter(feature, facet));
> }
>
> Thanks.
>
> Dennis
|
|
|
Powered by
FUDForum. Page generated in 0.45966 seconds