Hilfe zur xPath-CodierungIch versuche, xPath beim Abrufen von Elementen aus der JMP-Anzeigeausgabe zu lernen / zu verwenden.Für mein Lernen habe ich eine sehr einfache bivariate Ausgabe und ich versuche, die Vorhersageformel direkt von der Anzeigeausgabe abzurufen.

Die JSL
names default to here(1);
dt = Open("$Sample_Data/big class.jmp");
ow = Bivariate(
Y( :weight ),
X( :height ),
Fit Line( {Line Color( "Medium Dark Green" )} )
);
Das Thema:
Ich kann die Formel einfach mit dem Display Tree-Aufruf von abrufen
zap = report(ow)["Linear Fit"][TextBox(1)] << get text;
Ich kann auch darauf zugreifen, indem ich den Text aus der 4. TextBox von einem xPath-Abruf abrufe
zip = (report(ow) << XPath("//TextEditBox"))[4] << get text ;
Da sich jedoch der Wert 4 für den Index ändert, kann sich dies ändern, wenn zusätzliche Anpassungen hinzugefügt werden usw.Ich möchte xPath verwenden, um das erste Textfeld nach einem Gliederungsfeld mit dem Wert "Lineare Anpassung" abzurufen.
Hat einer von euch xPath-Experten eine Lösung?
SkriptingBetreff: xPath-CodierungshilfeSie sollten in der Lage sein, alles mit XPath zu tun. Das erste Beispiel enthält alle Texte. Das zweite Beispiel versucht, eine XPath-Funktion zu verwenden, aber ich kann die Syntax nicht zum Laufen bringen.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ), Fit Line( 1 ) );
biv rep = biv << Report;
// get all texts in a list
biv rep << XPath( "//TextEditBox//text()" );
// get specific text
target = "=";
biv rep << XPath( "//TextEditBox/[contains(text(),target)]/text()" );
Betreff: xPath-CodierungshilfeAha! Diese Syntax funktioniert!
biv rep << XPath( "//TextEditBox[contains(text(),\!"=\!")]/text()" );
Betreff: xPath-CodierungshilfeSuper......
Ich denke immer noch, dass es eine Möglichkeit geben muss, den Wert von einer TextEditBox zurückzugeben, nachdem eine bestimmte OutlineBox erkannt wurde, und das erste Textfeld nach einem bestimmten Gliederungsfeld zurückzugeben
Betreff: xPath-Codierungshilferpt=ow<<REPORT></REPORT>
Betreff: xPath-CodierungshilfeVielen Dank!Betreff: xPath-CodierungshilfeHier sind einige andere xpath-Ausdrücke, die ich für die Navigation in der Baumstruktur hilfreich fand.
// Note: the * in these examples can also be replaced by the class of
// the element you are looking for e.g. TableBox, OutlineBox
rpt = report(ow);
// Gets immediate children of the Outlinebox (ItsTableBox)
rpt << xpath("//OutlineBox[text()='Summary of Fit']/*");
// Gets all descendants of the Outlinebox (TableBox AND all of its ColBoxes)
rpt << xpath("//OutlineBox[text()='Summary of Fit']//*");
// Gets following elements at the same level of the tree
//(Lack of Fit, Analysis of Variances, Parameter Estimates OutlineBoxes)
rpt << xpath("//OutlineBox[text()='Summary of Fit']/following-sibling::*")
// Gets preceding elements at the same level of the tree (TextEditBox with formula)
rpt << xpath("//OutlineBox[text()='Summary of Fit']/preceding-sibling::*")
// Gets ancestors of the box (ListBox, OutlineBox["Linear Fit"], IfBox, OutlineBox["Bivariate Fit..."])
rpt << xpath("//OutlineBox[text()='Summary of Fit']/ancestor::*")Dies ist die Baumstruktur, in der in den Beispielen navigiert wird.

Dieses Poster enthält noch mehr Beispiele https://community.jmp.com/t5/Discovery-Summit-2015/JMP-Discovery-2015-Mining-JMP-Reports-v10-pdf/ta-p/22595
Betreff: xPath-CodierungshilfeSie können es so angehen, Jim, aber auf diese Weise wird der Punkt der XPath-Sprache untergraben. Es soll die ganze Arbeit für Sie erledigen.