Altova StyleVision 2026 Enterprise Edition

Wenn Sie einen Blick in die Datei QuickStart.xml machen, werden Sie feststellen, dass jedes newsitem-Element ein metainfo-Child-Element hat, welches wiederum ein oder mehrere relevance-Child-Elemente enthalten kann. Sie können im SPS-Design eine Auswahlliste erstellen, die mit eindeutigen relevance-Elementwerten gefüllt ist. Wenn der Benutzer der Authentic-Ansicht ein Element aus der Dropdown-Liste im Auswahllistenfeld auswählt, so kann dieser Eintrag an einen Node im XML-Dokument übergeben werden. Mit Hilfe einer Bedingung kann überprüft werden, was der Benutzer ausgewählt hat (indem dieser Node überprüft wird) und es wird daraufhin die entsprechende Verarbeitung (Anzeige) für die Auswahl des Benutzers gewählt. In diesem Abschnitt werden Sie nun eine Bedingungsvorlage erstellen, in der jene Nachrichtenmeldungen dargestellt werden, die ein relevance-Element haben, das der Selektion des Benutzers entspricht.

 

Dabei gehen wir folgendermaßen vor:

 

1.Erstellung einer Auswahlliste, in der der Benutzer der Authentic-Ansicht den byrelevance--Wert auswählen kann. Die Werte in der Dropdown-Liste der Auswahlliste werden mit Hilfe eines XPath-Ausdrucks ermittelt, der eine Liste aller eindeutigen relevance-Nodewerte dynamisch kompiliert.

2.Einfügen einer Bedingung rund um das Element newsitem. Mit dieser Bedingung werden alle newsitem-Elemente, die ein relevance-Element haben, dessen Inhalt mit dem Inhalt des byrelevance-Node übereinstimmt, ausgewählt. Der Inhalt, der in eine Verzweigung einer Bedingung eingeschlossen ist, wird als Bedingungsvorlage bezeichnet.

3.Innerhalb der Bedingungsvorlage werden die einzelnen relevance-Nodes dieser Nachrichtenmeldung aufgelistet.

4.Markieren des relevance-Elements (in der Liste der relevance-Elemente), das mit dem byrelevance-Element übereinstimmt. Dies erfolgt durch Erstellung einer Bedingung zur Auswahl solcher relevance-Elemente und durch Anwendung einer speziellen Formatierung auf diese Bedingungsvorlage.

5.In die Bedingung für das newsitem-Element wird eine Verzweigung eingefügt, die alle Nachrichtenmeldungen auswählt.

 

Erstellen der Auswahlliste zur Auswahl eindeutiger Node-Werte

Der Node im XML-Dokument, der die Benutzerselektion enthält, ist /presswatch/selection/byrelevance. Dies ist der Node, den Sie als Auswahlliste erstellen werden. Gehen Sie dazu folgendermaßen vor:

 

1.Fügen Sie den statischen Text "Select by relevance: " oben im Dokument knapp unterhalb der zweiten automatischen Berechnung ein (Abbildung unten).

 

TutQS_DesView_ComboBoxLoc

 

2.Ziehen Sie den byrelevance-Node aus der Seitenleiste "Schema-Struktur" (Abbildung unten) hinter den neu eingegebenen statischen Text.

 

TutQS_SchemaSrc_ByRelevance

 

3.Wählen Sie im Kontextmenü, das daraufhin angezeigt wird, den Befehl "Auswahlliste erstellen". Das folgende Dialogfeld wird angezeigt.

 

Zum Erweitern/Reduzieren klicken

 

