XPath-Ausdrücke

Erfahren Sie, wie Sie XPath-Ausdrücke in Adobe FrameMaker verwenden können, um durch Elemente in einem XML-Dokument zu navigieren.

In diesem Thema

Einführung

Ein XML-Dokument besteht aus einer Hierarchie von Elementen. Mithilfe eines XPath-Ausdrucks können Sie durch Elemente und Attribute in einem XML-Dokument navigieren.

Beispiele für XPath

Betrachten Sie als Beispiel folgende XML-Datei:

<topic id="abc">
  <title>Using XPATH</title>
  <body>
    <p>Using XPATH is easy.</p>
    <fig>
      <image href="images/xpath.png"/>
    </fig>
    <section>
      <title>Examples</title>
      <p audience="novice">A simple example.</p>
      <p audience="expert">An advanced example.</p>
      <p audience="expert">Another advanced example.</p>
      <fig>
        <image href="images/xpath-axes.png">
          <alt>This screenshot shows the XPATH axes</alt>
        </image>
      </fig>
    </section>
    <p>The End.</p>
  </body>
</topic>

Die folgende Tabelle enthält eine Liste einiger XPath-Ausdrücke für das oben angegebene XML-Beispiel.

XPath-Abfrage

Ergebnis

/topic

Gibt das <Topic>-Stammelement zurück.

//title

Gibt alle <Titel>-Elemente zurück.

//section/title

Gibt nur das <Titel>-Element zurück, das ein untergeordnetes Element eines<Abschnitt>-Elements ist.

//p

Gibt alle <p>-Elemente zurück.

//p[@audience='Experte']

Gibt alle <p>-Elemente zurück, bei denen das Attribut @Zielgruppe auf Experte festgelegt ist.

//p[not(@audience)]

Gibt alle <p>-Elemente zurück, bei denen das Attribut @Zielgruppe fehlt.

//p[not(@audience='Admin')]

Gibt alle <p>-Elemente zurück, bei denen das Attribut @Zielgruppe nicht den Wert admin enthält ODER fehlt.

//p[text()='Zum Starten dieses Prozesses']

Gibt alle <p>-Elemente zurück, die mit der Textzeichenfolge Zum Starten dieses Prozesses beginnen.

//p[contains(.,'Schaltfläche')]

Gibt alle <p>-Elemente zurück, die irgendwo im Text die Textzeichenfolge Schaltfläche enthalten.

//image[not(alt)]

Gibt alle <Bild>-Elemente zurück, bei denen das untergeordnete <alt>-Element fehlt.

Weitere Informationen zu XPath finden Sie unter http://www.w3.org/TR/xpath/

XPath-Symbolleiste

  1. Wählen Sie Ansicht > Symbolleisten > XPath, um die XPath-Symbolleiste zu öffnen.

    Figure 1. XPath-Symbolleiste
    XPath-Symbolleiste in FrameMaker

  2. Geben Sie im Feld „XPath“ den XPath-Ausdruck ein und klicken Sie auf die Schaltfläche Ausführen.

Die Ergebnisse der Abfrage werden im Fenster XPath Builder angezeigt.

Fenster „XPath Builder“

Figure 2. Fenster „XPath Builder“
Fenster „XPath Builder“ in FrameMaker

Die Abfragegenerierung stellt ebenfalls eine praktische Benutzeroberfläche zum Erstellen von XPath-Ausdrücken dar. In der Abfragegenerierung können Sie eine XPath-Abfrage erstellen (wobei automatische Vorschläge verfügbar sind) und ausführen.

Sie können auch den Bereich der Suche festlegen:

Automatische Vorschläge für XPath

Automatische Vorschläge sind vorgeschlagene Komponenten, die Sie beim Erstellen einer Abfrage zum XPath-Ausdruck hinzufügen können.

Betrachten Sie als Beispiel folgende XML-Datei:

<body> 
<p>The quick brown fox.</p> 
<p audience="admin">Jumped over the lazy dogs.</p> 
</body>
  1. Beginnen Sie im Feld Abfragegenerierung mit der Eingabe eines Schrägstrichs (/).

    Sobald Sie den Schrägstrich eingeben, werden die folgenden Vorschläge angezeigt:

    Automatische Vorschläge
    Automatische Vorschläge im Fenster „XPath Builder“

  2. Wählen Sie mithilfe der Nach-Oben- und Nach-Unten-Taste die gewünschte Option und drücken Sie die Eingabetaste, um die Komponente in die Abfrage einzufügen.

  3. Um ein weiteres Element zur Abfrage hinzuzufügen, geben Sie einen Schrägstrich ein.

    Alternativ können Sie zum Hinzufügen eines Attributs eine öffnende eckige Klammer ([).

Die Liste der automatischen Vorschläge enthält die folgenden Komponenten einer XPath-Abfrage:

Element (orange markiert)

Elemente an der aktuellen Position im aktuellen Dokument.

Attribut (blau markiert)

Attribute an der aktuellen Position im aktuellen Dokument.

Achsen (grün markiert)

Eine Achse ist eine Knotendefinition relativ zum aktuellen Knoten. Beispiele: „parent“, „child“, „ancestor“.

Klicken Sie auf die Dropdown-Liste rechts neben der Option Automatische Vorschläge aktivieren und deaktivieren Sie die Option Achsen, um die verfügbaren Achsen in der Liste der automatischen Vorschläge auszublenden.

Note: Sie haben die Möglichkeit, automatische Vorschläge in der Abfragegenerierung zu deaktivieren.

Klicken Sie auf das Symbol Speichern, um die aktuellen Ergebnisse der XPath-Abfrage zu speichern.