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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel