Ustawianie formatowania i sposobu obliczania danych

Istnieje możliwość zdefiniowania treści elementu szablonu lub wartości jego właściwości używanych do formatowania i obliczania danych.

O tym zadaniu

Treść szablonu można zdefiniować przy użyciu wartości prostych, wyrażeń danych lub wyrażeń skryptów.

Zarówno wyrażenia danych, jak i wyrażenia skryptu, mają zmienne wewnętrzne, które są dostępne do wyboru.
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 edytorze treści szablonu kliknij dwukrotnie element tekstowy. Zostanie otwarte okno Ustawianie treści dla bieżącego elementu.
  2. Podaj treść, używając jednej z następujących opcji:
    • Aby użyć wartości prostej, kliknij kartę Wartość prosta i wprowadź wartość.
    • Aby użyć wyrażenia danych, kliknij kartę Wyrażenie danych i wykonaj jedną z następujących czynności:
      • Rozwiń pozycję Zmienne i wybierz zmienną do użycia.
      • Rozwiń pozycję Atrybuty i wybierz atrybuty danych do użycia.
    • Aby użyć wyrażenia skryptu, kliknij kartę Wyrażenie skryptu.
      • Rozwiń pozycję Zmienne, wybierz zmienną i wprowadź kod JavaScript, w którym można używać zmiennych z bieżącego kontekstu.
      • Rozwiń pozycję Atrybuty, wybierz atrybut i wprowadź kod JavaScript, w którym można używać atrybutów danych z bieżącego kontekstu.
      • Jeśli skrypt został skopiowany z pliku XHTML, można wybrać opcję Dane wejściowe XHTML, aby umożliwić edycję znaczników XHTML zawartych w skrypcie.
      • W przypadku generowania szablonu do postaci danych wyjściowych XHTML można wybrać opcję Dane wyjściowe XHTML, aby przeanalizować skrypt i wyświetlić go jako tekst formatowany.
      Aby na przykład wybrać atrybuty liczba bezwzględna, nazwa i wartość, wprowadź następujący kod JavaScript:
      "object:"+Absolute Number+
      "attribute"+name+
      "value"+_value
      Wskazówka: Jeśli szablon jest dość skomplikowany, można skorzystać z właściwości Nazwa i Opis, aby opisać wszystkie bloki w szablonie. Pola nazwy i opisu domyślnie są puste, nazwa jest wyświetlana w szablonie, a opis można wyświetlić w polu wskazówki dla elementu szablonu. Ułatwi to innym użytkownikom ponowne wykorzystanie szablonu.

      Zamiast karty wyrażenia skryptu można użyć opcji importowania istniejącego skryptu lub pracy w edytorze kodu JavaScript:

    1. Jeśli dołączasz nowy skrypt z innego pliku, kliknij opcję Dołącz skrypt i wybierz plik na komputerze, na serwerze zdalnym lub w komponencie Centralne zarządzanie. Kliknij przycisk OK, aby zamknąć okno, i kliknij dwukrotnie element, aby ponownie otworzyć okno Wprowadzanie kodu dla elementu kodu JavaScript.
    2. Kliknij opcję Otwórz w edytorze, aby wprowadzić skrypt w edytorze JavaScript środowiska Eclipse. Skrypt zostanie otwarty na nowej karcie edytora jako tymczasowy plik .js. Następnie możliwe będzie edytowanie kodu JavaScript.
      Uwaga: Po rozpoczęciu wpisywania i wprowadzeniu kropki lub innego znaku jako wartości może zostać wyświetlony następujący komunikat: Błąd podczas uzyskiwania dostępu do pliku JavaScript. Po tym komunikacie może zostać również wyświetlony następujący komunikat: Problem podczas działania aktywnej obsługi treści. W przypadku napotkania powyższych komunikatów należy postępować zgodnie z instrukcjami zawartymi w komunikacie, aby wyłączyć opcję Inne propozycje JavaScript:
      1. Kliknij opcję Okna > Preferencje > JavaScript > Edytor > Aktywna obsługa treści > Zaawansowane.
      2. W sekcji przełączania aktywnej obsługi treści anuluj wybór opcji Inne propozycje JavaScript.
      3. Kliknij przycisk OK, aby zamknąć okno.
    3. Zarządzaj skryptem za pomocą opcji w widoku Schemat.
    4. Zapisz zmiany.
    5. Zamknij tymczasową kartę edytora JavaScript. Zostanie ponownie wyświetlone okno Wprowadzanie kodu dla elementu kodu JavaScript.
    6. Kliknij przycisk Testuj skrypt, aby sprawdzić poprawność kodu.
    7. Kliknij przycisk OK, aby zapisać wprowadzone zmiany i zamknąć okno.
  3. Kliknij przycisk OK, aby zapisać zmiany.

Przykład

Przykład użycia wyrażenia danych
Aby wyświetlić automatycznie wygenerowane numery wierszy w tabeli:
  1. Przeciągnij element tabeli do edytora.
  2. Wprowadź wartość 3 dla wierszy i wartość 3 dla kolumn tabeli, a następnie kliknij przycisk OK.
  3. Przeciągnij element tekstu do każdej komórki.
  4. Wybierz pierwszą komórkę w pierwszym wierszu.
  5. W widoku Właściwości wybierz kartę Treść i kliknij ikonę Ikona konfiguracji. Podwójne kliknięcie elementu również spowoduje otwarcie tego samego okna.
  6. Kliknij kartę Wyrażenie danych i wybierz opcję _numer_wiersza. Następnie kliknij przycisk OK.
  7. Wykonaj te same czynności dla pierwszej komórki w drugim i trzecim wierszu.
  8. Usuń krawędzie z komórek numeru wiersza:
    1. Przytrzymaj klawisz CTRL i zaznacz pierwszą komórkę w każdym wierszu. Jeśli wybrano wiele elementów, istnieje możliwość modyfikowania właściwości dla wszystkich wybranych elementów jednocześnie.
    2. W widoku właściwości wybierz kartę Ramka.
    3. Dla właściwości Styl wybierz wartość Brak.
  9. Zapisz szablon.
  10. Przetestuj szablon, generując dane wyjściowe. Pierwsza komórka zawiera numer wiersza i nie jest otoczona ramką:
    Przykład danych wyjściowych
  11. W szablonie zakończ operację dodawania atrybutów ze schematu źródła danych do pozostałych komórek, aby wypełnić tabelę.

Opinia