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

From railML 2 Wiki
Jump to navigation Jump to search
(Replaced content with "{{mirror|{{iuser}}}}")
Tag: Replaced
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Spezifikationen'''
{{mirror|{{iuser}}}}
 
Testwiki: https://wikitest.railml.org/index.php?title=Common:railML
 
Wenn man eine Seite mit dem Namen ''Hallo Welt!'' und dem einzigen Inhalt ''Hallo Welt!'' exportiert, dann sieht die Datei [[user:Ferri Leberl/Hallo Welt|so aus]].
 
Die minimale Datei, die meine Mediawikiinstallation frisst, sieht, wenn wir bei ''Hallo Welt'' bleiben, [[user:Ferri Leberl/Welt_minimal|so aus]].
==Handseiten==
Die Handseiten bestehen nur aus einem Aufruf der Vorlage docBase:
<syntaxhighlight code=wiki>
 
<!--
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
|subschema=timetable
|parent={{parent|subschema=timetable|name=blockPartSequence}}
|attributes={{attribut|name=ref}}
|interwiki=TT:blockPartRef
|version=3.0}}
</syntaxhighlight>
 
Eine minimale Datei mit einer Handseite sähe [[user:Ferri Leberl/blockPartRef|so aus]].
 
==Roboterseiten==
Roboterseiten untescheiden sich von Handseiten durch drei Dinge:
*Das title-Tag wird nicht mit ''<subschema>:<elementname>'' gefüllt, sondern mit ''<subschema>:<elementname>/<versionsnummer>''. Diese Seiten sind also Unterseiten der jeweiligen Handseite<br>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:docBase.
* Es werden andere Parameter aufgerufen
Die Roboterseite der Seite blockPartRef, Version 3.0, könnte also [[user:Ferri Leberl/3.0/blockPartRef|so aussehen]].
 
==Parameter==
{|class=wikitable
!template:docBase
!template:schemaexport
|-
|style="vertical-align:top"|
*element
*subschema
|
*element
*documentation
*subschema
*parent
*children
*attributes
*multiplicity
*version
*gml
*dc
|}
 
{|class=wikitable
!Parameter
!Inhalt
!Beispiel
|-
|element
|Elementname
|z.B. blockPartRef
|-
|documentation
|Inhalt des documentation-Tag
|
|-
|subschema
|(ausgeschrieben)
|timetable
|-
|parent
|Beistrichgetrennte Liste von Vorlagenaufrufen der Form <nowiki>{{parent|subschema=|element=}}</nowiki>
|<nowiki>{{parent|subschema=timetable|name=blockPartSequence}}, &#123;&#123;parent|subschema=timetable|name=timetable}}</nowiki>
|-
|children
|Beistrichgetrennte Liste von Vorlagenaufrufen der Form <nowiki>{{child|subschema=|element=}}</nowiki>
|<nowiki>{{child|subschema=timetable|name=blockPartSequence}}, {{child|subschema=timetable|name=timetable}}</nowiki>
|-
|attributes
|Liste von Aufrufen der Form <nowiki>{{attribut|name=|pflicht=|documentation=|typ=|werte=|minExclusive=|minInclusive=|
maxExclusive=|maxInclusive=|totalDigits=|fractionDigits=|
length=|minLength=|maxLength=|whiteSpace=|pattern=}}</nowiki>.
* Wenn es keine Documentation gibt sollte der documentation-Parameter nicht vorkommen (nicht leer, sondern kein zweiter Horizontalstrich).
* Werte ist wiederum eine Liste von Aufrufen der form <nowiki>{{wert|name=|documentation=}}</nowiki>.
* pflicht=0 und das Weglassen des pflicht-Parameters werden gleich behandelt als ''optional''
*'''''typ'' steht für ''base''; ''werte'' fasst alle enumerations; diese werden mit ''template:wert'' übergeben; ''patterns'' umfasst alle Patterns; diese werden mit template:pattern übergeben.''
* Wenn es keine festgelegten Werte gibt, sollte der Parameter ''werte'' nicht vorkommen.
|<nowiki>{{attribut|name=ref|pflicht=1}}</nowiki><br>Beispiel für [[RS:pantograph#controlType]]: <nowiki>{{attribut|name=controlType|typ=string|documentation=the way of controlling the pantograph drive|werte={{wert|name=cable|documentation=The pantograph is activated/de-activated by means of a rope or cable.}}{{wert|name=spring|documentation=The pantograph is activated/de-activated by means of a spring.}}{{wert|name=air|documentation=The pantograph is activated/de-activated by means of pressurised air.}}{{wert|name=other:anything|documentation=Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed.}}}}</nowiki>
|-
|multiplicity
|Ein String, der direkt ausgegeben wird
|
|-
|interwiki
|Ein allfälliger analoger Artikel im 2er-Wiki
|TT:blockPartRef
|-
|version
|Die {{rml}}-Version
|version=3.0
|-
|dc
|Bei Dublin-Core-Elementen wird die DC-Version mitgeliefert.
*Da der Parameter geliefert wird handelt es sich um ein DC-Element, das besonders dokumentiert werden muss
*Der Klarheit halber wird auch die DC-Version mitgeliefert
|dc=1.1
|-
|gml
|Bei GML-Elementen wird die GML-Version mitgeliefert.
*Da der Parameter geliefert wird handelt es sich um ein GML-Element, das besonders dokumentiert werden muss
*Der Klarheit halber wird auch die GML-Version mitgeliefert
|gml=3.2.1
|}
 
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.

Revision as of 11:36, 19 June 2020