<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
<!--

/*
  The original subSilver Theme for phpBB version 2+
  Created by subBlue design
  http://www.subBlue.com

  NOTE: These CSS definitions are stored within the main page body so that you can use the phpBB2
  theme administration centre. When you have finalised your style you could cut the final CSS code
  and place it in an external file, deleting this section to save bandwidth.
*/


 /* General page style. The scroll bar colours only visible in IE5.5+ */
body {
        background-color: #E5E5E5;
        font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 11;
        color: #000000;
}

/* General font families for common tags */
font,th,td,p { font-family: Verdana, Arial, Helvetica, sans-serif }
p, td                { font-size : 11; color : #000000; }
a:link,a:active,a:visited { color : #006699; }
a:hover                { text-decoration: underline; color : #DD6900; }
hr        { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px;}
h1,h2                { font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif; font-size : 22px; font-weight : bold; text-decoration : none; line-height : 120%; color : #000000;}


/* This is the border line & background colour round the entire page */
.bodyline        { background-color: #FFFFFF; border: 1px #98AAB1 solid; }


/* General text */
.gen { font-size : 12px; }
.genmed { font-size : 11px; }
.gensmall { font-size : 10px; line-height: 12px}
.gen,.genmed,.gensmall { color : #000000; }
a.gen,a.genmed,a.gensmall { color: #006699; text-decoration: none; }
a.gen:hover,a.genmed:hover,a.gensmall:hover        { color: #DD6900; text-decoration: underline; }


/* Forum title: Text and link to the forums used in: index.php */
.forumlink                { font-weight: bold; font-size: 12px; color : #006699; }
a.forumlink         { text-decoration: none; color : #006699; }
a.forumlink:hover{ text-decoration: underline; color : #DD6900; }


/* The content of the posts (body of text) */
.postbody { font-size : 12px; line-height: 18px}
a.postlink:link        { text-decoration: none; color : #006699 }
a.postlink:visited { text-decoration: none; color : #5493B4; }
a.postlink:hover { text-decoration: underline; color : #DD6900}


/* Quote & Code blocks */
.code {
        font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600;
        background-color: #FAFAFA; border: #D1D7DC; border-style: solid;
        border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px
}

.quote {
        font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%;
        background-color: #FAFAFA; border: #D1D7DC; border-style: solid;
        border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px
}

-->
</style>
</head>
        <body>

        <div class="postbody">Hi.<br />
<br />
Following the discussion we had in EBM WS this morning, I'm starting this topic to make the things move forward.<br />
<br />
<span style="font-weight: bold"><span style="text-decoration: underline">Little summary:</span></span><br />
The PEtALS plug-ins generate the component and the CDK specific parts from XSD files.<br />
Which means that in the wizards, the pages relative to the component and to the CDK are generated from XSD files and sometimes completed by hand.<br />
The generation covers the widgets (or GUI), the validation of the user input, and the writing of these elements in the created jbi.xml file.<br />
<br />
<span style="font-weight: bold"><span style="text-decoration: underline">The problem:</span></span><br />
The current mechanism we use is hand-made and incomplete.<br />
It sometimes requires the plug-in developer to add additional widgets (but this not a problem we want to address here) and extra-validation (<span style="text-decoration: underline">this</span> is the problem).<br />
XML schemas is an imperfect way to describe all the constraints we would want to check on an XML file.<br />
It is good for the structure part, but not for the content-relative part.<br />
<br />
</span><table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"><tr>           <td><span class="genmed"><b>Quote:</b></span></td>        </tr>        <tr>          <td class="quote">If this mark-up has this value, then I want to make sure that this other mark-up does not have a greater value.</td>        </tr></table><span class="postbody"><br />
<br />
<span style="font-weight: bold"><span style="text-decoration: underline">The solutions we have:</span></span><br />
<ul><li>Write extra-validation in Java, in some class. <br />
<span style="color: green"><span style="font-weight: bold">Pros:</span></span> everyone knows Java.<br />
<span style="color: red"><span style="font-weight: bold">Cons:</span></span> requires to simplify the manipulated objects (write light code) => API.<br />
<li>Add annotations in XSD files.<br />
<span style="color: green"><span style="font-weight: bold">Pros:</span></span> everything is in the XSDs.<br />
<span style="color: red"><span style="font-weight: bold">Cons:</span></span> choose a syntax, find a processor.<br />
<li>Change the model. Do not use XSDs anymore.<br />
<span style="color: green"><span style="font-weight: bold">Pros:</span></span> change for a better solution.<br />
<span style="color: red"><span style="font-weight: bold">Cons:</span></span> choose a model, something standard if possible, and find a processor.<br />
<li>Any other suggestion?<br />
</ul><br />
<br />
I found this interesting link : <a href="http://www.xfront.com/ExtendingSchemas.html#AdvDisadvSupplement" target="_blank">http://www.xfront.com/ExtendingSchemas.html#AdvDisadvSupplement</a><br />
It gives some examples.<br />
<br />
I'd like to get some feedback about this from those who are likely to develop their own plug-ins in a not-yet-determined future. <br />
Because the only interest for using XSD files and generating most of the wizard content is to have plug-ins developers who are not familiar with Eclipse.<br />
As a reminder, at the beginning, this generation-based solution was chosen in order to see every PEtALS component developer make the associated Eclipse plug-in.<br />
In any case, any solution will require the component developer to provide extra-artifacts:<br />
<ul><li>XSD annotations<br />
<li>XSL files<br />
<li>Java annotations<br />
<li>Any other validation rules<br />
</ul><br />
<br />
The XSD model should be kept in any case. <br />
It could also be used for the edition part (with XEF). <br />
The question is just how we can define extra-contraints. And what is the frequence of such definitions?</div>
        <br /><div class="gensmall"><br />
<br />
<br />
-------------------- m2f --------------------<br />
<br />
Read this forum topic online here:<br />
<a href="http://petals.ebmwebsourcing.com/forum/viewtopic.php?p=338#338" target="_blank">http://petals.ebmwebsourcing.com/forum/viewtopic.php?p=338#338</a><br />
<br />
-------------------- m2f --------------------</div>
        </body>
</html>