「//someNamespace:tag」(「//tag」だけでなく)を照会できるように、valaを使用してコンテキストに名前空間を登録するにはどうすればよいですか?
私の出発点は: https://live.gnome.org/Vala/XmlSample
Xml.Doc* doc = Parser.parse_file (path);
if(doc==null) print("failed to read the .xml file\n");
Context ctx = new Context(doc);
if(ctx==null) print("failed to create the xpath context\n");
Xml.XPath.Object* obj = ctx.eval_expression("/Example/Objects/Pet");
if(obj==null) print("failed to evaluate xpath\n");
私は[*]名前空間を「作成」する方法を推測しました
Xml.Ns* ns = new Xml.Ns(null,"","svg");
この名前空間をコンテキストに渡すにはどうすればよいですか?
.py に存在する xpathRegisterNs のようなもの (AFAIK)
Python XPath / libxml2 名前空間クエリ
誰かがドキュメント内の既存の名前空間のリストを取得するためのサンプル コードを入手した場合、それも素晴らしいでしょう。
PS: [*] 私が推測したのは、vala 補完を備えた優れた Linux IDE を見つけたかったからです。現在、vala の構文が強調表示されているがコード補完がない Monodevelop 2.8.6.3 で立ち往生しています (「クラスの情報を取得しています」と言い続けていますが、結果は得られません)。誰かが良いアイデアを知っているなら、私はあなたに聞いてうれしいです...