Editierbare Variablen in der Authentic-Ansicht

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  SPS-Datei: Komplexe Funktionen > Parameter und Variablen >

Editierbare Variablen in der Authentic-Ansicht

Variablen, die sich im Geltungsbereich befinden, können in der Authentic-Ansicht vom Benutzer bearbeitet werden, der auf diese Weise festlegen kann, was in der Authentic-Ansicht angezeigt wird. So hat der Benutzer z.B. die Möglichkeit, bei einer sehr großen XML-Datei, die die Personaldaten mehrerer Niederlassungen eines Unternehmens enthält, eine bestimmte Firmenniederlassung auszuwählen. Auf diese Art kann er in der Authentic-Ansicht des XML-Dokuments nur die von ihm ausgewählte Niederlassung anzeigen lassen.

 

Funktionsweise

Die Definition editierbarer Variablen für die Authentic-Ansicht erfolgt in drei Schritten (siehe Abbildung unten):

 

1.Die gewünschte Variable wird für die Vorlage, in der sie verwendet wird, definiert. Diese Vorlage schränkt den Geltungsbereich der Variablen ein. Die  Variable kann nur innerhalb der Vorlage verwendet werden, in der sie sich im Geltungsbereich befindet.
2.Es wird eine benutzerdefinierte Vorlage mit dem Namen der Variablen angelegt. Der dynamische Inhalt der benutzerdefinierten Vorlage wird den Wert der Variablen enthalten. Wenn der Platzhalter (Inhalt) oder ein Eingabefeld als Inhalt der benutzerdefinierten Vorlage in das Design eingefügt wird, dann kann der Benutzer der Authentic-Ansicht jeden Inhalt als Wert der Variablen eingeben. Allerdings können die Optionen, die dem Benutzer in der Authentic-Ansicht zur Verfügung stehen, durch Einfügen eines Formularsteuerelements wie z.B. einer Auswahlliste als Inhalt der benutzerdefinierten Vorlage eingeschränkt werden.
3.Die Variable kann in einem XPath-Ausdruck verwendet werden, der festlegt, was in der Authentic-Ansicht angezeigt werden soll. So kann die Variable z.B. in einer Bedingung verwendet werden. Je nachdem, welchen Wert die einzelnen Verzweigungen einer Bedingung haben, kann etwas anderes für die Anzeige definiert werden. Eine andere Möglichkeit für die Verwendung einer Variablen ist ein Vorlagenauswahlausdruck oder ein Vorlagenfilter.

 

Anmerkung:        Beachten Sie bitte die folgenden Punkte:

 

Da Gruppierung und Sortierung in der Authentic-Ansicht nicht unterstützt werden, können editierbare Variablen in der Authentic-Ansicht nicht in einem SPS verwendet werden, das eine dieser Funktionen enthält.
Da die Funktion für editierbare Variablen nur für die Authentic-Ansicht gilt, muss das Design für die Authentic-Ansicht ein anderes sein, als das für die anderen Ausgabeformate. Dies lässt sich ganz leicht mit Hilfe der Funktion ausgabebasierte Bedingungen bewerkstelligen.

 

Beispieldatei

Anhand der Datei AuthenticVariables.sps im Ordner (Eigene) Dateien, C:\Documents and Settings\<username>\My Documents\Altova\StyleVision2019\StyleVisionExamples\Tutorial\Grouping\Scores\ sehen Sie, wie editierbare Variablen in der Authentic-Ansicht verwendet werden können. Die XML-Datei enthält die Ergebnisse einzelner Partien in einem Turnier. Die teilnehmenden Teams sind in zwei  Gruppen aufgeteilt. Mit Hilfe der editierbaren Variablen kann der Benutzer die anzuzeigende Gruppe in der Authentic-Ansicht auswählen und die Anzeige auf diese Gruppe einschränken.

 

