cybop-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [cybop-developers] CYBOP API dynamisch generieren


From: Christian Heller
Subject: Re: [cybop-developers] CYBOP API dynamisch generieren
Date: Wed, 4 Jul 2012 23:26:36 +0200
User-agent: KMail/1.13.7 (Linux/3.2.0-2-686-pae; KDE/4.8.3; i686; ; )

Hallo Herr Gallus,

vielen Dank für Ihre Nachricht.
Hatte sie am letzten Samstag abgerufen, aber noch nicht antworten können.

Ich schaue im Urlaub aus Prinzip nicht in meine Arbeits-E-Mails.
Falls Sie zwischenzeitlich noch eine zum Thema CYBOP geschrieben haben,
so senden Sie sie bitte erneut an die Mailing List:
<address@hidden>
oder an meine Entwickleradresse:
<address@hidden>

Nun zum Thema:

Sie wollten kein Fließband- bzw. Fleißthema, sondern ein Forschungsthema
haben. Dabei gibt es nun noch offene Stellen und fehlende Implementierung
an zwei Stellen meinerseits. Auf die Schnelle ein paar Antworten, die
evtl. etwas helfen:

> ich habe mir die Struktur des API Generators genaustens angeschaut, um die
> dynamische Generierung umzusetzen.
> In der run.cybol rufe ich anstelle der "translate_property.cybol" (die nur
> statisch einen wert in die html datei schreibt) die
> "translate_specification.cybol" auf.

Klingt gut und richtig.

> Hierbei wollte ich die Schleife nutzen, um die Eintragungen in der
> "specification.cybol" als Überschrift in die Index.html zu drucken.

Zur Verwendung von Schleifen siehe Beispiel:
examples/shell_output_loop/
Beachte den comparison break test VOR Aufruf der Schleife UND im
Schleifenkörper!

> Nach langer und aufwendiger Suche habe ich dank dem "model-baum"
> herausgefunden das der Teil ".temporary" im Wissensbaum nicht existiert.
> Als ich die deklarierten Variablen in der Datei im Order Temporary dem
> Wissenbaum unter dem erwarteten Knoten ".temporary" hinzugefügt hatte,

Richtig gemacht.

> musste ich feststellen, dass die von ihnen verwendeten Variablennamen
> ("translate_specification.cybol", "translate_topic.cybol") mit den
> deklarierten Variablennamen in "translate_content_to_wui.cybol" nicht
> übereinstimmen.

Ich hatte nur Fragmente codiert, die noch nicht alle zusammen passten
und noch nicht alle erzeugt wurden.

> Nachdem ich auch dies behoben hatte, funktionierte die Schleife immer noch
> nicht. Nach erneut langem suchen fand ich die Methode "modify/get-count"
> mit den Eigenschaften namens "count" und "model". Ich konnte die Methode
> nirgendwo in der API finden!?

Diese Operation ist durch mich NOCH ZU IMPLEMENTIEREN. Auch die folgende:
modify/get bzw. modify/get_model_part_at_index (oder so ähnlicher Name)

> Deswegen habe ich die Methode durch die "modify/count" methode
> ausgetauscht.

Richtig gemacht. Eine "get-count" gibt es NICHT.
Die Operation "modify/count" hatte ich kürzlich implementiert, aber
NOCH NICHT GETESTET. Vermutlich fehlt noch was.

> Allerdings zeigt mir die Ausgabe des "model-baum" das sich
> der wert der variable im Wissensbaum nicht ändert. Die Variable mit diesen
> Namen an der Stelle im Wissensbaum existiert und ist mit dem Wert "0"
> initialisiert.

> <part name="count_specifications" channel="inline" encoding="utf-8"
> language="text/cybol" format="modify/count" model="">
>         <property name="result" channel="inline" encoding="utf-8"
> language="text/cybol" format="path/knowledge"
> model=".temporary.loop_count"/>
>         <property name="compound" channel="inline" encoding="utf-8"
> language="text/cybol" format="path/knowledge" model=".specification"/>
>  </part>

Siehe aktuell geforderte Properties in Datei:
applicator/modify/count.c

Aber hier muss ich noch was Kleines programmieren. Geht noch nicht.

> Ich habe ein "communicate/send" vor und nach diese Zeile and die Konsole
> hinzgefügt (natürlich unter verwendung des path/knowledge formats)an der
> ich die Variable ".temporary.loop_count" ausgeben möchte. Allerdings
> erscheint nichts davon auf der Konsole, wenn ich die run.cybol ausführe.
> Ein send an die Console mit einen "text/plain" in der logik-Datei wird
> angezeigt, was bedeutet das er diese sequentiell abarbeitet.
> 
> Übersehe ich hierbei irgendetwas?

Die Ursache ist wahrscheinlich, dass Sie für "send" angegeben haben:
        <property name="format" channel="inline" encoding="utf-8" 
language="text/cybol" format="meta/format" model="element/part"/>
Doch für die Variable ".temporary.loop_count" als primitiven Datentypen
ist statt "element/part" Folgendes zu verwenden:
        <property name="format" channel="inline" encoding="utf-8" 
language="text/cybol" format="meta/format" model="number/integer"/>

Bitte checken Sie mal Ihren aktuellen Stand ein.
Vielleicht finde ich die Zeit, mal drüber zu schauen.
Ansonsten können Sie die Zeit ja erstmal mit Fleißarbeit (Spezifikation)
überbrücken :)

Viele Grüße!
Christian Heller

-- 
Reform our monetary system!
Use community currencies!
Central banks like FED are private. Let the state issue money!
http://www.humane-wirtschaft.de/beitraege/in-english/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]