Definiowanie i przypisywanie zmiennych

Podczas projektowania szablonu może być konieczne obliczenie wartości lub udostępnienie atrybutów danych w kontekstach, w których są one zwykle niedostępne. W takich sytuacjach można zdefiniować zmienne i przypisać im wartości. Wartości mogą być danymi statycznymi lub danymi dostępnymi w bieżącym kontekście.

O tym zadaniu

Zmienne mogą być używane jako obiekty zastępcze dla danych obliczanych w czasie wykonywania (przypisania zmiennych) lub mogą być udostępniane w specyfikacji dokumentu. Zmiennych można również używać na stronach wzorcowych (w przeciwieństwie do atrybutów danych).
Można wyróżnić dwa typy zmiennych:
  • Zmienne zdefiniowane przez użytkownika: takie zmienne są definiowane przez projektanta szablonu. Zmienne zdefiniowane przez użytkownika mogą być wewnętrzne lub zewnętrzne.
    • Wewnętrzne zmienne zdefiniowane przez użytkownika: określenie zmiennej jako wewnętrznej pozwala wykonywać obliczenia lub tymczasowo przechowywać informacje, jak w przypadku zmiennej używanej do przeniesienia danych do stron wzorcowych. Zmienne wewnętrzne nie są wyświetlane w specyfikacji dokumentu, dlatego nie można ich udostępnić razem z wartościami.
    • Zewnętrzne zmienne zdefiniowane przez użytkownika: zmienną należy określić jako zewnętrzną, aby ją udostępnić z wartością. Zmienne zewnętrzne są wyświetlane w specyfikacji dokumentu. Więcej informacji na ten temat zawiera sekcja Tworzenie specyfikacji dokumentu.
  • Zmienne w produkcie Rational Publishing Engine: zmienne w produkcie Rational Publishing Engine to zmienne wewnętrzne, których można używać w szablonach.
    Tabela 1. Zmienne wewnętrzne produktu Rational Publishing Engine
    Zmienna Opis
    _cell_number Numer komórki w bieżącym wierszu. Jeśli element nie jest komórką, wartość wynosi 0. Istnieje możliwość użycia zmiennej _cell_number z karty Wyrażenie danych lub Wyrażenie skryptu.
    _element_id Numer elementu w szablonie. Zmienna przechowywana wewnętrznie w szablonie i używana do debugowania. Istnieje możliwość użycia zmiennej _element_id z karty Wyrażenie danych lub Wyrażenie skryptu.
    _element_level Rekurencyjny poziom elementu. Jeśli dla elementu właściwości poziomu rekurencji na karcie Dane nie ustawiono wartości, wartość tej zmiennej wynosi 1. Istnieje możliwość użycia zmiennej _element_level z karty Wyrażenie danych lub Wyrażenie skryptu.
    _row_number Numer wiersza w bieżącej tabeli. Jeśli element nie jest zawarty w elemencie wiersza, wartość tej zmiennej wynosi 0. Istnieje możliwość użycia zmiennej _row_number z karty Wyrażenie danych lub Wyrażenie skryptu.
    _sessionInfo Informacje na temat właściwości środowiska wykonawczego pochodzące z szablonu lub specyfikacji dokumentu. Na karcie Wyrażenie skryptu należy wybrać zmienną _sessionInfo i wprowadzić skrypt. Aby wygenerować wartość domyślną dla właściwości w danych wyjściowych, należy użyć cudzysłowów bez żadnej wartości między nimi. Przykłady skryptów:

    _sessionInfo.getDocspecProperty("właściwość", "");
    _sessionInfo.getTemplateProperty("właściwość", "");
    _sessionInfo.getDatasourceProperty("nazwa_źródła_danych","właściwość", "");
    _sessionInfo.getOutputProperty("typ_danych_wyjściowych","właściwość", "");
    _sessionInfo.docspecVersion
    _sessionInfo.templateVersion
    _sessionInfo.engineVersion
    _sessionInfo.buildNumber

    Dla skryptu getDocspecProperty można użyć właściwości specyfikacji istniejącego dokumentu lub właściwości tworzenia niestandardowych metadanych.

    _sessionLogger Na potrzeby debugowania można wyświetlać niestandardowe komunikaty informacyjne, komunikaty o błędach, komunikaty ostrzegawcze lub komunikaty debugowania w pliku katalog_tymczasowy\rpe\rpe.log, widoku Konsola lub widoku Problemy. Komunikaty są wyświetlane w miejscu zdefiniowanym w pliku log4j.properties.

    Ustawienie domyślne to wyświetlanie komunikatów informacyjnych w widoku Konsola, a nie w pliku rpe.log.

    Na karcie Wyrażenie skryptu należy wybrać zmienną _sessionLogger i wprowadzić skrypt. Pozycje dziennika można generować za pomocą jednej z następujących metod:
    1. _sessionLogger.debug(komunikat)
    2. _sessionLogger.info(komunikat)
    3. _sessionLogger.error(komunikat)
    4. _sessionLogger.warn(komunikat)

    Podczas decydowania, jaki tekst należy wprowadzić jako komunikat w skrypcie, w celu utworzenia zrozumiałego komunikatu należy rozważyć użycie elementów wizualnego wywołania, takich jak inicjały lub imię użytkownika oraz zmiennych z szablonu.

    _sessionUtils Na karcie Wyrażenie skryptu można użyć tej zmiennej w celu uruchomienia funkcji w skrypcie o nazwie tidyXHTML. Ta zmienna jest przydatna w przypadku występowania w dokumencie wyjściowym bloków białych znaków, które powstają w wyniku niewłaściwego kodowania XHTML. Za pomocą zmiennej _sessionUtils argument łańcucha jest przetwarzany, a kod XHTML jest czyszczony, dzięki czemu dodatkowe białe znaki nie będą wyświetlane w danych wyjściowych.

    Przykład: _sessionUtils.tidyXHTML(tekst);

    Używając zmiennej _sessionUtils, należy również wybrać opcję Dane wejściowe XHTML i Dane wyjściowe XHTML na karcie Wyrażenie skryptu.
    Uwaga: Istnieje możliwość ładowania szablonów zawierających tę zmienną do wcześniejszych wersji produktu Rational Publishing Engine, ale nie ma możliwości poprawnego wartościowania skryptów.

