Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Ogólny opis pliku PROMOTIC XML służącego do Importu/Eksportu

Ta część zawiera opis struktury plików XML służących do zapisu (eksport) danych konfiguracyjnych (programowania) systemu PROMOTIC.
 
Ogólny dokument XML składa się z tzw. "znaczników". Chodzi o słowo objęte nawiasem kwadratowym, za nim znajduje się zawartość danego znacznika a na końcu jest znak końcowy tego znacznika, na przykład:
<Prop> .. zawartość tagu .. </Prop>
Zawartość znacznika może być pusta (wtedy można cały znacznik zapisać w skrócie na przykład: <Prop/>), może zawierać prosty tekst lub następne znaczniki. Na tym samym poziommie (za sobą) może być większa ilość znzczników oraz możne je wżłabiać do dowolnego poziomu. Każdy znacznik może posiadać tzw. atrybuty, które są zapisywane na przykład w następujacy sposób (atrybut jest Name w tym przypadku):
<Prop Name="PmNumber"> .. zawartość znacznika .. </Prop>
 
System PROMOTIC wykorzystuje XML sposób zapisu danych w wielu miejscach (patrz np. Współdzielenie danych XML w trybie runtime). Tutaj opiszemy strukturę XML zapisu do zapisania danych programowania.
 
Znacznik może być tutaj na przykład obiektem systemu PROMOTIC - wtedy zawiera w sobie więcej znaczników przedstawiających np. właściwości tego obiektu.

Na przykład w następującym tekście znacznik Content zawiera znacznik PmObject, który zawiera dwa znaczniki Prop.

<Content>
  <PmObject Type="PmNumber" Name="number0" Import="XXX" Defimport="XXX">
    <Prop Name="Value">100</Prop>
    <Prop Name="Unit">cm</Prop>
  </PmObject>
</Content>
Tutaj znacznik <Prop Name="Value">100</Prop> oznacza, że właściwość o nazwie Value posiada wartość 100.
 

Struktura XML PROMOTIC dokumentu jest następująca

<?xml version="1.0" encoding="utf-8"?>
<Document CfgSelect="XXX" Load="XXX">
  <Cfg Name="NameCfg1" Src="XXX">
    <Dst Ctx="XXX" Defimport="XXX" Import="XXX" />
  
    <Content>
      <PmObject Type="PmNumber" Name="Number0" Import="XXX" Defimport="XXX">
        <Prop Name="Value">100</Prop>
        <Prop Name="Unit">~KeyName</Prop>
      </PmObject>
    </Content>
  </Cfg>
  
  <Cfg Name="NameCfg2">
    ...
  </Cfg>
  ...
</Document>
 
Notatka 1: Plik jest logicznie podzielony na konfiguracje <Cfg>. Takich konfiguracji może zawierać więcej. Podczas wykonywania importu w środowisku deweloperskim PROMOTIC można wybrać, którą komfigurację należy wczytać albo wczytać wszystkie. Same dane są umieszczone w konfiguracji wewnątrz znacznika <Content>.

Na zachowanie całego dokumentu oraz każdej konfiguracji można podczas importu wpłynąć w opisie struktury zamieszczonych atrybutów.

Notatka 2: Dokument XML (nie tylko PROMOTIC XML dokument) jest "case-sensitive", tzn. NALEŻY rozróżniać pisownię wielkich i małych liter w nazwach znaczników oraz atrybutów.
Notatka 3: <?xml version="1.0" encoding="utf-8"?> generuje PROMOTIC i jest on obowiązkowy. Jest to identyfikacja, że chodzi o plik XML.

Opis znacznika Document: (znacznik ten jest obowiązkowy)

