XMLのストリームへの書き出しを行う抽象クラスです。
[詳解]
#include "nn/nlib/exi/XmlStreamWriter.h"
|
void | Flush () noexcept |
| XMLライタをフラッシュします。 [詳解]
|
|
void | WriteCData (const ExiChar *data) noexcept |
| 引数で指定したテキストを書き込みます。 [詳解]
|
|
void | WriteCharacters (const ExiChar *text) noexcept |
| 引数で指定したテキストを書き込みます。 [詳解]
|
|
void | WriteComment (const ExiChar *data) noexcept |
| 引数で指定したテキストを格納したXMLコメント(<!--...-->)を書き込みます。 [詳解]
|
|
void | WriteProcessingInstruction (const ExiChar *target, const ExiChar *data) noexcept |
| <?target data?>といったPI(Processing Instrcuction)を書き込みます。 [詳解]
|
|
|
const ExiChar * | GetPrefix (const ExiChar *uri) noexcept |
| 名前空間URIに対応するプレフィックスを取得します。 [詳解]
|
|
void | WriteNamespace (const ExiChar *prefix, const ExiChar *namespace_uri) noexcept |
| XML名前空間を宣言します。 [詳解]
|
|
void | WriteDefaultNamespace (const ExiChar *namespace_uri) noexcept |
| デフォルト名前空間を宣言します。 [詳解]
|
|
|
void | WriteAttribute (const ExiChar *local_name, const ExiChar *value) noexcept |
| 名前空間なしの属性と値を書き込みます。 [詳解]
|
|
void | WriteAttribute (const ExiChar *prefix, const ExiChar *namespace_uri, const ExiChar *local_name, const ExiChar *value) noexcept |
| 名前空間つきの属性と値を書き込みます。 [詳解]
|
|
|
void | WriteEmptyElement (const ExiChar *local_name) noexcept |
| 名前空間なしの要素で開始タグと終了タグをを書き込みます。 [詳解]
|
|
void | WriteEmptyElement (const ExiChar *prefix, const ExiChar *namespace_uri, const ExiChar *local_name) noexcept |
| 名前空間つきの要素で開始タグと終了タグを書き込みます。 [詳解]
|
|
void | WriteEndElement () noexcept |
| 終了タグを書き込みます。
|
|
void | WriteStartElement (const ExiChar *local_name) noexcept |
| 名前空間なしの要素で開始タグを書き込みます。 [詳解]
|
|
void | WriteStartElement (const ExiChar *prefix, const ExiChar *namespace_uri, const ExiChar *local_name) noexcept |
| 名前空間つきの要素で開始タグを書き込みます。 [詳解]
|
|
|
void | WriteStartDocument () noexcept |
| XMLドキュメントの開始を宣言し、XML宣言等を書き込みます。
|
|
void | WriteEndDocument () noexcept |
| 開いている任意の要素を全て閉じ、XMLライタをクローズします。
|
|
|
ExiErrorStatus::ErrorValue | GetError () const noexcept |
| エラー値を取得します。
|
|
ExiErrorStatus * | GetErrorStatus () const noexcept |
| エラー状態オブジェクトを取得します。
|
|
| operator bool () const |
| エラーが発生していない場合はtrue を返します。
|
|
XMLのストリームへの書き出しを行う抽象クラスです。
- 説明
- Javaの
XMLStreamWriter
(StAX)や.NETの XmlWriter
と似たような書き方でXMLを書きだすことができます。
XmlStreamWriter
のインスタンスを作成するには、XmlStreamWriter::Create()
関数を利用します。 インスタンスはExiAllocator
からメモリを取得して作成されます。
- 典型的には以下のようなコードを書いてXMLを書き込みます。
if (!w.get()) {
return out_of_memory;
}
w->WriteStartDocument();
w->WriteStartElement(...);
w->WriteEndElement();
w->WriteEndDocument();
w->Flush();
return error;
}
return ok;
XmlStreamWriter.h の 41 行目に定義があります。
§ Create() [1/4]
§ Create() [2/4]
§ Create() [3/4]
nn::nlib::exi::XmlStreamWriter::Create |
( |
OutputStream * |
stream | ) |
|
|
inlinestaticnoexcept |
§ Create() [4/4]
§ Flush()
nn::nlib::exi::XmlStreamWriter::Flush |
( |
| ) |
|
|
inlinenoexcept |
XMLライタをフラッシュします。
- 説明
- 基となるストリームにデータをフラッシュして、基となるストリームもフラッシュします。
XmlStreamWriter.h の 65 行目に定義があります。
§ GetPrefix()
nn::nlib::exi::XmlStreamWriter::GetPrefix |
( |
const ExiChar * |
uri | ) |
|
|
inlinenoexcept |
名前空間URIに対応するプレフィックスを取得します。
- 引数
-
- 戻り値
- 名前空間プレフィックス
- 説明
- 名前空間が存在しない場合は
NULL
を、名前空間がデフォルト名前空間である場合には空文字列を返します。uri
がNULL
の場合は空文字列と同様に扱われます。
- 名前空間に対して複数のプレフィックスが存在する場合は、対応するプレフィックス文字列のどれかを返します。
XmlStreamWriter.h の 69 行目に定義があります。
§ WriteAttribute() [1/2]
nn::nlib::exi::XmlStreamWriter::WriteAttribute |
( |
const ExiChar * |
local_name, |
|
|
const ExiChar * |
value |
|
) |
| |
|
inlinenoexcept |
名前空間なしの属性と値を書き込みます。
- 引数
-
[in] | local_name | 属性のローカル名 |
[in] | value | 属性の値 |
- 説明
- 以下のコードと等価です。
XmlStreamWriter.h の 73 行目に定義があります。
§ WriteAttribute() [2/2]
nn::nlib::exi::XmlStreamWriter::WriteAttribute |
( |
const ExiChar * |
prefix, |
|
|
const ExiChar * |
namespace_uri, |
|
|
const ExiChar * |
local_name, |
|
|
const ExiChar * |
value |
|
) |
| |
|
noexcept |
名前空間つきの属性と値を書き込みます。
- 引数
-
[in] | prefix | 属性の名前空間プレフィックス |
[in] | namespace_uri | 属性の名前空間URI |
[in] | local_name | 属性のローカル名 |
[in] | value | 属性の値 |
- 説明
localName
にNULL
又は空文字列を渡すことはできません。 prefix
, namespaceUri
, value
についてはNULL
は空文字列と同様に扱われます。
§ WriteCData()
nn::nlib::exi::XmlStreamWriter::WriteCData |
( |
const ExiChar * |
data | ) |
|
|
inlinenoexcept |
§ WriteCharacters()
nn::nlib::exi::XmlStreamWriter::WriteCharacters |
( |
const ExiChar * |
text | ) |
|
|
inlinenoexcept |
§ WriteComment()
nn::nlib::exi::XmlStreamWriter::WriteComment |
( |
const ExiChar * |
data | ) |
|
|
noexcept |
引数で指定したテキストを格納したXMLコメント(<!--...-->)を書き込みます。
- 引数
-
- 説明
data
にNULL
を渡した場合は空文字列と同様に扱われます。
§ WriteDefaultNamespace()
nn::nlib::exi::XmlStreamWriter::WriteDefaultNamespace |
( |
const ExiChar * |
namespace_uri | ) |
|
|
inlinenoexcept |
デフォルト名前空間を宣言します。
- 引数
-
[in] | namespace_uri | デフォルト名前空間の名前空間URI |
- 説明
- この関数は以下のコードと等価です。
XmlStreamWriter.h の 96 行目に定義があります。
§ WriteEmptyElement() [1/2]
nn::nlib::exi::XmlStreamWriter::WriteEmptyElement |
( |
const ExiChar * |
local_name | ) |
|
|
inlinenoexcept |
§ WriteEmptyElement() [2/2]
nn::nlib::exi::XmlStreamWriter::WriteEmptyElement |
( |
const ExiChar * |
prefix, |
|
|
const ExiChar * |
namespace_uri, |
|
|
const ExiChar * |
local_name |
|
) |
| |
|
noexcept |
名前空間つきの要素で開始タグと終了タグを書き込みます。
- 引数
-
[in] | prefix | 要素の名前空間プレフィックス |
[in] | namespace_uri | 要素の名前空間URI |
[in] | local_name | 要素のローカル名 |
- 説明
- この関数は以下のコードと等価です。
§ WriteNamespace()
nn::nlib::exi::XmlStreamWriter::WriteNamespace |
( |
const ExiChar * |
prefix, |
|
|
const ExiChar * |
namespace_uri |
|
) |
| |
|
inlinenoexcept |
XML名前空間を宣言します。
- 引数
-
[in] | prefix | 名前空間に対応するプレフィックス |
[in] | namespace_uri | 名前空間URI |
- 説明
prefix
やnamespaceUri
にNULL
を指定した場合は空文字列と同様に扱われます。
XmlStreamWriter.h の 90 行目に定義があります。
§ WriteProcessingInstruction()
nn::nlib::exi::XmlStreamWriter::WriteProcessingInstruction |
( |
const ExiChar * |
target, |
|
|
const ExiChar * |
data |
|
) |
| |
|
noexcept |
<?target data?>といったPI(Processing Instrcuction)を書き込みます。
- 引数
-
[in] | target | PIの名前。 |
[in] | data | PIに含めるテキスト。 |
- 説明
- PIを書き込むには、 Preserve::pis を
true
にして XmlStreamWriter
を作成する必要があります。そうでない場合、この関数を呼び出しても何も書き込まれません。
- なお、この関数でXML宣言を書きこむことはできません。
WriteStartDocument()
を利用する必要があります。
target
にNULL
や空文字列を指定することはできません。 data
にNULL
を指定した場合は空文字列と同様に扱われます。
§ WriteStartElement() [1/2]
nn::nlib::exi::XmlStreamWriter::WriteStartElement |
( |
const ExiChar * |
local_name | ) |
|
|
inlinenoexcept |
§ WriteStartElement() [2/2]
nn::nlib::exi::XmlStreamWriter::WriteStartElement |
( |
const ExiChar * |
prefix, |
|
|
const ExiChar * |
namespace_uri, |
|
|
const ExiChar * |
local_name |
|
) |
| |
|
noexcept |
名前空間つきの要素で開始タグを書き込みます。
- 引数
-
[in] | prefix | 要素の名前空間プレフィックス |
[in] | namespace_uri | 要素の名前空間URI |
[in] | local_name | 要素のローカル名 |
- 説明
- プレフィックスが名前空間URIに関連付けられていない場合は対応する名前空間宣言が出力されます。
- デフォルト名前空間を利用する場合は、
prefix
にNULL
か空文字列を指定して呼び出します。 この場合、既に名前空間URIにプレフィックスが与えられている場合でもデフォルト名前空間が宣言されます。
- また、プレフィックスだけを指定して名前空間URIを省略することはできません。
このクラス詳解は次のファイルから抽出されました: