On Wednesday, Aug 27, 2003, at 11:35 Europe/Rome, Christian Haul wrote:
Which is the whole point of my mail. Don't use dependency ranges, use metadata specifying capabilities and requirements for this.
I think you greatly underestimate the complexity of the approach you are proposing.
Last thing I want is to enter the ontology problem space.
There is absolutely no need to go the full way and I don't suggest to do it. A simple list of features that are matched 1:1 would be orders of magnitude more powerful than version numbers.
But in case I'm missing your point, please provide an explicit example.
Actually, I have already provided one:
<provides-features> <feature name="html-skin"/> <feature name="wml-skin"/> </provides-features>
<dependencies>
<block name="core" uri="core">
<feature name="html-serializer"/>
</block>
</dependencies>This would be a very simple block that has little requirements and provides few features.
Let's look e.g. at the databases block. For ease of use, let's assume that any tag appearing beneath "provides-features" is a name of a feature and let's assume that features may have sub-features:
<provides-features>
<esql>
<stored-procedures/>
<grouping/>
<get-xml/>
<get-clob/>
<get-blob/>
</esql>
<sql-transformer>
<stored-procedures/>
<get-xml/>
<get-clob/>
<get-blob/>
</sql-transformer>
<db-actions>
<add/>
<update/>
<delete/>
</db-actions>
<mod-actions>
<add>
<autoincrement>
<oracle/>
<informix/>
<mysql/>
<postgres/>
<hsqldb/>
</autoincrement>
</add>
<update/>
<delete/>
<query/>
</mod-actions>
</provides-features>Now, another block might require the following:
<dependencies>
<block name="databases" uri="db">
<!-- *this* block will refer to the block satisfying
the requirements as "cob:db" -->
<esql>
<grouping/>
</esql>
<sql-transformer/>
</block>
</dependencies>Which is apparently compatible. Even without knowing the semantics of a feature "esql" hence without ontologies.
OK, this is more expensive than comparing to integers. OTOH this will occurr only once when a new block is registered.
Chris.
--
C h r i s t i a n H a u l
[EMAIL PROTECTED]
fingerprint: 99B0 1D9D 7919 644A 4837 7D73 FEF9 6856 335A 9E08