Hilfe zur xPath-CodierungIch versuche, xPath beim Abrufen von Elementen aus der JMP-Anzeigeausgabe zu erlernen/zu verwenden.Zum Lernen habe ich eine sehr einfache bivariate Ausgabe und versuche, die Vorhersageformel direkt aus 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 vierten TextBox über einen xPath-Abruf abrufe
zip = (report(ow) << XPath("//TextEditBox"))[4] << get text ;
Da der Wert für den Index jedoch 4 beträgt, kann er sich ändern, wenn zusätzliche Anpassungen hinzugefügt werden usw.Ich möchte xPath verwenden, um das erste Textfeld nach einem Gliederungsfeld abzurufen, das den Wert „Linear Fit“ hat.
Hat einer von euch xPath-Experten eine Lösung?
Automatisierung und SkripterstellungDatenexploration und -visualisierungQualitäts- und VerfahrenstechnikBetreff: Hilfe zur xPath-CodierungAuf diese Weise KÖNNEN Sie es angehen, Jim, aber das untergräbt den Sinn der XPath-Sprache. Es soll die ganze Arbeit für Sie erledigen.
Betreff: Hilfe zur xPath-CodierungHier sind einige andere XPath-Ausdrücke, die ich zum Navigieren in der Baumstruktur als hilfreich empfunden habe.
// 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, durch die 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: Hilfe zur xPath-CodierungVielen Dank!Betreff: Hilfe zur xPath-Codierungrpt=ow<<REPORT></REPORT>
Betreff: Hilfe zur xPath-CodierungSuper......
Ich denke immer noch, dass es eine Möglichkeit geben muss, den Wert von einer TextEditBox zurückzugeben, nachdem eine bestimmte OutlineBox erkannt wurde, also das erste Textfeld nach einer angegebenen OutlineBox zurückzugeben
Betreff: Hilfe zur xPath-CodierungAha! Diese Syntax funktioniert!
biv rep << XPath( "//TextEditBox[contains(text(),\!"=\!")]/text()" );
Betreff: Hilfe zur xPath-CodierungSie sollten alles mit XPath erledigen können. Das erste Beispiel zeigt Ihnen alle Texte. Das zweite Beispiel versucht, eine XPath-Funktion zu verwenden, aber ich bekomme die Syntax nicht zum Laufen.
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()" );