「訪問者」パターンを使用して、解析されたコードから XML を生成しています。典型的なコンテキスト クラスでは次のようになります。
public static class On_dtmContext extends ParserRuleContext {
public List<FieldContext> field() {
return getRuleContexts(FieldContext.class);
}
public TerminalNode ON() { return getToken(SRC_REP_SCREENParser.ON, 0); }
public On_dtm_headerContext on_dtm_header() {
return getRuleContext(On_dtm_headerContext.class,0);
}
.....
}
そして、RuleContext の「getText」メンバー関数を使用して、訪問者コールバック関数の要素にアクセスします。「ParserRuleContext」から継承するクラスを作成し、「getText」をオーバーロードして、「<」や「>」などの文字を XML エスケープ シーケンスに置き換えたいと考えています。次のように、コードを生成し、コンテキスト クラスをクラスから継承させる方法はありますか。
public static class On_dtmContext extends XMLParserRuleContext {
public List<FieldContext> field() {
return getRuleContexts(FieldContext.class);
}
public TerminalNode ON() { return getToken(SRC_REP_SCREENParser.ON, 0); }
public On_dtm_headerContext on_dtm_header() {
return getRuleContext(On_dtm_headerContext.class,0);
}
.....
}
ご協力ありがとうございました!よろしく、オオカミ