Atrybut CfgSelect="XXX" (opcjonalne):
CfgSelect="First" oznacza, że z pliku zostanie wybrana tylko pierwsza konfiguracja odpowiadająca kontekstu umieszczenia bez kontynuacji
Jeżeli nie jest ustawione, wtedy zaimportowane zostaną wszystkie konfiguracje w pliku (w zależności od Dst, patrz dalej)
Atrybut Load="XXX" (opcjonalne):
Load="Auto": oznacza, że import przebiegnie bez części interaktywnej
Load="Interactive": (domyślnie) interaktywny proces (z zapytaniami)

Opis znacznika Cfg: (znacznik ten jest obowiązkowy)

Atrybut Name="NameCfg": nazwa konfiguracji.
Atrybut Src="Promoticdata.xml" (opcjonalne): Promoticdata.xml to nazwa pliku zewnętrznego (dotrzymując tu opisaną strukturę pliku XML), który zostanie wczytywany systemem PROMOTIC po wczytaniu konfiguracji NameCfg (w tym przypadku NIE są wczytywane dane ze znacznika Content). Jeżeli nie jest ustawione, wtedy dane zostaną wczytane ze znacznika Content.

Opis znacznika Dst: (znacznik ten nie jest obowiązkowy)

Określa ważność kontekstu konfiguracji w zależności od obiektu, do którego importuje się. <Dst> znaczników może konfiguracja zawierać więcej.
Atrybut Ctx="XXX": to nazwa klasy znacznika, na przykład:

<GPanel Name="XXX"></Gpanel>

to znacznik klasy Gpanel, wtedy by Ctx="GPanel" oznaczało:

- jeżeli by konfiguracja ta była importowana do panela, wtedy jest ważna.
- jeżeli by konfiguracja ta była importowana do elementu graficznego lub na przykład do PROMOTIC obiektu, wtedy jest NIEważna a import tej konfiguracji nie zostanie wykonany.

Jeżeli <Dst> nie jest w pliku XML określony, wtedy konfiguracja jest zawsze ważna.

Atrybut Defimport="XXX" (opcjonalne): Oprócz znacznika <Dst> można definiować ten atrybut dla dowolnego znacznika. Określa jak importować wszystkie podznaczniki z wyjątkiem znacznika, gdzie jest określony.
Defimport="IfNotExist" - importować podznaczniki tylko jeżeli nie istnieją
Defimport="IfExist" - importować podznaczniki tylko jeżeli istnieją
Defimport="Replace" - jeżeli podznacznik istnieje, wtedy jest importowany; jeżeli nie istnieje, wtedy zostanie wytworzony i importowany
Defimport="Add" - podznaczniki zawsze nowo wytworzyć a następnie importować (nazwy będą zachowane według dokumentu XML)
Defimport="AddWithNewName" - podznzczniki zawsze nowo wytworzyć a nastepnie importować (nazwy zostana nowo wygenerowane)
Defimport="RemoveAndNew" - jeżeli podznaczniki nie istnieją, wtedy zozstana wytworzone a następnie importowane; jeżeli istnieją, wtedy zostaną usunięte, następnie wytworzone nowe a te importowane
Defimport="Remove" - wszystkie podznaczniki zostaną usunięte
Defimport="No" - nie są importowane żadne podznaczniki
Defimport="NoThis" - jeżeli podznaczniki nie mają zdefiniowane inaczej (poprzez określenie DefImport, Import), wtedy nie są importowane
Atrybut Import="XXX" (opcjonalne): Oprócz znacznika <Dst> można zdefiniować ten atrybut dla dowolnego znacznika. Określa w jaki sposób importować znacznik, gdzie jest taki atrybut okraślony. XXX uzyskuje identyczne znaczenie jak Defimport.
 
Notatka: Atrybuty Import, Defimport przeznaczone do konfiguracji, w których nie są jednoznacznie podane w sekcji <Dst>, są określane w oknie do importu wyborem 'Import type'. Jeżeli są określone na obu miejscach, wtedy ważne są atrybuty w sekcji <Dst> w pliku XML.

Opis znacznika Content: (znacznik ten jest obowiązkowy)

Ten znacznik zawiera samotne dane PROMOTIC.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice