Ruby-on-rails-2.1-rails-and-xml
提供:Dev Guides
Ruby on Rails 2.1-XML-RXML
Railsは、XMLマークアップとデータ構造を作成する2つのクラスを提供します。
- Builder :: XmlMarkup -これはXMLマークアップ表記を生成します。
- Builder :: XmlEvents -これはXMLイベント(つまり、SAXのような)を生成します。 (すなわち SAXのような)
- === Builder
- XmlMarkup
このクラスを使用すると、XMLマークアップを簡単に作成できます。 XmlMarkupオブジェクトに送信されるすべてのメソッドは、同等のXMLマークアップに変換されます。 ブロックを持つメソッドは、ブロック内にネストされたマークアップを持つXMLマークアップタグとして扱われます。
xmがXmlMarkupオブジェクトであると仮定して、Railsの標準ドキュメントサイトから1つの例を取り上げました。 ここで、コメント部分は、対応するRailsステートメントから生成されています。
例
Builder :: XmlEvents
このクラスを使用して、SAXに似た一連のXMLイベントを作成できます(例: start_tag、end_tag)マークアップコードから。
XmlEventオブジェクトは、文字ベースのマークアップを生成するのではなく、一連のイベントが生成されてハンドラーに渡されることを除いて、XmlMarkupオブジェクトと同様の方法で使用されます。
例
XMLイベントハンドラー
ハンドラーオブジェクトは、次のイベントを予期する必要があります。
- * start_tag(tag、attrs)*-新しいタグが見つかったことを通知します。 tagはタグの名前で、attrsはタグの属性のハッシュです。
- * end_tag(tag)*-タグの終了タグが見つかったことを通知します。
- * text(text)*-文字列(テキスト)が見つかったことを通知します。 一連の文字は複数のテキストコールに分割される可能性があるため、クライアントは単一のコールバックにすべてのテキストデータが含まれていると想定することはできません。