EXSLT / Submissions


http://www.exslt.org/submissions/ 2005-11-02

EXSLTはXSLT拡張の標準化と仕様書作成を指揮しているオープンなコミュニティである。だれでもEXSLTに参加できる。あなたでも。このサイトにあるものにメーリングリストでコメントすることで参加できるし、拡張に対する提案や、あなたが自ら作成した実装やテストケースを送ることができる。このページでその方法を説明する。

関数のサブミッションの方法は2通りある。手動か、サブミッションフォームを使う方法である。以下はサンプルXMLファイルへのリンクである。このサンプルは、手作業で定義をおこなっている場合に役立つだろう。

現在私たちはまだEXSLTのインフラを整備している段階である。だから、最初はいくつかの歯がゆい問題に悩まされるのに耐えてほしい。

予想していたかもしれないが、このサイトはXMLで作られている。何かを送るとき、それを組み込むにはXMLを更新しなければならない。それから、バッチプロセスを動かして全HTMLファイルを作成し、サーバーにアップロードしなければならない。あなたが送るXMLに間違いがなく、送信するファイルに適切に名前を付けることを確実にしてくれるのなら、このプロセスは大いに助かる。

要素を送る

要素のサブミッション・パッケージ

あなたは拡張要素の定義を送ることができる、element-submission-template.xmlをベースとしたXMLを送ることで。ファイル名は次の形式でつけるべきだ:

''モジュールのプレフィックス''.''要素名''.submission.xml

ベンダーの実装の詳細と利用例を同時に送ることもできるが、別々のファイルである。もしこれをするのなら、メタ要素を送る必要はない、一般的な要素の説明に対するものと詳細が同じ場合に。

一度要素のオリジナルの説明が送られたら、EXSLTメーリングリストで議論された後にマネージャーの誰かによって変更されるかもしれない。もし、特定の要素の変更に提案があるのなら、メーリングリストにその提案を送るべきだ。その要素のベンダーによる実装があるのなら、要素の機能を変える変更の結果として、要素のバージョンが変わることになる。

関数とテンプレートを送る

関数サブミッションパッケージ

このサイトが含んでいるマテリアルの主なタイプは関数およびそれに等価なテンプレートの説明だ。

関数とテンプレートに関する提案を送ることができる。function-submission-template.xmlをベースとしたXMLを送ることで。ファイル名は次の形式でつけるべきだ。

module-prefix.function-name.submission.xml

ベンダー実装の詳細と利用例を同時に送ることもできる。だが、別々のファイルで与えられる。もしこれをするのならば、メタ要素を与える必要はない、一般的な関数の説明と詳細が同じ場合に。

Once the original description of a function has been submitted, it may be changed by one of the managers after discussion on the EXSLT mailing list. If you have suggestions for changes to particular functions, you should send them to the list. If there are any implementations of the function, then changes that alter the functionality of the function will result in a change to the version number for the function.

実装を送る


実装サブミッションパッケージ

これらの関数をサポートするXSLTプロセッサーのベンダーならば、メールで教えてほしい。

  • プロセッサの名前 (system-property('xsl:vendor')で返される)
  • プロセッサのURL (as returned by system-property('xsl:vendor-url'))
  • 関数をサポートするプロセッサのバージョン
  • プロセッサがサポートする関数(バージョン番号を含む)

もし既存の関数に対する実装があれば、implementation-submission-template.xmlに基づいたXMLを送ることができる。関数の実装を与えるファイルも含めるべきだ。ファイル名は次のようであるべきだ。

module-prefix.function-name.language-extension

たとえば、math:minのJavaScript?バージョンの実装ファイルはmath.min.jsである。

もし実装がテンプレートならば、ファイル名は次のようであるべきだ。

module-prefix.function-name.template.xsl

たとえば、math:minと同じ機能を提供するテンプレートの実装ファイルの名前はmath.min.template.xmlである。

実装がEXSLT - Functionsに含まれるのならば、ファイル名は次のようであるべきだ。

module-prefix.function-name.function.xsl

たとえば、math:minのEXSLT実装の実装ファイル名はmath.min.function.xmlである。

これらの実装はimplementation-submission-template.xmlをベースとしたXMLを送ることで送ることができる。XMLファイルの名前は実装を含んでいるファイルと同じであるべきだが、.xmlサフィックスをつけるべきだ。たとえば、math:minに対するXSLTテンプレートを記述するファイルの名前は math.min.template.xsl.xmlである。

一度実装が送られると、誰でも変更を送ることができる、実装の新しいバージョンと変更内容の説明を送れば。もし、メールアドレスを教えてくれたら、変更を知らせるようにコンタクトされる。もしOKといえば、マネージャーの一人が実装の記述に対する適切な変更をおこなう。また、もし関数の定義が変われば、実装を変更するように連絡され頼まれる。実装が時代遅れになるのを防ぐためだ。

利用例を送る

利用例サブミッションパッケージ

このサイトで説明されている拡張の利用例は、実装者にとって有益なテストケースと、拡張を使いたい人々に対する例を示す。あなたが生み出したあらゆる利用例を歓迎する。とりわけ、拡張の限界条件を試すものを歓迎する。

利用例は3つの主なパーツで構成される。

:スタイルシート:拡張を使うスタイルシート。拡張関数を呼び出すか、拡張要素や出力メソッドを使ってよい。 :データ:スタイルシートへの入力として働く何らかのXML。スタイルシートが単独で動作する場合はデータは必要ない。 :結果:スタイルシートによって生成されるべき出力結果を示す何らかのXML。出力が生成されないエラー条件をスタイルシートが実演する場合には出力結果を提供する必要はない。出力はXMLでなければならないことに注意してほしい。サイト上のXMLをブラウズできるようにするためだけだ。

もしよければ、supplementary filesを送ってもよい。好きなようにファイル名をつけてもよいが、私たちは通常次のスキーマを使う。

module-prefix.function-name.number.xsl
module-prefix.function-name.data.number.xsl
module-prefix.function-name.result.number.xsl

利用例は、use-case-submission-template.xmlをベースとしたXMLを送ることで送ることができる。ファイル名は次の形式でつけるべきだ。

module-prefix.element-name.use-case.number.xml

私たちは利用例を変更しない。利用例が関数の機能の正確な実演でなくなってしまうほどに、関数の定義が変わったから、利用例を適用できなくならない限りは。電子メールアドレスを教えてくれたら、これらの変更をするように連絡され、依頼される。