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
Next revisionBoth sides next revision
xmlscripting-de [2018/12/06 11:36] – [Status-Objekte] rjversluisxmlscripting-de [2019/05/05 23:35] rainerk
Line 16: Line 16:
 XML-Skripte können in Kombination mit der Aktion __**[[:actions-de#die_typen_befehle_parameter|Ext. Programm starten]]**__ benutzt werden.\\ XML-Skripte können in Kombination mit der Aktion __**[[:actions-de#die_typen_befehle_parameter|Ext. Programm starten]]**__ benutzt werden.\\
 Das primäre Ziel von XML-Skripten ist die Vereinfachung und die Reduzierung der Anzahl von Aktionen und Bedingungen.\\ Das primäre Ziel von XML-Skripten ist die Vereinfachung und die Reduzierung der Anzahl von Aktionen und Bedingungen.\\
-Das für Skripting verwendete XML ist das gleiche wie im __**[[http://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en-index.html|Rocrail plan.xml]]**__.\\+Das für Skripting verwendete XML ist das gleiche wie im __**[[https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en-index.html|Rocrail plan.xml]]**__.\\
  
  \\  \\
Line 359: Line 359:
 </code> </code>
 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.\\
- +\\ 
 +===Funktions-Beispiel=== 
 +Die Lok-Kennung, //locid//, wird vom Block **cb4** in Variable **lcid** abgerufen.\\ 
 +Dr Funktions-Befehl erfordert eine Lok-Kennung, die vom Textinhalt der Variablen **@lcid** bereitgestellt wird. .\\ 
 +<code xml> 
 +<xmlscript> 
 +  <query vr="lcid" table="bklist" id="cb4" get="locid"/> 
 +  <fn id="@lcid" fnchanged="3" f3="true"/> 
 +</xmlscript> 
 +</code> 
  \\  \\
 ====set==== ====set====
Line 375: Line 384:
  
 ===== Format von Bedingungen ===== ===== Format von Bedingungen =====
 +|< >|
 | Wert | Komparator | Wert |\\ | Wert | Komparator | Wert |\\
 Weitere Bedingungen müssen mit einem //Pipe//-Zeichen (senkrechter Strich: | ) ohne zusätzliche Leerzeichen getrennt werden.\\ Weitere Bedingungen müssen mit einem //Pipe//-Zeichen (senkrechter Strich: | ) ohne zusätzliche Leerzeichen getrennt werden.\\
Line 382: Line 392:
 Für mögliche Variable siehe: __**[[:text-gen-de#variablen|Text-Variable]]**__ \\ Für mögliche Variable siehe: __**[[:text-gen-de#variablen|Text-Variable]]**__ \\
 \\ \\
 +|< >|
 ^ System-Variablen ^^ ^ System-Variablen ^^
 | &time | Modell-Zeit in Sekunden | | &time | Modell-Zeit in Sekunden |
  
  \\  \\
 +|< >|
 ^ Komparatoren ^^ ^ Komparatoren ^^
 | = | gleich; Zahlen | | = | gleich; Zahlen |
Line 406: Line 418:
  
 ===== Format von Status/Klassen ===== ===== Format von Status/Klassen =====
 +|< >|
 | Objekt-Typ | | Objekt-Kennung ohne Leerzeichen | | Komparator | | Status-/Klassen-Wert |\\ | Objekt-Typ | | Objekt-Kennung ohne Leerzeichen | | Komparator | | Status-/Klassen-Wert |\\
 Die Werte müssen mit Leerzeichen getrennt werden.\\ Die Werte müssen mit Leerzeichen getrennt werden.\\
Line 414: Line 427:
 :!: Objekt-Kennungen dürfen __keine Leerzeichen__ enthalten! Stattdessen z.B. Unterstriche oder Punkte verwenden.\\ :!: Objekt-Kennungen dürfen __keine Leerzeichen__ enthalten! Stattdessen z.B. Unterstriche oder Punkte verwenden.\\
 \\ \\
 +|< >|
 ^ Komparatoren ^^ ^ Komparatoren ^^
 |  =  | Status: gleich | |  =  | Status: gleich |
Line 420: Line 434:
  
 ==== Status-Objekte ==== ==== Status-Objekte ====
 +|< >|
 ^ Objekt-Name ^ Objekt-Typ ^ Status-Werte ^ Hinweis ^ ^ Objekt-Name ^ Objekt-Typ ^ Status-Werte ^ Hinweis ^
 | Signal | sg | red, green, yellow, white, blank, aspect number | | | Signal | sg | red, green, yellow, white, blank, aspect number | |
Line 436: Line 451:
  
 ==== Klassen-Objekte ==== ==== Klassen-Objekte ====
 +|< >|
 ^ Objekt-Name ^ Objekt-Typ ^ ^ Objekt-Name ^ Objekt-Typ ^
 | Block | bk | | Block | bk |
Line 443: Line 459:
  
 ===== Befehle ===== ===== Befehle =====
 +|< >|
 ^ Objekt-Name ^ Objekt-Typ ^ Befehle ^ Status ^ Hinweise ^ Beispiel ^ ^ Objekt-Name ^ Objekt-Typ ^ Befehle ^ Status ^ Hinweise ^ Beispiel ^
-| Lok | lc | Alle http://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#lc | | Das Block-Kennungs-Attribut (bkid) kann verwendet werden, um die Lok-Kennung von einem Block zu erhalten. \\ Befehl %%"regularreset"%% ist mit %%"softreset"%% gleich, aber es entfernt auch den zugewiesenen Fahrplan.| +| Lok | lc | Alle https://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#lc | | Das Block-Kennungs-Attribut (bkid) kann verwendet werden, um die Lok-Kennung von einem Block zu erhalten. \\ Befehl %%"regularreset"%% ist mit %%"softreset"%% gleich, aber es entfernt auch den zugewiesenen Fahrplan.| 
 | Funktion | fn | Alle und fndesc, fncmd | | Das Funktionsänderungs-Attribut (fnchanged) oder die Finktons-Beschreibung (fndesc) signalisieren, welche Funktion geändert wurde: f0…f28 (true/false) \\ Der Funktions-Befehl (fncmd) kann für on/off/flip verwendet werden. | %%<fn id="loco1" fndesc="Horn" fncmd="flip"/>%% | | Funktion | fn | Alle und fndesc, fncmd | | Das Funktionsänderungs-Attribut (fnchanged) oder die Finktons-Beschreibung (fndesc) signalisieren, welche Funktion geändert wurde: f0…f28 (true/false) \\ Der Funktions-Befehl (fncmd) kann für on/off/flip verwendet werden. | %%<fn id="loco1" fndesc="Horn" fncmd="flip"/>%% |
 | Weiche | sw | Alle | | | <sw id="W5" cmd="close"> | | Weiche | sw | Alle | | | <sw id="W5" cmd="close"> |
Line 458: Line 475:
 | 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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 | |
 | Licht | light | flip, enable, disable | Aktiviert ein Licht von LightControl. | | Licht | light | flip, enable, disable | Aktiviert ein Licht von LightControl. |
-| Model | model | Alle http://rocrail.net/software/rocrail-snapshot/rocrail/wrapper-en.html#model | Mit "modify" (modifizieren) können die Unterknoten Attribute enthalten, die in den Objekten zusammengeführt werden. | %%<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 | Mit "modify" (modifizieren) können die Unterknoten Attribute enthalten, die in den Objekten zusammengeführt werden. | %%<model cmd="change">%% \\ %%<tx id="x" backred="255" backgreen="0" backblue="0"/>%% \\ %%</model>%% | 
  \\  \\
  
Line 500: Line 517:
 </code> </code>
  \\  \\
 +=====Variablen-Formatierung=====
 +Mit dem Format-Attribut ist es möglich, Variablen-Inhalt auf die gleiche Art zu formatieren, wie ''printf''.\\
 +====Beispiel====
 +<code xml>
 +<xmlscript>
 +  <vr id="var1" value="3" text="Hello"/>
 +  <vr id="var2" value="5" text="RocrailFans"/>
 +  <vr id="var3" format="%s%02d:%04d%s" text="@var1 #var1 #var2 @var2"/>
 +  <trace text="@var3"/>
 +</xmlscript>
 +</code>
 +Ausgabe __mit__ dem Format-Attribut sieht so aus:
 +<code>
 +Hello03:0005RocrailFans
 +</code>
 +Ausgabe __ohne__ das Format-Attribut sieht so aus:
 +<code>
 +Hello 3 5 RocrailFans
 +</code>
  
 +
 +
 + \\
 =====Tipps===== =====Tipps=====
 ====Regelkonformes XML ==== ====Regelkonformes XML ====
 Um das XML-Skript auf Konformität zu überprüfen, kann es mit einem Web-Browser geöffnet werden.\\ Um das XML-Skript auf Konformität zu überprüfen, kann es mit einem Web-Browser geöffnet werden.\\
 Einige Zeichen müssen dafür durch Escape-Codes ersetzt werden: Einige Zeichen müssen dafür durch Escape-Codes ersetzt werden:
 +|< >|
 ^ Zeichen ^ Code ^ ^ Zeichen ^ Code ^
 |  <  | &lt; | |  <  | &lt; |
xmlscripting-de.txt · Last modified: 2024/02/16 01:35 by rainerk