User Tools

Site Tools


xmlscripting-de

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
xmlscripting-de [2023/01/22 18:44] rainerkxmlscripting-de [2024/02/16 01:35] (current) rainerk
Line 6: Line 6:
     * [[:text-de#variablen|Text-Variablen]]     * [[:text-de#variablen|Text-Variablen]]
     * [[:xmlscripting:xmldb-de|XMLScript-Beispiele]] | [[:userpages:micha68:virtualfbscript|Virtuelle Rückmelder]] | [[:userpages:micha68:extkeyboardscript-de|Externe Taster und LEDs]] | [[:userpages:micha68:ampelscript-de|Verkehrsampel]] | [[:userpages:nice2have:shuntingexample-de|Rangieren]]     * [[:xmlscripting:xmldb-de|XMLScript-Beispiele]] | [[:userpages:micha68:virtualfbscript|Virtuelle Rückmelder]] | [[:userpages:micha68:extkeyboardscript-de|Externe Taster und LEDs]] | [[:userpages:micha68:ampelscript-de|Verkehrsampel]] | [[:userpages:nice2have:shuntingexample-de|Rangieren]]
 +
 +| [[:supportkey-de|{{:icons:key.png}}]] //XMLScript ist nur mit gültigem __**[[:supportkey-de|Unterstützungs-Schlüssel]]**__ verfügbar.// |
 +
 +{{:xmlscripting.png}}
 +
 +^  NICHT FÜR UNERFAHRENE ANWENDER ! ! !  ^
  \\  \\
-^  NICHT FÜR UNERFAHRENE ANWENDER :!: :!: :!:  ^ +
- \\ +
-{{:xmlscripting.png}}\\ +
-| Ab //Rev. 15.429// ist der XML-Editor codesensitiv mit Farb-Darstellung von Knoten, Statements, Parametern, Werten, Kommentaren usw.|\\ +
- \\ +
 =====Warnung===== =====Warnung=====
   - Standard-Rocrail-Funktionen nicht durch XMLScript ersetzen.   - Standard-Rocrail-Funktionen nicht durch XMLScript ersetzen.
Line 316: Line 318:
  
 ==== break ==== ==== break ====
-Beendet eine foreach-Schleife mit oder ohne Bedingung. cmt=“reason” kann für die Ablaufverfolgung (Tracing) angegeben werden. \\+Beendet eine foreach- und while-Schleife mit oder ohne Bedingung. cmt=“reason” kann für die Ablaufverfolgung (Tracing) angegeben werden. \\
 Diese Anweisung hat keinen Effekt, wenn sie nicht innerhalb einer foreach-Schleife erfolgt. \\ Diese Anweisung hat keinen Effekt, wenn sie nicht innerhalb einer foreach-Schleife erfolgt. \\
 <code xml> <code xml>
Line 383: Line 385:
 ====query==== ====query====
 Mit der **query**-Anweisung (Abfrage) kann eine Variable verwendet werden, um das Attribut Text oder Integer-Wert eines bestimmten Objekts zu erhalten.\\ Mit der **query**-Anweisung (Abfrage) kann eine Variable verwendet werden, um das Attribut Text oder Integer-Wert eines bestimmten Objekts zu erhalten.\\
 +Ein **query** bietet nur Objekt-Eigenschaften, aber __keine__ Laufzeit-Informationen.
 <code xml> <code xml>
   <query vr="var1" table="waybilllist" id="%oid%" get="cartype"/>   <query vr="var1" table="waybilllist" id="%oid%" get="cartype"/>
Line 395: Line 398:
 Anstelle von ''subidx'' kann auch ''subid'' verwendet werden, wenn der Sub-Knoten eine Kennung (ID) hat.\\ Anstelle von ''subidx'' kann auch ''subid'' verwendet werden, wenn der Sub-Knoten eine Kennung (ID) hat.\\
 \\ \\
-:!: Query-Variable müssen XMLScript-eindeutig sein, um unerwartete Ergebnisse zu vermeiden. :!: |+| Query-Variable müssen XMLScript-eindeutig sein, um unerwartete Ergebnisse zu vermeiden. :!: |
  
 ===Funktions-Beispiel=== ===Funktions-Beispiel===
Line 526: Line 529:
 | Rückmelder | fb | Alle, on, off, flip | | | <fb id="AF" cmd="on"/> | | Rückmelder | fb | Alle, on, off, flip | | | <fb id="AF" cmd="on"/> |
 | Fahrstraße | st | go, lock, free, classset, classadd, classdel | | Die Befehle "lock" und "free" benötigen das zusätzliche Attribut **locid**="myLoco". | %%<st id="x" state="closed"/>%% | | Fahrstraße | st | go, lock, free, classset, classadd, classdel | | Die Befehle "lock" und "free" benötigen das zusätzliche Attribut **locid**="myLoco". | %%<st id="x" state="closed"/>%% |
-| Text | tx | showon, showoff | | Update-Ereignis durch Format-Attribut. \\ Die optionalen **bkid** und **lcid** können auch im Befehl verwendet werden. | %%<tx id="tx1" format="the loco id is %lcid%"/>%% | +| Text | tx | showon, showoff, blink, on, off, click | | Update-Ereignis durch Format-Attribut. \\ Die optionalen **bkid** und **lcid** können auch im Befehl verwendet werden. | %%<tx id="tx1" format="the loco id is %lcid%"/>%% \\ <text id="xyz" cmd="blink" blink="true"/>
-| Variable | vr | random, start, stop \\ start, length (for substring) | | Setzen durch Attribute: value="0" (Wert) text="zero"; (Wert-Text). \\ Um sie nur temporär anzulegen %%generated="true"%% setzen. | %%<vr id="var1" text="Rocrail"/>%% \\ %%<vr id="var2" text="@var1-XML-Scripting." tokeniser="-"/>%% \\ %%<vr id="var2" text="@var1" start="1" length="3"/>%% |+| Variable | vr | random, start, stop \\ start, length (for substring) | | Setzen durch Attribute: value="0" (Wert) text="zero"; (Wert-Text). \\ Um sie nur temporär anzulegen %%generated="true"%% setzen. \\ **Update:** mit 2.1.3268+ ist das der Standard-Wert. \\ Um sie statisch anzulegen %%generated="false"%% setzen.| %%<vr id="var1" text="Rocrail"/>%% \\ %%<vr id="var2" text="@var1-XML-Scripting." tokeniser="-"/>%% \\ %%<vr id="var2" text="@var1" start="1" length="3"/>%% |
 | Aktionskontrolle | actionctrl | | |Die Kennung in der Aktionskontrolle ist eine Referenz auf ein existierendes Objekt. Bedingungs-Kind-Knoten können hinzugefügt werden. | | Aktionskontrolle | actionctrl | | |Die Kennung in der Aktionskontrolle ist eine Referenz auf ein existierendes Objekt. Bedingungs-Kind-Knoten können hinzugefügt werden. |
 | Fahrdienstleiter | operator | emptycar, loadcar, addcar, leavecar. | |Im Wagen-Kennungs-Attribut (carids) muss eine kommaseparierte Liste von Wagen-Kennungen spezifiziert werden. | | Fahrdienstleiter | operator | emptycar, loadcar, addcar, leavecar. | |Im Wagen-Kennungs-Attribut (carids) muss eine kommaseparierte Liste von Wagen-Kennungen spezifiziert werden. |
 | System | sys | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#sys | | | System | sys | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#sys | |
 | Automat | auto | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#auto | | | Automat | auto | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#auto | |
-| Wagen | car | empty, loaded, maintenance, assignwaybill, resetwaybill, loco & function | empty, loaded, maintenance, cartype, location | %%<car id="test" cmd="assignwaybill" waybill="testbill"/>%% |+| Wagen | car | empty, loaded, maintenance, assignwaybill, resetwaybill, loco & function | empty, loaded, maintenance, cartype, location | %%<car id="test" cmd="assignwaybill" waybill="testbill"/>%% |
 | Aufstellblock | sb | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#sb | | | Aufstellblock | sb | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#sb | |
 | Fiddle Yard | seltab | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#seltab | | | Fiddle Yard | seltab | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#seltab | |
 | Ortschaft | location | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#location | | | %%<location id="Blaak" cmd="info" svalue="tx1"/>%% | | Ortschaft | location | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#location | | | %%<location id="Blaak" cmd="info" svalue="tx1"/>%% |
-| Uhr | clock | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#clock | |  // Modellzeit auf Systemzeit einstellen: // \\  %%<clock divider="1" hour="%syshour%" minute="%sysmin%"/>%%  |+| Uhr | clock | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#clock | | //Modellzeit auf Systemzeit einstellen: // \\  %%<clock divider="1" hour="%syshour%" minute="%sysmin%"/>%%  |
 | Drehscheibe | tt | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#tt | | | Drehscheibe | tt | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#tt | |
 | Extern | ext | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#ext | | | Extern | ext | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#ext | |
-| Wetter | weather | setweather, weathertheme | | +| Wetter | weather | setweather, weathertheme, go, stop | | 
-| Licht | light | flip, enable, disable | Aktiviert ein Licht von LightControl. | +| Licht | light | flip, enable, disable | Aktiviert ein Licht von LightControl. | 
-| Licht-Steuerung | lightctrl | go, stop | Aktiviert / deaktiviert die Licht-Steuerung (LightControl). | %%<lightctrl cmd="go"/>%% \\ %%<lightctrl cmd="stop"/>%% | +| Licht-Steuerung | lightctrl | go, stop |Aktiviert / deaktiviert die Licht-Steuerung (LightControl). | %%<lightctrl cmd="go"/>%% \\ %%<lightctrl cmd="stop"/>%% | 
-| Model | model | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#model | Mit "modify" (ändern) werden die Unterknoten durch die neuen ersetzt. Auch Unterknoten werden gelöscht, wenn keine neuen vorhanden sind -> Stattdessen "change" verwenden.  | %%<model cmd="change"/>%% \\ %%<tx id="x" backred="255" backgreen="0" backblue="0"/>%% \\ %%</model>%% | +| Model | model | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#model | | Kommando "modify" wird nicht unterstützt -> Stattdessen "change" verwenden.  | %%<model cmd="change">%% \\ %%<tx id="x" backred="255" backgreen="0" backblue="0"/>%% \\ %%</model>%% |  
 +| Geschwindigkeits-\\ Messstrecke | mv | reset, sets1, sets2, setdistance, setdistanceR | | | <mv cmd="sets2" s2="fb4712"/> |
  \\  \\
  
Line 609: Line 613:
 \\ \\
 =====Temporäre Variablen===== =====Temporäre Variablen=====
-Solange eine Variable keine Werte von Laufzeit zu Laufzeit von Rocrail übertragen musskönnen diese Variablen als "generated" definiert werden\\+Um eine Variable  von Laufzeit zu Laufzeit in Rocrail zu speichernmuss diese Variable als „generiert“ "false" definiert werden\\
  
 ====Beispiel==== ====Beispiel====
 <code xml> <code xml>
 <xmlscript> <xmlscript>
-  <vr id="vr_MSN3_zuletztBenutzteLokomotive" value="0" text="br89"/> +  <vr id="vr_MSN3_zuletztBenutzteLokomotive" value="0" text="br89" generated="false"/> 
-  <vr id="vr_MSN3_tmp" value="0" text="" generated="true"/>+  <vr id="vr_MSN3_tmp" value="0" text=""/>
 </xmlscript> </xmlscript>
 </code> </code>
xmlscripting-de.1674409467.txt.gz · Last modified: 2023/01/22 18:44 by rainerk