User:RailML Coord Documentation/Autodoku/Spezifikationen: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
Line 60: Line 60:
*comment: Inhalt des documentation-Tag
*comment: Inhalt des documentation-Tag
*subschema: z.B. timetable (ausgeschrieben)
*subschema: z.B. timetable (ausgeschrieben)
*parent: Liste von Vorlagenaufrufen der Form <nowiki>{{</nowiki>parent|subschema=|element=}}, durch Beistriche getrennt, z.B. <nowiki>{{</nowiki>parent|subschema=timetable|name=blockPartSequence}}, <nowiki>{{</nowiki>parent|subschema=timetable|name=timetable}}''
*parent: Beistrichgetrennte Liste von Vorlagenaufrufen der Form <nowiki>{{</nowiki>parent|subschema=|element=}}, z.B. <nowiki>{{</nowiki>parent|subschema=timetable|name=blockPartSequence}}, <nowiki>{{</nowiki>parent|subschema=timetable|name=timetable}}''
*children: Liste von Vorlagenaufrufen der Form <nowiki>{{</nowiki>child|subschema=|element=}}, durch Beistriche getrennt, z.B. <nowiki>{{</nowiki>child|subschema=timetable|name=blockPartSequence}}, <nowiki>{{</nowiki>child|subschema=timetable|name=timetable}}''
*children: Beistrichgetrennte Liste von Vorlagenaufrufen der Form <nowiki>{{</nowiki>child|subschema=|element=}}, z.B. <nowiki>{{</nowiki>child|subschema=timetable|name=blockPartSequence}}, <nowiki>{{</nowiki>child|subschema=timetable|name=timetable}}''
*attributes: Beistrichgetrennte Liste von Aufrufen der Form <nowiki>{{</nowiki>attribut|name=|pflicht=|kommentar=|typ=}} — wenn es keinen Kommentar gibt sollte der Kommentarparameter nicht vorkommen (nicht leer, sondern kein zweiter Horizontalstrich): ''<nowiki>{{</nowiki>attribut|name=ref|pflicht=1}}.
*attributes: Beistrichgetrennte Liste von Aufrufen der Form <nowiki>{{</nowiki>attribut|name=|pflicht=|kommentar=|typ=}} — wenn es keinen Kommentar gibt sollte der Kommentarparameter nicht vorkommen (nicht leer, sondern kein zweiter Horizontalstrich): ''<nowiki>{{</nowiki>attribut|name=ref|pflicht=1}}.
*obligatory: 1 für obligatorisch
*obligatory: 1 für obligatorisch

Revision as of 09:49, 29 September 2017

Spezifikationen

Wenn man eine Seite mit dem Namen Hallo Welt! und dem einzigen Inhalt Hallo Welt! exportiert, dann sieht die Datei so aus.

Die minimale Datei, die meine Mediawikiinstallation frisst, sieht, wenn wir bei Hallo Welt bleiben, so aus.

Handseiten

Die Handseiten bestehen nur aus einem Aufruf der Vorlage docBase:


<!-- 
This page has been created automatically, employing a template. Please, expand the template before editing the page: replace “docBase” by “subst:docBase”.!
After expanding template docBase, please delete this comment. -->{{docBase
|element=blockPartRef
|comment=
|subschema=[[TT]]
|parent=[[blockPartSequence]]
|children=None
|attributes=ref
|obligatory=
|interwiki=TT:blockPartRef
|version=3.0}}

Eine minimale Datei mit einer Handseite sähe so aus.

Roboterseiten

Roboterseiten untescheiden sich von Handseiten durch drei Dinge:

  • Das title-Tag wird nicht mit <elementname> gefüllt, sondern mit user:robot/<versionsnummer>/<elementname>. Diese Seiten sind also Unterseiten der Seite user:robot/<versionsnummer>
    Am Montag sprach ich davon, den Speicherort aus dem Skript rauszulassen und dies beim Hochladen zu regeln. Ich habe jedoch beim praktischen Versuch festgestellt, dass ein einfacher Bedienfehler dazu führen kann, dass die Handseiten überschrieben werden — das würde aufwändige Korrekturen erfordern.
  • Es wird Vorlage:Schemaexport aufgerufen, statt vorlage:Elementdoku.
  • Prinzipiell haben die Vorlagen die selben, auch gleich benannten, Parameter. Nur Parameter Interwiki ist bei den Roboterseiten nicht notwendig.

Die Roboterseite der Seite blockPartRef, Version 3.0, könnte also so aussehen.

Parameter

template:docBase template:schemaexport
  • element
  • comment
  • subschema
  • parent
  • children
  • attributes
  • obligatory
  • interwiki
  • version
  • element
  • comment
  • subschema
  • parent
  • children
  • attributes
  • obligatory
  • version
     
  • element: Elementname, z.B. blockPartRef
  • comment: Inhalt des documentation-Tag
  • subschema: z.B. timetable (ausgeschrieben)
  • parent: Beistrichgetrennte Liste von Vorlagenaufrufen der Form {{parent|subschema=|element=}}, z.B. {{parent|subschema=timetable|name=blockPartSequence}}, {{parent|subschema=timetable|name=timetable}}
  • children: Beistrichgetrennte Liste von Vorlagenaufrufen der Form {{child|subschema=|element=}}, z.B. {{child|subschema=timetable|name=blockPartSequence}}, {{child|subschema=timetable|name=timetable}}
  • attributes: Beistrichgetrennte Liste von Aufrufen der Form {{attribut|name=|pflicht=|kommentar=|typ=}} — wenn es keinen Kommentar gibt sollte der Kommentarparameter nicht vorkommen (nicht leer, sondern kein zweiter Horizontalstrich): {{attribut|name=ref|pflicht=1}}.
  • obligatory: 1 für obligatorisch
  • interwiki: Ein allfälliger analoger Artikel im 2er-Wiki, z.B. TT:blockPartRef
  • version: die railML®-Version, z.B. version=3.0

Die Parameter element, subschema und version wird es immer geben. Bei allen anderen gilt: Wenn sie keinen Inhalt haben, dann sollen sie einfach nicht vorkommen. Die Vorlage wertet dann das Nichtvorhandensein aus und wird je nach Kontext z.B. einen Missing-Information-Baustein setzen, wenn es um docu-Tags geht ein None melden, wenn es um Kinder geht oder einfach nichts tun, wenn es keinen interwiki-Artikel gibt.