Promotic

Opis pliku PROMOTIC XML dla Importu/Eksportu

Ta część zawiera opis struktury plików XML służących do zapisania (eksport) danych konfiguracyjnych (programowania) systemu PROMOTIC.

Ogólny dokument XML składa się z tzw. "tagów". Chodzi o słowo objęte nawiasem kwadratowym, za nim znajduje się zawartość danego tagu a na końcu jest znak końcowy tego tagu, na przykład:
<Prop> .. zawartość tagu .. </Prop>
Zawartość tagu może być pusta (wtedy można cały tag zapisać w skrócie na przykład: <Prop/>), może zawierać prosty tekst lub następne tagi. Na tym samym poziommie (za sobą) może być większa ilość tagów oraz możne je wżłabiać do dowolnego poziomu. Każdy tag 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="PmaNumber"> .. zawartość tagu .. </Prop>


System PROMOTIC wykorzystuje XML sposób zapisu danych w wielu miejscach (patrz np. Współdzielenie danych XML w runtime). Tutaj opiszemy strukturę XML zapisu do zapisania danych programowania.

Tag może być tutaj na przykład obiektem systemu PROMOTIC - w tym przypadku zawiera w sobie więcej tagów przedstawiających np. właściwości tego obiektu.
Na przykład w następującym tekście tag <Content> zawiera tag <PmaObject>, który zawiera dwa tagi Prop.
<Content>
  <PmaObject Type="PmaNumber" Name="number0" Import="XXX" Defimport="XXX">
    <Prop Name="Value">100</Prop>
    <Prop Name="Unit">cm</Prop>
  </PmaObject>
</Content>
Tutaj tag <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>
      <PmaObject Type="PmaNumber" Name="Number0" Import="XXX" Defimport="XXX">
        <Prop Name="Value">100</Prop>
        <Prop Name="Unit">~KeyName</Prop>
      </PmaObject>
    </Content>
  </Cfg>
  
  <Cfg Name="NameCfg2">
    ...
  </Cfg>
  ...
</Document>


Notatka 1: Plik jest logicznie podzielony na konfiguracje <Cfg>. Takich konfiguracji może w pliku zawierać więcej. Podczas wykonywania importu w środowisku deweloperskim PROMOTIC można wybrać, którą konfigurację należy wczytać albo wczytać wszystkie. Same dane są umieszczone w konfiguracji wewnątrz tagu <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) rozróżnia duże/małe litery w nazwach tagó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 tagu <Document>: (tag 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 tagu <Cfg>: (tag 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 przez system PROMOTIC po wczytaniu konfiguracji NameCfg (w tym przypadku NIE są wczytywane dane z tagu <Content>).
Jeżeli nie jest ustawione, wtedy dane zostaną wczytane z tagu <Content>.

Opis tagu <Dst>: (tag ten nie jest obowiązkowy)

Określa ważność kontekstu konfiguracji w zależności od obiektu, do którego importuje się. <Dst> tagów może konfiguracja zawierać więcej.
Atrybut Ctx="XXX": to nazwa klasy tagu, na przykład:
<GPanel Name="XXX"></Gpanel>
to tag 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 Pmg obiektu lub na przykład do Pma obiektu, wtedy jest NIEważna a import 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 tagu <Dst> można określić ten atrybut dla dowolnego tagu. Określa jak importować wszystkie podtagi z wyjątkiem tagu, gdzie jest określony.
Defimport="IfNotExist" - importować podtagi tylko jeżeli nie istnieją
Defimport="IfExist" - importować podtagi tylko jeżeli istnieją
Defimport="Replace" - jeżeli podtag istnieje, wtedy jest importowany; jeżeli nie istnieje, wtedy zostanie wytworzony i importowany
Defimport="Add" - podtagi zawsze nowo wytworzyć a następnie importować (nazwy będą zachowane według dokumentu XML)
Defimport="AddWithNewName" - podtagi zawsze nowo wytworzyć a nastepnie importować (nazwy zostana nowo wygenerowane)
Defimport="RemoveAndNew" - jeżeli podtagi nie istnieją, wtedy zozstana wytworzone a następnie importowane; jeżeliistnieją, wtedy zostaną usunięte, następnie wytworzone nowe a te importowane
Defimport="Remove" - wszystkie podtagi zostaną usunięte
Defimport="No" - nie są importowane żadne podtagi
Defimport="NoThis" - jeżeli podtagi nie mają zdefiniowane inaczej (poprzez określenie DefImport, Import), wtedy nie są importowane
Atrybut Import="XXX" (opcjonalne): Oprócz tagu <Dst> można określić ten atrybut dla dowolnego tagu. Określa w jaki sposób importować tag, 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 tagu <Content>: (tag ten jest obowiązkowy)

Ten tag zawiera samotne dane PROMOTIC.
© MICROSYS, spol. s r.o.