In der Abbildung unten sehen Sie das gesamte SPS-Design. Es wird eine editierbare Variable erstellt. Die dafür erforderlichen Einzelschritte sind in der Abbildung beschriftet. Unterhalb der Abbildung finden Sie eine Beschreibung der einzelnen Schritte.

 

EditableVarsAuth

 

Die editierbare Variable wird folgendermaßen erstellt und definiert:

 

Für die $XML Vorlage (die Root-Vorlage) wird eine editierbare Variable mit dem Namen SelectGroup mit dem Typ xs:string definiert. Diese Variable ist für die gesamte Vorlage im Geltungsbereich.
Für die $XML Vorlage wird eine nicht editierbare Variable namens Groups mit dem Typ <auto> definiert. Sie dient dazu, die verschiedenen Werte aller results/group/@id Attribute dynamisch zu sammeln. Diese verschiedenen Werte sollen in der Dropdown-Liste der Auswahlliste angezeigt werden, aus der der Benutzer in der Authentic-Ansicht die gewünschte anzuzeigende Gruppe auswählt.
Eine benutzerdefinierte Vorlage wird erstellt und erhält den Namen $SelectGroup (den Namen der editierbaren Variablen). Die Position der benutzerdefinierten Vorlage spielt keine Rolle, solange sie sich im Geltungsbereich der editierbaren Variablen befindet.
In diese benutzerdefinierte Vorlage wird eine Auswahlliste eingefügt. In der Auswahlliste wird der XPath-Ausdruck $Groups, 'All' verwendet, um die Eingabewerte der Dropdown-Liste auszuwählen. Dieser XPath-Ausdruck gibt die Reihe der Einträge zurück, die in der Variable $Groups (die alle verfügbaren Gruppen dynamisch sammelt) enthalten sind, und fügt zu der von $Groups zurückgegebenen Reihe ein Element All hinzu. Mit dem Auswahllisteneintrag All werden alle Gruppen angezeigt.
Die benutzerdefinierte Vorlage wird in eine ausgabebasierte Bedingungsvorlage eingeschlossen, wobei als Ausgabe die Authentic-Ansicht definiert ist. Der Grund dafür ist, dass die editierbare Variable nur in der Authentic-Ansicht verwendet werden kann.
Im nächsten Schritt wird der Wert der editierbaren Variablen verwendet, die der Benutzer in der Authentic-Ansicht auswählt. Dies dient dazu,  die Anzeige zu filtern, um nur die Gruppe anzuzeigen, die der Benutzer der Authentic-Ansicht auswählt. Dazu wird ein Filter für die results/group Vorlage definiert. Der XPath-Ausdruck dieses Filters lautet:

 

         if ($SelectGroup != 'All') then @id=$SelectGroup else @id

 

Mit diesem Filterausdruck wird für das Element group ein Prädikatschritt erstellt. Wenn die Variable $SelectGroup einen Wert hat, der nicht All ist, so lautet der Prädikatschritt [@id=X], wobei X der Wert der Variablen $SelectGroup (den der Benutzer in der Authentic-Ansicht in der Auswahlliste ausgewählt hat) ist. Mit diesem Filter wird die Gruppe ausgewählt, die ein id Attribut mit dem Wert hat, den der Benutzer in der Authentic-Ansicht ausgewählt hat. Wenn die Variable $SelectGroup einen Wert All hat, so wählt der Prädikatausdruck Gruppen mit jedem beliebigen id Attributwert, also alle Gruppen, aus.

Die Vorlage group wird in eine ausgabebasierte Bedingung eingeschlossen, von der jeder Verzweigung eine andere Ausgabe auswählt. Nur in der Verzweigung Authentic-Ansicht wird der Filter auf die group Vorlage angewendet.

 

Die Ausgabe der Authentic-Ansicht sieht dann folgendermaßen aus:

 

EditableVarsAuthOutput

 

Beachten Sie die Einträge in der Auswahlliste, die Wahl der Gruppe B und dass nur die Gruppe B angezeigt wird.

 

 

 


© 2019 Altova GmbH