あなたの最初の質問への答えはノーです。 2番目の「はい、XMLとYAMLのためのもっともらしい構文があります」
これらはデータ形式であり、XML形式とYAML形式はJSONよりもはるかに強力です。 JSONでもプログラミング言語には無関係ですが、それ以外は、評価できる関数を定義する方法については何も仕様にはありません。
もちろん、XMLとYAMLでタグ付けするのは簡単です(それぞれ独自の方法で)。構文解析中にタグを評価し、出力(文字列/スカラー/複合型から)を作成するプログラムを作成するだけです。 これは、あなた自身が尋ねたようには思えない質問にすぐ答えます。「評価する文字列はどの文字列でスクリプト化されていますか?」答えは次のとおりです。タグ付きデータ "
PythonのYAMLパーサからは、評価を行うためにPythonインタプリタを呼び出すのは簡単です。コンパイルされたプログラミング言語からスクリプト拡張を呼び出すか、プログラムにエバリュエータを組み込む必要があります。もちろん、コンパイルと動的ロードによって評価することもできますが、既存のスクリプト言語を使用するよりも難しいでしょう。
あなたの例では、あるパターン(文字列のどこかに$
を持つ$
で始まる)に基づいた値の解釈が使用されているようです。あなたがそれぞれの文字列を分析し、実際の$
を書くためのエスケープメカニズムを提供しなければならないので、これを行う間違った方法です。実際にパーザに特別な必要性を作成するようにタグ付け/属性を使用するほうがはるかに優れています。
私には奇妙な質問のようですが、xmlを変換するためにxsl変換を調べることができます。トランスフォームでいくつかの関数を呼び出すことができます。 – Derek