Procedura

  1. W widoku Schemat kliknij opcję Zmienne > Wstaw > Nowa zmienna. Zostanie otwarte okno Nowa zmienna.
  2. Wprowadź szczegóły zmiennej w następujących polach:
    1. Nazwa: wprowadź nazwę zmiennej. Nazwa zmiennej musi zawierać poprawne identyfikatory języka Java™ lub JavaScript, ponieważ są one używane w skryptach. Reguły dotyczące identyfikatorów języka JavaScript:
      • Muszą zaczynać się od litery, znaku podkreślenia (_) lub znaku dolara ($)
      • Kolejnymi znakami mogą być cyfry (0-9)
      • Wielkość liter jest rozróżniana
      • Można stosować litery kodu ISO 8859-1 lub Unicode, takie jak å lub ü
      • Jako znaki można stosować sekwencje Unicode \uXXXX o zmienionym znaczeniu
    2. Opis: wprowadź opis zmiennej.
    3. Wartość domyślna: wprowadź wartość zmiennej.
    4. Dostęp: używając listy zdecyduj, czy zmienna ma być wewnętrzna, czy zewnętrzna.
      • Zmienne wewnętrzne nie są wyświetlane w specyfikacji dokumentu, dlatego nie można udostępnić im wartości.
      • Zmienne zewnętrzne są wyświetlane w specyfikacji dokumentu i można udostępnić im wartości.
  3. Aby przypisać zmienną do elementu:
    Wskazówka: Zmienne należy przypisywać do elementów kontener zawsze, kiedy to możliwe. Zmienna jest stosowana do elementów wewnątrz elementu kontener. Na przykład można użyć zmiennej w tabeli, aby utworzyć nowy wiersz dla każdej zmiennej. Przypisanie zmiennej do elementu tabela spowoduje utworzenie tabeli dla każdej zmiennej. Niekiedy te kolejne tabele są scalane, ale czasami są wyświetlane jako osobne tabele. Po dodaniu elementu kontener wewnątrz tabeli i przeciągnięciu wiersza do elementu kontener, a następnie przypisaniu zmiennej do elementu kontener dla każdej zmiennej będzie tworzona jedna tabela z wierszami.
    Element tabela z elementem kontener. Wewnątrz elementu kontener znajduje się element wiersz z trzema elementami komórka.
    1. Kliknij element prawym przyciskiem myszy i kliknij opcję Dane > Edytuj przypisania. Zostanie otwarte okno Edytor przypisań.
    2. Kliknij przycisk Dodaj. Zostanie otwarte okno Wybór zmiennej.
    3. Wprowadź nazwę zmiennej i kliknij przycisk OK.
    4. Kliknij przycisk OK w oknie Edytor przypisań.

Wyniki

Wybrana zmienna zostanie zdefiniowana i przypisana do bieżącego elementu.

Podczas przypisywania zmiennej do elementu w edytorze treści szablonu jest wyświetlana ikona Ikona przypisania zmiennej.

Element akapit z zapytaniem i przypisaniem zmiennej

Co dalej

Wskazówka: Listę przypisań zmiennych używanych w elemencie można przeszukiwać, klikając prawym przyciskiem myszy element, do którego przypisano zmienną, i wybierając opcję Szukaj > Odwołania do zmiennych w elemencie. Zostanie otwarty widok Wyszukiwanie z wyświetloną listą przypisań zmiennych. Dwukrotne kliknięcie przypisania zmiennej w wynikach umożliwia jego edycję.

Listę przypisań zmiennych, atrybutów i zapytań używanych w elemencie można przeszukiwać, klikając element prawym przyciskiem myszy i wybierając opcję Szukaj > Wszystkie odwołania w elemencie. Zostanie otwarty widok Wyszukiwanie z wyświetloną listą. Dwukrotne kliknięcie pozycji w wynikach umożliwia jej edycję.


Opinia