MudGuard: Einfache Frage zu X-Path adressierung

Beitrag lesen

Hi,

Wie ist nun die Syntax richtig?

Beides ist richtig, aber die Bedeutung ist unterschiedlich.

person/augen/@farbe

Das matcht ein Attribut namens farbe in einem Element namens augen in einem Element namens person.

person/augen[@farbe]

Das matcht ein Element namens augen, das ein Attribut namens farbe hat, wobei sich das Element wiederum in einem Element namens person befindet.

Du hast in Deinem XSL nur ein Template für person/augen/@farbe gehabt.
Mit dem allgemeinen apply-templates werden also die default-Templates für person bzw. augen aufgerufen, die jeweils nur den content ausgeben.
Dein person/augen/@farbe wurde also nie aufgerufen.

Als Du das zu person/augen[@farbe] geändert hast, wurde für das augen-Element mit farbe-Attribut nicht mehr das default-Template benutzt, sondern das von Dir vorgegebene.

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.