2016-03-29 7 views
0

Ist es möglich, die Temperaturen folgende XML zusammenzufassen:Durchschnittliche Anzahl von unreinen Knoten unter Verwendung von reinem XPath 1.0

<days> 
    <day><temperature>40 F</temperature></day> 
    <day><temperature>45 F</temperature></day> 
    <day><temperature>50 F</temperature></day> 
</days> 

In XPath 2.0 ich den Durchschnitt der drei Zahlen bekommen konnte

avg(//days/day/temperature/number(translate(.,' F',''))) 

mit Ist es möglich, einen Ausdruck in reinem XPath 1.0 zu schreiben, der dasselbe tun kann? This response auf eine Frage bezüglich der Verwendung von 'Summe' auf unreine Knoten in Xpath 1.0 veranlasst mich zu denken, dass es vielleicht nicht ist.

Also, gibt es eine Möglichkeit, die durchschnittliche Temperatur von diesen unreinen Knoten nur mit einem xpath 1.0 Ausdruck zu erhalten?

+0

Ich bin sicher, dass dies nicht rein XPath getan werden kann, 1,0 und noch mehr Vertrauen zu wissen, dass [@ Michael Kay] (http://stackoverflow.com/users/415448/michael-kay) Gedanken das gleiche – har07

Antwort

0
sum(//days/day/temperature/number(translate(.,' F',''))) div count(//days/day/temperature) 
+0

Aufruf Funktion auf Pfad wie '/ number()' ist nicht erlaubt in XPath 1.0 ... – har07

+0

Natürlich ist es. 'avg()' ist in XPath 1.0 nicht verfügbar, aber 'number()' ist. Versucht es mit Altova XMLSpy Enterprise 2016 rel. 2. –

+0

Es geht nicht um die Verfügbarkeit der Funktion, es ist die Syntax, die nicht erlaubt ist. Zum Beispiel: 'temperature [number()]' ist in Ordnung, aber 'temperature/number()' löst Exception in xpath 1.0 aus. – har07

Verwandte Themen