www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges" - xpath
xpath < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

xpath: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:55 Sa 08.03.2008
Autor: Bastiane

Hallo zusammen!

Wieso steht bei den Beispielen []hier bei ganz wenigen ein Slash als erstes? Ich verstehe die Erklärung mit dem "same document as the context node" nicht.

Und im Skript hatten wir noch:

Was ist der Unterschied zwischen
• /descendant::para[1] und
• //para[1] [mm] \Rightarrow [/mm] /descendant-or-self::node()/para[1] ?

Eine Antwort habe ich leider nicht - kann mir das jemand erklären, bitte?

Viele Grüße
Bastiane
[cap]


        
Bezug
xpath: Antwort
Status: (Antwort) fertig Status 
Datum: 02:34 So 09.03.2008
Autor: rainerS

Hallo Bastiane!

> Hallo zusammen!
>  
> Wieso steht bei den Beispielen
> []hier bei ganz
> wenigen ein Slash als erstes?

Ohne Slash ist es eine RelativePathExpr, die sich auf den context node bezieht. Mit Slash bezieht es sich auf die Wurzel des Dokuments, in dem der context node vorkommt.

> Ich verstehe die Erklärung
> mit dem "same document as the context node" nicht.

In Abschnitt 3.2 steht:

A "/" at the beginning of a path expression is an abbreviation for the initial step fn:root(self::node()) treat as document-node()/ [...] The effect of this initial step is to begin the path at the root node of the tree that contains the context node.


> Und im Skript hatten wir noch:
>  
> Was ist der Unterschied zwischen
>  • /descendant::para[1] und
>  • //para[1] [mm]\Rightarrow[/mm] /descendant-or-self::node()/para[1] ?

>

> Eine Antwort habe ich leider nicht - kann mir das jemand
> erklären, bitte?

Das steht ein bischen unterhalb der Stelle, auf die du verlinkt hast, in Unterabschnitt 3.2.4  :

The path expression //para[1] does not mean the same as the path expression /descendant::para[1]. The latter selects the first descendant para element; the former selects all descendant para elements that are the first para children of their respective parents.


Viele Grüße
  Rainer


Bezug
                
Bezug
xpath: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:05 So 09.03.2008
Autor: Bastiane

Hallo rainerS!

> > Wieso steht bei den Beispielen
> > []hier bei ganz
> > wenigen ein Slash als erstes?
>
> Ohne Slash ist es eine RelativePathExpr, die sich auf den
> context node bezieht. Mit Slash bezieht es sich auf die
> Wurzel des Dokuments, in dem der context node vorkommt.

Das verstehe ich nicht. Was ist denn jetzt der Kontextknoten? Wenn doch vorher gar nichts steht, woher weiß man das denn dann?

> > Was ist der Unterschied zwischen
>  >  • /descendant::para[1] und
>  >  • //para[1] [mm]\Rightarrow[/mm]
> /descendant-or-self::node()/para[1] ?
>  >
>  > Eine Antwort habe ich leider nicht - kann mir das jemand

> > erklären, bitte?
>  
> Das steht ein bischen unterhalb der Stelle, auf die du
> verlinkt hast, in Unterabschnitt 3.2.4  :
>
> The path expression //para[1] does not mean the same as the path expression /descendant::para[1]. The latter selects the first descendant para element; the former selects all descendant para elements that are the first para children of their respective parents.

Mmh, Zitate, vor allem englische, helfen mir meist nicht ganz so gut. Also das erste gibt alle Para-Elemente aus, die die ersten Kinder ihrer Eltern sind. Und das andere?

Viele Grüße
Bastiane
[cap]

Bezug
                        
Bezug
xpath: Antwort
Status: (Antwort) fertig Status 
Datum: 08:13 Mo 10.03.2008
Autor: rainerS

Hallo Bastiane!

> Hallo rainerS!
>  
> > > Wieso steht bei den Beispielen
> > > []hier bei ganz
> > > wenigen ein Slash als erstes?
> >
> > Ohne Slash ist es eine RelativePathExpr, die sich auf den
> > context node bezieht. Mit Slash bezieht es sich auf die
> > Wurzel des Dokuments, in dem der context node vorkommt.
>
> Das verstehe ich nicht. Was ist denn jetzt der
> Kontextknoten? Wenn doch vorher gar nichts steht, woher
> weiß man das denn dann?

Ganz am Anfang ist der Kontextknoten der Dokumentknoten, also die Wurzel des Dokuments. Wenn du einen Ausdruck hast wie

  bla/blubb

(bla und blubb sind irgendwelche gültigen Ausdrücke), dann wird zunächst bla genommen und ausgewertet. Das Ergebnis ist eine geordnete Liste von Knoten. Dann wird für jeden einzelnen dieser Knoten blubb genommen und ausgewertet. Der aktuell gerade betrachtete Knoten ist der Kontextknoten. Dann gibt es noch die Kontextposition (die Position des Knotextknoten in der Liste), die Kontextgröße (die Länge der Liste).

Ein "//" in der Mitte ist eine Abkürzung für "/descendant-or-self::node()/".

Ein "/" oder "//" am Anfang bedeutet, dass statt des Kontextknotens die Wurzel bzw. alle Knoten des Baumes betrachtet werden.

> > > Was ist der Unterschied zwischen
>  >  >  • /descendant::para[1] und
>  >  >  • //para[1] [mm]\Rightarrow[/mm]
> > /descendant-or-self::node()/para[1] ?
>  >  >
>  >  > Eine Antwort habe ich leider nicht - kann mir das

> jemand
> > > erklären, bitte?
>  >  
> > Das steht ein bischen unterhalb der Stelle, auf die du
> > verlinkt hast, in Unterabschnitt 3.2.4  :
>  >

> > The path expression //para[1] does not mean the same as the
> path expression /descendant::para[1]. The latter selects
> the first descendant para element; the former selects all
> descendant para elements that are the first para children
> of their respective parents.
>  
> Mmh, Zitate, vor allem englische, helfen mir meist nicht
> ganz so gut. Also das erste gibt alle Para-Elemente aus,
> die die ersten Kinder ihrer Eltern sind. Und das andere?

"//" ist ja die Abkürzung für "descendant-or-self::node()/", also eine Liste, bestehend aus dem Kontextknoten und aller seiner Unterknoten. Auf jedes Element dieser Liste wird das Prädikat "para[1]" angewandt, das ist die Abkürzung für "child::para[1]", das ergibt für jeden Knoten der Liste das erste para-Kind.

Viele Grüße
   Rainer

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]