Tworzenie warunków dla elementów szablonu

Edytor warunków służy do definiowania wyrażenia JavaScript z atrybutami danych i zmiennymi dostępnymi w bieżącym kontekście.

Procedura

  1. Kliknij element prawym przyciskiem myszy, a następnie wybierz opcję Dane > Edytuj warunek.
  2. W oknie Ustawianie warunku dla bieżącego elementu rozwiń opcję Zmienne i Atrybuty.
    Wskazówka: Jako dostępne mogą być wyświetlane tylko zapytania pierwszego poziomu i atrybuty zapytania. W przypadku dodatkowych poziomów konieczne jest dodanie kolejnego zapytania do elementu i dodanie warunku do tego elementu.
  3. Wprowadź kod JavaScript, używając jednej z następujących opcji:
    • Wpisz w tym oknie kod ręcznie.
    • Skopiuj i wklej w tym oknie skrypt z poziomu edytora zewnętrznego.
    • Kliknij opcję Dołącz skrypt, a następnie wybierz plik na komputerze, na serwerze zdalnym lub w komponencie Centralne zarządzanie.
    • Użyj edytora warunków:
      1. W polu Lewy operand wybierz atrybut lub zmienną.
        Uwaga: W przypadku korzystania z narzędzi w oknie Ustawianie warunku dla bieżącego elementu w widoku drzewa zostanie automatycznie wybrany dowolny używany atrybut danych lub zmienna. Jeśli wprowadzisz warunek ręcznie, musisz ręcznie wybrać atrybut danych lub zmienną.
      2. Wybierz wartość w polu Operator.
      3. Wybierz atrybut lub zmienną z menu rozwijanych w polu Prawy operand.
        Uwaga: Jeśli lewy operand i prawy operand warunku mają tę samą nazwę atrybutu, ale należą do dwóch różnych zapytań, warunek nie będzie działać. Aby warunek był poprawny, należy ustawić dla atrybutów różne aliasy.
      4. Kliknij przycisk Dodaj. Wybrany warunek zostanie dodany do pola tekstowego.
  4. Opcjonalne: Wybrać opcję Dane wejściowe XHTML, aby umożliwić edycję znaczników XHTML zawartych w skrypcie. W przypadku kopiowania tekstu formatowanego lub używania tekstu formatowanego w warunkach, należy wybrać opcję Dane wejściowe XHTML.
    Ważne: Niepoprawny kod XHTML powoduje niepowodzenie generowania dokumentów. Przed zapisaniem zmian należy sprawdzić, czy kod XHTML jest poprawny.
  5. Opcjonalne: Kliknij opcje Testuj i Uruchom, aby przetestować warunek przed zastosowaniem go do bieżącego elementu. Jeśli skrypt zostanie poprawnie wykonany, zostanie wyświetlona wartość Prawda. Jeśli skrypt nie zostanie poprawnie wykonany, zostanie wyświetlona wartość Fałsz.
  6. Kliknij przycisk OK.

Wyniki

Po zastosowaniu warunku element będzie wyświetlany z ikoną Ikona warunku w edytorze treści szablonu:

Ikona warunków dla elementu Akapit

Przykłady: tworzenie warunków przy użyciu edytora warunków

Te przykłady należy przejrzeć w celu ułatwienia sobie tworzenia własnych warunków za pomocą edytora warunków.

Obiekty z nagłówkami w schemacie produktu Rational DOORS:
  • Rozwiń pozycję Atrybuty > zapytanie.
  • Wybierz opcję [Nagłówek obiektu] nagłówek_obiektu.
  • Dla lewego operandu wybierz opcję [Nagłówek obiektu] nagłówek_obiektu.
  • Dla operatora wybierz wartość Nie jest równe.
  • Dla prawego operandu nie wprowadzaj żadnej wartości.
  • Kliknij przycisk Dodaj. Kod JavaScript zostanie wyświetlony w postaci nagłówek_obiektu != "".
