English Format danych Ginger
Poniższy format jest wykorzystywany do generowania Ginger. Opis ten jest przeznaczony przede wszystkim dla firm przewozowych zainteresowanych wdrożeniem Ginger. Bardzo prosimy o kontakt przed rozpoczęciem prac wdrożeniowych (przygotowywaniem konwersji do poniższego formatu). Opis ten będzie poszerzona wraz z kolejnymi wdrożeniami.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="lines">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="line">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="direction">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="stop">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="legend">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<!-- Treść legendy - np. kurs tylko do Ronda Staroleka-->
<xs:attribute name="symbol" type="xs:string" use="required" />
<!-- Jednoznakowy symbol legendy - np. *-->
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" name="hour">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="minute">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="legend">
<xs:complexType>
<xs:attribute name="symbol" type="xs:string" use="required" />
<!-- Symbol legendy, której treść powinna być określona dla tego przystanku w węźle legend - np. *-->
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="value" type="xs:unsignedByte" use="required" />
<!-- wartość minut odjazdu -->
<xs:attribute name="type" type="xs:string" use="required" />
<!-- Tryb - np. dni powszednie-->
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="value" type="xs:unsignedByte" use="required" />
<!-- Wartość godziny odjazdu-->
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="description" type="xs:string" />
<!-- Globalny opis dla całej linii (obecny np. w linii P i N21) - np.W nocy z poniedzialku na wtorek tramwaj nie kursuje-->
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<!-- Nazwa przystanku - np. Os. Lecha-->
<xs:attribute name="id" type="xs:string" use="required" />
<!-- Identyfikator przystanku OSLE-01; w Ginger 2.x wartosc ignorowana-->
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required" />
<!-- Nazwa linii-->
<xs:attribute name="ignoreLastStop" type="xs:boolean" use="optional" />
<!-- Jeżeli ignoreLastStop ma wartość True wówczas rozkład jazdy ostatniego przystanku w każdej trasie jest ignorowany i jest wykorzystywany jedynie do wyświetlenia ekranu Kierunki-->
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="prefix" type="xs:string" use="optional" />
<!-- Prefiks który będzie dodawany do każdej linii w tym pliku, a także w opisie dostępnym w samej aplikacji, w menu O Ginger-->
<xs:attribute name="city" type="xs:string" use="optional" />
<!-- Nazwa miasta, widoczna w menu O Ginger-->
<xs:attribute name="validFrom" type="xs:string" use="optional" />
<!-- Data w formacie dd/MM/yyyy od której jest ważny rozkład jazdy, widoczna w menu O Ginger-->
</xs:complexType>
</xs:element>
</xs:schema>
Przy tworzeniu Ginger przyjmujemy następujące założenia:
- do 2048 przystanków o różnych nazwach
- do 31 przystanków o tej samej nazwie ale różnych identyfikatorach
- do 65535 tekstów legend i opisów linii
Historia zmian:
- 3/01/2007 - dodane atrybuty city i validFrom do elementu lines
- 3/18/2007 - dodane atrybuty ignoreLastStop do elementu line




