Next: text.console - テキスト端末制御, Previous: sxml.tools - SXML構造を操作する, Up: ライブラリモジュール - ユーティリティ [Contents][Index]
sxml.serializer - SXMLからXMLとXHTMLのシリアライゼーションこのモジュールはSXMLからXMLとHTMLへの変換を行う、様々な機能を持つ シリアライザを提供します。XSLT2.0とXQuery1.0に部分的に適合しています。 (http://www.w3.org/TR/2005/CR-xslt-xquery-serialization-20051103/)。 sxml.toolsのsxml:sxml->xmlとsxml:sxml->htmlよりも強力です。
マニュアルのエントリは主に、オリジナルのソースコードから取られてています。
| • 簡単なSXML変換: | ||
| • カスタムSXML変換: |
Next: カスタムSXML変換, Previous: sxml.serializer - SXMLからXMLとXHTMLのシリアライゼーション, Up: sxml.serializer - SXMLからXMLとXHTMLのシリアライゼーション [Contents][Index]
高レベルの、簡単に使えるシリアライザです。大抵の目的にはこれで十分使えるでしょう。
{sxml.serializer} sxml-objをXMLへと変換します。出力は人間が読みやすいように インデントされます。
port-or-filenameが与えられなければ、 戻り値はsxml-objの変換結果の文字列になります。
port-or-filenameがポートならば、そのポートにXMLを書き出します。 戻り値は不定です。
port-or-filenameが文字列ならば、その名のファイルにXMLを書き出し ます。戻り値は不定です。そのようなファイルが既に存在する場合、 結果は不定です。
註: sxml.ssaxのsxml:sxml->xmlと異なり、
この手続きはXML属性の値が文字列であることを要求します。
{sxml.serializer}
srl:sxml->xmlと同じように動作しますが、インデントを行いません。
引数port-or-filenameはsrl:sxml->xmlと同様に動作します。
{sxml.serializer} sxml-objをHTMLへと変換します。出力は人間が読みやすいように インデントされます。
引数port-or-filenameはsrl:sxml->xmlと同様に動作します。
註: sxml.ssaxのsxml:sxml->htmlと異なり、
この手続きはXML属性の値が文字列であることを要求します。
{sxml.serializer}
srl:sxml->htmlと同じように動作しますが、インデントを行いません。
引数port-or-filenameはsrl:sxml->xmlと同様に動作します。
Previous: 簡単なSXML変換, Up: sxml.serializer - SXMLからXMLとXHTMLのシリアライゼーション [Contents][Index]
以下の手続きはXMLシリアライザの全ての設定パラメータへのアクセスを提供 します。
{sxml.serializer} 汎用シリアライズ手続、この実装でサポートするすべてのシリアライズパラメー タのパラメータ化。
sxml-obj - シリアライズするSXMLオブジェクト。
port-or-filename - #fあるいはポートあるいは文字列のどれか。
srl:sxml->xmlのものと同じ働きをします(簡単なSXML変換)。
params - 各パラメータはパラメータ名(シンボル)とパラメータ値との コンス対。利用可能なパラメータ名とその値については後述。
method - シンボルxmlかhtmlのどちらか。XMLメソッド
とHTMLメソッドの相違についての詳しい説明は、XSLT 2.0 と XQuery
Serialization
(http://www.w3.org/TR/2005/CR-xslt-xquery-serialization-20051103/)
を参照してください。
indent - 出力の XML が読みやすさのために空白を含むかどうか
(#tあるいは#f)。文字列を設定することもでき、その場合
インデント単位に使われます。
omit-xml-declaration - XML宣言を省略するかどうか。デフォルトは
#t。
standalone - XML ドキュメントを XML 宣言でスタンドアローンとし
て定義するかどうか。yes、no、omitのうちいずれかの
シンボルでなければならない。デフォルトは omit
version - XML宣言中のXMLバージョン。文字列または数。デフォルト
は"1.0"。
cdata-section-elements - SXML要素の名前(シンボル)のリスト。これ
らの要素の中身はCDATAセクションと同様にエスケープされる。
ns-prefix-assig - (cons prefix namespace-uri)のリスト。
各prefixはシンボルで、namespace-uriは文字列。
対応する接頭辞をつけて与えられた名前空間をシリアライズする。
注意: パラメータ名が期待された名前ではない場合、あるいはパラメータ値 が不正な形式である場合にはそのようなパラメータは警告なしで無視されます。
使用実例:
(srl:parameterizable '(tag (@ (attr "value")) (nested "text node") (empty)) (current-output-port) '(method . xml) ; XML出力をデフォールト '(indent . "\t") ; インデントは一つのタブ '(omit-xml-declaration . #f) ; XML宣言をつける '(standalone . yes) ; 「standalone」宣言もつける '(version . "1.0")) ; XMLのバージョン
param ::= (cons param-name param-value) param-name ::= symbol cdata-section-elements value ::= (listof sxml-elem-name) sxml-elem-name ::= symbol indent value ::= 'yes | #t | 'no | #f | whitespace-string method value ::= 'xml | 'html ns-prefix-assig value ::= (listof (cons prefix namespace-uri)) prefix ::= symbol namespace-uri ::= string omit-xml-declaration value ::= 'yes | #t | 'no | #f standalone value ::= 'yes | #t | 'no | #f | 'omit version value ::= string | number
{sxml.serializer}
srl:parameterizableと同様ですが、文字列を返し、パラメータ解析のオーバヘッ
ドはありません。この関数のインタフェースはこのライブラリの将来のバージョ
ンでは変更されるかもしれません。
{sxml.serializer}
srl:parameterizableと同様ですが、結果を
port-or-filenameに書き出します。パラメータ解析のオーバーヘッドはありません。
この関数のインタフェースはこの
ライブラリの将来のバージョンでは変更されるかもしれません。
Next: text.console - テキスト端末制御, Previous: sxml.tools - SXML構造を操作する, Up: ライブラリモジュール - ユーティリティ [Contents][Index]