Hi

As Paul mentioned, we had some discussions last week on getting ready for Synpase 1.0, and another point we discussed was that the current properties mechanism tied with the registry/dynamic properties, and two level indirection seems to be a bit too complicated for some to understand. So let me try to explain the proposed enhancements by example!

At present, one could define static or dynamic properties as follows:
<definitions>
<set-property name="string" [value="string"] [src="url"] [key="string"]>
      string? | <inline-xml/>?
    <set-property/>
</definitions>

And the proposal is to support whats shown below, where everything is picked up from a registry - either local or remote.
<definitions>
   <!-- any local keys ALWAYS override remote keys with the same name -->
   <registry-entry key="string"  [src="url"]>
      string? | <inline-xml/>?
   <registry-entry/>
</definitions>

Basically, this means that there is *always* a registry from where items are looked up. There could be a remote registry, and you could define some items on your local view of it - effectively overriding any resources from it. It is also possible that you may not use a remote registry - and thus define any resources locally.

When a remote registry is defined, you *do not* have to define the registry keys to Synapse again as before (using dynamic properties), since Synapse would see all keys available in your remote registry by default. Say your registry contains a key "reg_key_xslt1" which maps to a XSLT, and you want to use this resource from a XSLT mediator. You just have to state

<xslt key="reg_key_xslt1"/>

If a XSD you require is not available on your remote registry, you may define it locally as follows, and use it:

<definitions>
   <registry-entry key="local_key_xsd1"  src="file:xsds/my_schema1.xsd"/>
</definitions>

<validate>
   <schema key="local_key_xsd1"/>
</validate>

One point to note is that whenever you define a key locally, it hides any item with the same key from your remote registry. So it is possible to easily override some elements for a production or staging environment if required. We will keep the current dynamic nature of properties with these enhancements, so that dynamic resources, sequences etc will all be possible in future too.

I hope this will be something easier for everybody to understand, as Synapse gains the focus of a wider user base, and if there are no objections, we hope to embark on these enhancements ASAP.

thanks
asankha



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to