SCA/Components/SCA XML Editor
The SCA Composite XML editor extends and specializes for SCA composites the XML editor provided by the WTP Eclipse project.
Thus, this editor inherits from the following features :
- Syntax highlighting
- Text formatting
- XSD-based validation
As a basic feature, the editor is automatically associated with *.composite files. It also uses SCA XSD files to validate your file and provide auto-completion for mark-ups and attribute names.
This editor provides three additional features the default XML editor does not offer.
Attribute Values Proposals
It consists in making auto-completion proposals for attribute values. Once you have entered an attribute name and are about to define its value, you can ask for auto-completion proposals by typing ctrl + space. If the attribute is one of the supported ones, then you should get proposals based on context information.
Currently, the editor proposes values for the following attributes:
- attribute promote from composite service mark-up
- attribute promote from composite reference mark-up
- attributes source and target from composite wire mark-up
- attribute target from component reference mark-up
- attribute name from composite include mark-up
The five first quoted attributes will get SCA relative URIs ( componentName/serviceName or componentName/referenceName ) as proposals. The proposals which are made take in account included composites, which means that proposals will include elements from included composites. Composite inclusion is discussed in the next section.
SCA assembly model provides an inclusion mechanism which allows a composite file to include other composite files. A good example of this mechanism is available in the assembly model document of the SCA specification.
The SCA Composite XML editor can help you when using composite inclusion.
<include name", you can ask for auto-completion proposals by typing in ctrl + space. This will display the composites available in your project (and not already included in your file).
Example: include the composite Restaurant whose target namespace is http://tuscany/sample/restaurant.
The proposals only include composites which are valid XML files. Besides, they must have defined the targetNamespace attribute. Since include names are QNames, the editor makes sure to add the namespace prefix to get a correct result. If the namespace URI was already defined in your document, the proposal will reuse its prefix. Otherwise, it will generate one and add it in the mark-up.
Let's take the previous example and let's define the namespace http://tuscany/sample/restaurant in the
composite top element.
Auto-completion uses included files to make proposals. However, notice that recursive inclusions are not managed by this editor, since it is still not clear about how runtime platforms will handle it.
SCA Outline View
Eventually, the editor provides a SCA specific outline view. This view displays composite elements with their icon (the same than those used by the SCA Composite Designer). Like the previous features, this outline handles file inclusions. For the moment, the view only provides basic actions. They will be extended in a future version.
SCA Component Types
This editor has been extended to edit *.componentType files. As a result, the features provided when editing composite files are also available when editing componentType files. This editor also proposes a wizard to create such kind of file.