Wymagania o wysokim priorytecie w schemacie REST:
  1. Rozwiń pozycję Atrybuty > zapytanie.
  2. Wybierz opcję Priorytet.
  3. Dla lewego operandu wybierz opcję Priorytet.
  4. Dla operatora wybierz wartość Równe.
  5. Dla prawego operandu wprowadź wartość Wysoki.
  6. Kliknij przycisk Dodaj. Kod JavaScript zostanie wyświetlony w postaci Priorytet == "Wysoki".
Usuń zduplikowane wartości z atrybutu, tworząc zmienną i ustawiając ten warunek w elemencie:
  1. Rozwiń pozycję Zmienne > zmienna.
  2. Wybierz opcję zmienna.
  3. Dla lewego operandu wybierz opcję zmienna.
  4. Dla operatora wybierz wartość Równe.
  5. Dla prawego operandu nie wprowadzaj żadnej wartości.
  6. Kliknij przycisk Dodaj. Kod JavaScript zostanie wyświetlony w postaci zmienna == "".

Co dalej

Jeśli okaże się, że zmienna nie jest poprawnie wartościowania, należy sprawdzić, czy zmienna to literał łańcuchowy true lub false (na przykład zmienna == "true").

W niektórych przypadkach wartość zmiennej jest wartościowana jako wartość boolowska, a nie jako wartość literału łańcuchowego. Przykład: wyrażenie zmienna == "true" jest niepoprawnie wartościowane do wartości false, jeśli zmienna to wartość boolowska true, a nie łańcuch "true". Zamiast wyszukiwania wystąpienia dowolnej wartości przeprowadzono nieudane wyszukiwanie słowa true jako wartości w danych. Ten problem występuje, gdy zmienna pochodzi z obliczenia, a nie ze specyfikacji dokumentu, w której została udostępniona po skonfigurowaniu raportu, lub z szablonu, w którym została określona jako wartość domyślna zmiennej.

Aby upewnić się, że zmienna jest poprawnie wartościowana, należy poprawić warunek, używając jednej z następujących opcji:
  • Opcja 1: ustawienie możliwości obsługi zarówno literału łańcuchowego, jak i wartości boolowskiej przez warunek.

    (zmienna == wartość_boolowska_true_lub_false) || ( zmienna == "łańcuch")

    Przykład: (zmienna == true) || ( zmienna == "true")

  • Opcja 2: jeśli wiadomo, że zmienna będzie wartościowana jako wartość boolowska lub łańcuch, można zaprojektować warunek przewidujący wartości tego typu.
    • Wartość boolowska: zmienna == wartość_boolowska_true_lub_false

      Przykład: zmienna == true

    • Wartość łańcuchowa: zmienna == "łańcuch"

      Przykład: zmienna == "true"

Tworzenie aliasów dla atrybutów o takich samych nazwach

W filtrze ze skryptem lub warunku, jeśli lewy operand i prawy operand warunku mają tę samą nazwę atrybutu, ale należą do dwóch różnych zapytań, warunek nie będzie działać. Aby warunek był poprawny, należy ustawić dla atrybutów różne aliasy.

Zanim rozpoczniesz

Należy dokonać edycji preferencji aplikacji Document Studio:
  1. W produkcie Rational Publishing Engine Document Studio kliknij opcję Okna > Preferencje.
  2. Rozwiń pozycję RPE i kliknij opcję Projekt dokumentu.
  3. W polu Użyj adnotacji schematu do wyświetlania wybierz opcję Nie i kliknij przycisk OK.

Procedura

Aby odróżnić atrybuty o tej samej nazwie, można użyć opcji Alias i wyeliminować niejednoznaczności. Podczas dodawania warunku, który sprawdza, czy opis modułu jest taki sam jak opis obiektu DOORSObject, kliknij atrybut prawym przyciskiem myszy w celu ustawienia aliasu.

Wyniki

Teraz atrybut Zapytanie/Obiekt/Tekst obiektu jest znany jako $1_Tekst obiektu i warunek może być poprawnie przetwarzany.

Co dalej

Wskazówka: Aby sprawdzić, w jaki sposób warunek jest stosowany do danych, kliknij przycisk Testuj. W oknie Testowanie kliknij przycisk Uruchom.

Opinia