Formeln (XML)
A Mit Hilfe von Formeln kann in der XML-Grid-Ansicht mit Hilfe eines XQuery 3.1-Ausdrucks ein Ergebnis berechnet oder ein Nodeset generiert werden, das im Dokument gespeichert werden kann. Eine Formel wird mit Hilfe eines XQuery 3.1-Ausdrucks definiert. So wurde etwa in der Abbildung unten eine Formel namens MinTemps erstellt, die für alle Temperaturminima die Minimal-, Maximal- und Durchschnittstemperatur generiert.
Um eine Formel zu erstellen, gehen Sie folgendermaßen vor:
1.Fügen Sie an der Stelle, an der die Formel angezeigt werden soll, einen neuen Node hinzu.
2.Der Node wird standardmäßig als Element erstellt. Ändern Sie den Typ des Node in "Formel".
3.Doppelklicken Sie in die Zelle, die das Symbol f(x) enthält, und geben Sie den Namen der Formel ein (siehe Abbildung oben).
4.Sie können auf dieses Symbol klicken, um die Ausgabe der Formel im Dokument zu speichern.
5.Doppelklicken Sie in die Zelle des Ausdrucks, geben Sie den gewünschten XQuery-Ausdruck ein und drücken Sie die Eingabetaste.
<?xml version="1.0" encoding="UTF-8"?> <Temperatures> <Month name="January"> <Min>-5</Min> <Max>3</Max> </Month> <Month name="February"> <Min>-16</Min> <Max>1</Max> </Month> <Month name="March"> <Min>-9</Min> <Max>7</Max> </Month> <Month name="April"> <Min>2</Min> <Max>16</Max> </Month> <Month name="May"> <Min>8</Min> <Max>21</Max> </Month> <Month name="June"> <Min>12</Min> <Max>26</Max> </Month> <Month name="July"> <Min>14</Min> <Max>34</Max> </Month> <Month name="August"> <Min>16</Min> <Max>36</Max> </Month> <Month name="September"> <Min>11</Min> <Max>28</Max> </Month> <Month name="October"> <Min>10</Min> <Max>26</Max> </Month> <Month name="November"> <Min>-1</Min> <Max>14</Max> </Month> <Month name="December"> <Min>-3</Min> <Max>9</Max> </Month> </Temperatures>
|
concat " MinMin=", min(//Month/Min), ", ", " MaxMin=", max(//Month/Min), ", ", " AvgMin=", avg(//Month/Min) )
|
Beachten Sie die folgenden Punkte:
•Der Kontext-Node des XQuery-Ausdrucks der Formel ist der Parent-Node des Formel-Node.
•Um in einem Ausdruck eine neue Zeile hinzuzufügen, drücken Sie Strg+Eingabetaste. Dies ist nützlich, wenn Sie einen Ausdruck mehrzeilig anzeigen möchten, um eine bessere Übersicht zu haben.
•Die XQuery-Ausdrücke der Formeln eines Dokuments werden in einer speziellen Metadatendatei in Ihrem Applikationsordner (Eigene) Dokumente: Altova\XMLSpyCommon\json-metadata.json gespeichert. Wenn das Dokument in der Grid-Ansicht erneut geöffnet wird, werden automatisch die Formeln aus dieser Datei darauf angewendet.
•Zusätzlich dazu können Formelausdrücke beim Speichern des Dokuments als Processing Instructions in der Dokumentdatei selbst gespeichert werden. Stellen Sie dazu sicher, dass die Option Persistenz der Grid-Ansichtseinstellungen (Extras | Optionen | Einstellungen für Grid-Ansicht) aktiviert wurde.
•Das von einer Formel generierte Ergebnis wird in der Grid-Ansicht in der Zelle unterhalb des XQuery-Ausdrucks der Formel angezeigt und auch in der Metadatendatei der Applikation gespeichert (siehe oben).
•Wenn die Option Persistenz (siehe oben) aktiviert wurde, wird neben dem XQuery-Ausdruck das Speichersymbol angezeigt. Schalten Sie dieses Symbol ein, um das Ergebnis der Formel im Dokument zu speichern.
•Das Ergebnis der Formel wird als Inhalt eines Elements mit dem Namen, den Sie der Formel zugewiesen haben, gespeichert. So wird etwa das Ergebnis der MinTemps-Formel aus der Abbildung oben in einem Element namens MinTemps gespeichert.
•Unabhängig davon, ob das Ergebnis der Formel im Dokument gespeichert wird oder nicht, wird es in der Metadatendatei der Applikation (siehe oben) berechnet und gespeichert.
Formeln in Tabellen
Wenn alle Zellen einer Tabellenspalte (in der Tabellenansicht) dieselbe Formel enthalten, so wird die Formel nur einmal angezeigt, und zwar in der Spaltenüberschrift (siehe Abbildung unten). Die Berechnungsergebnisse der Formel werden jedoch in den jeweiligen Zellen angezeigt. Die Formel in der Spaltenüberschrift ist eine Darstellung in der Grid-Ansicht. Im XML-Dokument (siehe Textansicht) wird die Formel für jedes Tabellenzeilenelement wiederholt.
Wenn sich auch nur eine einzige Formel einer Zelle von den anderen unterscheidet, so wird die Formel in jeder Zelle angezeigt. Wenn alle Formeln einer Tabellenspalte identisch sind, sodass die Formel in der Überschrift angezeigt wird und Sie für eine einzelne Zelle eine andere Formel erstellen möchten, deaktivieren Sie die Tabellenansicht und bearbeiten Sie die Formel dieser Zelle. Wenn Sie in die Tabellenansicht zurückwechseln, werden die Formeln (für alle Zellen) in den einzelnen Zellen angezeigt.