4.Wählen Sie im Dialogfeld "Auswahlliste bearbeiten" (Abbildung oben) die Option "XPath-Ausdruck verwenden" und dann "Denselben XPath für XML-Werte und sichtbare Einträge verwenden". Geben Sie im Bereich "XPath für XML-Werte und sichtbare Einträge" den XPath-Ausdruck: distinct-values(//relevance) ein. Damit werden eindeutige Werte aller relevance-Elemente im XML-Dokument ausgewählt.

5.Klicken Sie abschließend auf OK. Die Auswahlliste wird eingefügt und das Design sieht daraufhin etwa folgendermaßen aus:

 

TutQS_DesView_ComboBoxByRelevance

 

6.Wechseln Sie in die Authentic-Ansicht. Wenn Sie im Auswahllistenfeld auf den Abwärtspfeil klicken, beachten Sie, dass die Liste die eindeutigen Werte aller relevance-Nodes enthält (Abbildung unten). Vergleichen Sie dies mit dem XML-Dokument. Dies ist eine dynamische Liste, die jedes Mal, wenn ein neuer relevance-Wert zum XML-Dokument hinzugefügt wird, erweitert wird.

 

TutQS_AuthView_ComboBoxByRel

 

Einfügen einer Bedingung, um Nachrichtenmeldungen anzuzeigen, die die ausgewählte relevance haben

Die Bedingung wählt newsitem-Elemente aus, die ein metainfo/relevance-Element mit einem Wert haben, der mit dem vom Benutzer ausgewählten (und an das /presswatch/selection/byrelevance-Element übergebenen) Wert übereinstimmt. Gehen Sie zum Einfügen der Bedingung folgendermaßen vor:

 

1.Wählen Sie den Inhalt des newsitem-Teils des Designs aus, welcher in der Bedingung enthalten sein soll (in der Abbildung unten markiert).

 

TutQS_DesView_Condition_selection

 

2.Wählen Sie den Menübefehl (oder den Kontextmenübefehl) Einschließen in | Bedingung. Daraufhin wird das Dialogfeld "XPath-Ausdruck bearbeiten" geöffnet.

3.Geben Sie den Ausdruck metainfo/relevance=/presswatch/selection/byrelevance ein. Dieser Ausdruck ergibt das Resultat "true", wenn der Wert des metainfo/relevance-Child-Elements des aktuellen newsitem-Elements mit dem Wert des /presswatch/selection/byrelevance-Elements (der Auswahl des Benutzers) übereinstimmt.

4.Klicken Sie auf OK. Die Bedingung wird rund um den Inhalt des newsitem-Elements erstellt (Abbildung unten).

 

TutQS_DesView_Condition

 

Beachten Sie, dass es in dieser Bedingung nur eine Verzweigung gibt. Nachrichtenmeldungen, für die die Auswertung der Bedingung "true" ergibt, werden angezeigt, jene, für die die Auswertung nicht "true" ergibt, werden nicht angezeigt. Die Bedingung funktioniert also in diesem Fall als Filter. Weiter unten in diesem Abschnitt werden Sie zu dieser Bedingung eine zweite Verzweigung hinzufügen.

 

Einfügen des relevance-Node als Liste

Um die relevance-Nodes der einzelnen newsitem-Elemente anzuzeigen, fügen Sie sie folgendermaßen in das Design ein (siehe Abbildung unten):

 

1.Erstellen Sie unterhalb der div-Komponente für das source-Element und innerhalb des End-Tags der bedingten Vorlage einen vertikalen Abstand.

2.Geben Sie den statischen Text "Relevance:" ein und setzen Sie den Text innerhalb des vordefinierten Formats div (Markieren Sie den statischen Text und fügen Sie das vordefinierte Format ein).

3.Ziehen Sie das relevance-Element aus der Root-Elemente-Struktur in der Seitenleiste "Schema-Struktur" in das Design unterhalb des statischen Texts Relevance:.

4.Erstellen Sie das Element im Listenformat. (Wählen Sie im Kontextmenü, das angezeigt wird, wenn Sie den Node in das Design ziehen, den Eintrag "Nummerierung und Aufzählungszeichen" und wählen Sie anschließend das gewünschte Listenformat.)

5.Wenden Sie auf den Inhalt der Liste eine Textformatierung an. Wenn Sie fertig sind, sollte das Design ungefähr folgendermaßen aussehen:

 

TutQS_DesView_RelevanceList

 

Überprüfen Sie nun in der Authentic-Ansicht, die Ergebnisse der unterschiedlichen Auswahlen von relevance; über die Auswahlliste können Sie die Auswahl ändern.

 

Fettformatierung des ausgewählten relevance-Elements

Einige Nachrichtenmeldungen haben mehr als ein relevance-Element. In solchen Fällen wäre es übersichtlicher, wenn das relevance-Element, das mit der Auswahl des Benutzers übereinstimmt, markiert erscheint und die anderen nicht. Dies lässt sich folgendermaßen bewerkstelligen:

 

1.Wählen Sie das relevance-Element im Design aus.

2.Fügen Sie eine Bedingung ein und zwar mit dem XPath-Ausdruck .=/presswatch/selection/byrelevance. Dadurch wird eine Bedingung mit einer einzigen Verzweigung erstellt (Abbildung unten), die relevance-Elemente auswählt, die mit dem byrelevance-Element übereinstimmen.

 

TutQS_DesView_ConditionRel1

 

3.Wählen Sie den Platzhalter Inhalt aus und weisen Sie ihm (über die Seitenleiste "Stil") eine lokale Formatierung "bold" (Gruppe Schriftart) und einen gelben (yellow) Hintergrund (Gruppe Farbe) zu.

4.Rechtsklicken Sie auf die Bedingung und wählen Sie im Kontextmenü Verzweigung kopieren.

5.Aktivieren Sie im Dialogfeld "XPath-Ausdruck bearbeiten" das Kontrollkästchen "Andernfalls" (rechts oben).

6.Klicken Sie abschließend auf OK. Eine neue Verzweigung (Otherwise) wird erstellt (Abbildung unten). Diese Bedingungsverzweigung wählt alle relevance-Elemente aus, die nicht mit dem byrelevance-Element übereinstimmen.

 

TutQS_DesView_ConditionRelOtherw

 

7.Beachten Sie, dass der Inhalt der Otherwise-Verzweigung eine Kopie der ersten Verzweigung ist; der Platzhalter Inhalt erscheint fett und mit gelbem Hintergrund. Entfernen Sie diese Formatierung (fett und Hintergrundfarbe Schwarz) aus dem Platzhalter Inhalt.

 

Sie haben eine Bedingung mit zwei Verzweigungen (jede mit ihrer Bedingungsvorlage) gesetzt, die an jedem relevance-Element die folgende Überprüfung durchführt: Wenn der Inhalt von relevance mit dem von /presswatch/selection/byrelevance übereinstimmt, wird der Inhalt von relevance fett und mit einem gelben Hintergrund angezeigt. Andernfalls (zweite Verzweigung) wird er normal formatiert angezeigt. Überprüfen Sie dies in der Authentic-Ansicht

© 2020-2026 Altova GmbH