manakai//Message::Markup::XML

manakai//Message::Markup::XML

[1] Message::Markup::XML (旧称 SuikaWiki::Markup::XML) は、 SuikaWiki で使うために作られた簡易 XML 出力器 (serializer) の perl module です。

とはいっても SuikaWiki に限らず汎用的に使うことが出来ます。 このため現在では SuikaWiki ではなく manakai の一部として開発しています。

[2] この module を使えば、簡単に安全な XML 文書を出力できます。 例:

my $NS_XMP = 'http://markup.example.org/';
my $x = Message::Markup::XML->new (type => '#document');
$x->append_new_node (type => '#comment',
                     value => ' AN EXAMPLE XML DOCUMENT ');
$x->append_text ("\n");
my $r = $x->append_new_node (namespace_uri => $NS_XMP,
                             local_name => 'root');
  $r->set_attribute (version => '1.0');
  $r->append_text ("\n");
  my $h = $r->append_new_node (namespace_uri => $NS_XMP,
                               local_name => 'h');
    $h->append_text ('Abstract');
  $r->append_text ("\n");
  my $p = $r->append_new_node (namespace_uri => $NS_XMP,
                               local_name => 'p');
    $p->append_text ('This is an example ');
    $p->append_new_node (namespace_uri => $NS_XMP,
                         local_name => 'em')
      ->append_text ('XML');
    $p->append_text (' document.');
  $r->append_text ("\n");
print $x;

出力例:

<!-- AN EXAMPLE XML DOCUMENT -->
<root version="1.0" xmlns="http://markup.example.org/">
<h>Abstract</h>
<p>This is an example <em>XML</em> document.</p>
</root>

[13] a (名無しさん 2005-06-02 03:10:27 +00:00)

界面

[5] 確定した界面:

[6] 不確定要素の残るもののほぼ確定した界面:

[7] 未確定界面: module の source 参照。

[8] 対応している節の型

#element
要素型
#attribute
属性
#document
文書
#fragment
文書断片
#reference
参照 (実体参照文字参照)
#declaration
マーク宣言
#section
マーク区間
#pi
処理指令
#comment
注釈宣言
#xml
生 XML (非推奨)

関連モジュール

[11]

入手

[3] manakai の CVS repository <IW:SuikaCVS:"messaging/manakai/lib/Message/Markup/"> から入手できます。

License

[4] Message::Markup::XML 及び子モジュールは perlと同じライセンスです。

メモ