Hello!

Christian Boulanger wrote:
> Dietrich - this is a very interesting idea and maybe you will want to 
> include your ideas once we have checked in the code. We are currently 
> waiting that the core developers find the time to help us integrate xslt 
> into the build process. I had proposed compiler options like this:
>
> --xslt-use-stylesheet=/path/to/stylesheet.xsl \
> --xslt-output-dir=/path/to/source/class \
> --xslt-use-template-dir=/path/to/dir/containing/xml/templates,\ 
> /path/to/dir/containing/more/xm/templates
>   
Christian, I think it will look like you propose but I would include
path to QxTransformer config as property.

Like this:
--xslt-use-stylesheet=/path/to/stylesheet.xsl  (main file, core)
--xslt-output-dir=/path/to/source/class 
--xslt-use-config-path=/path/to/dir/containing/config.xml 

In configuration we can include anything what we want including template
folder and files and others configuration properties.

> and some attribute in the top-level widget node that indicates where the 
> generated javascript class code is to be put. The generated code is then 
> optimized and "compiled" with the rest of the source code. Earlier, the 
> concept was the on-demand generation of code, but that was not efficient 
> and depended on some php/java backend.
>
> Cheers,
>
> Christian
>
> Dietrich Streifert wrote:
>   
>> In my current project I have used a bunch of xsl scripts which create a 
>> qooxdoo widget stack in javascript based on a xml schema. This widget 
>> stack is the "editor" for elements which are defined in the xml schema.
>>
>> The xml schema is also the base for generating the sql ddl code for the 
>> database and the code for the backend in perl.
>>
>> This xsl scripts also generate the field validation and the 
>> serialization code. One additional xml file is used to describe field 
>> dependencies and field calculations like enable field b if field a has 
>> value 'x' or value of field b is calculated form field c and field d. In 
>> most cases I've used a simple syntax for field dependencies like:
>>
>> <field name="a" input="radio">
>>     <enabled field="b" value="yes"/>
>> </field>
>>
>> One of the main problems was how to identify a widget by its "name". To 
>> achieve this I've extended qx.ui.base.Widget whith some properties like 
>> xname and xpath which are used to "find" a widget by its name or xml 
>> path within a widget stack. This and a "name aware manager" which is 
>> attached to the top widget of the widget stack allowed to create code like:
>>
>> fielda.addEventListener("changeValue", function(e) {
>>     var fieldb = manager.getFieldByName("b");
>>     if(e.getData() == 'yes') {
>>        fieldb.setEnabled(true);
>>     }
>>     else {
>>        fieldb.setEnabled(false);
>>     }
>>    
>> });
>>
>> The current schema contains 140 elements and the resulting editor widget 
>> has 140 input widgets like text fields, radio buttons and comboboxes 
>> which are grouped as tabs and group boxes. There are a lot of 
>> enabled/disabled dependecies between fields and fieldgroups. I think 
>> creating this logic by hand is very time consuming and faulty.
>>
>> I hink this task would have been easier with a qooxdoo xml layer between 
>> schema analyzation and widget creation. Maybe bringing in some 
>> additional functionality like widget dependencies and widget validation 
>> will give QxTransformer a competitive edge compared to handwired 
>> javascript logic.
>>
>> So I vote for QxTransformer.
>>
>>
>> bishio schrieb:
>>   
>>     
>>> Hi.
>>>
>>> I thing this is a great idea. 
>>>
>>> A XSD schema for the xml can be helpful to develop external tools to create
>>> and edit the xml-qooxdoo application. 
>>>
>>> There are tools to design user interfaces, like glade, that save the
>>> definition to xml files. It is possible to use that tools to create
>>> interfaces for qooxdoo:
>>> xml-glade->_xslt_->xml-qooxdoo->_xslt_>javascript_qooxdoo
>>>
>>>   
>>>     
>>>       
>>   
>>     
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>   


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to