.NET Framework用語集 |
XML
XML (Extensible Markup Language)
IT用語辞典バイナリ |
XML
読み方:エックスエムエル
別名:拡張可能マークアップ言語
XMLとは、W3C(World Wide Web Consortium)によって標準が規定されている、文書あるいはデータの構造を記述できる構造化文書の仕様のことである。
XMLはマークアップ言語の一種であり、HTMLのようにタグを用いて文章構造を定義する。ユーザーがタグの定義と使い方を決めることができるメタ言語の性格を持っている点が大きな特徴となっている。
XMLで作成された文書はXML文書などと呼ばれる。XML文書は、先頭にXML宣言と呼ばれる、XML標準のバージョンや、使用される文字デンコーディングを示す部分を持つ。XML宣言に続く部分を、XMLインスタンスと呼び、文書データ本体の他、データ部分の書式を規定するルール、表示方法を規定するスタイルシートなどを含むことができる。書式を表現するために用いられる言語はスキーマ言語と呼ばれ、DTD(Document Type Definition)とXML Schemaが用いられている。またXMLのスタイルシートには、XSL(eXtensible Stylesheet Language)、およびCSS(Cascading Style Sheet)が用いられる。
XMLは、汎用のマークアップ言語として、多種多様な分野においてデータ交換のために利用されている。異なる組織間で共通の書式でデータを交換するEDI(Electronic Data Interchange)用に業界ごとの様々な書式が規定されている。たとえば金融の分野ではXBRL(eXtensible Business Reporting Language)の例を挙げることができる。XBRLは電子政府のシステムでも活用されており、国税の電子申告・電子納付などで用いられている。
機能モジュールごとのデータ交換をXML文書によって行う仕組みとしてはSOAPがあり、SOAPを用いると、モジュール間の結びつきを疎結合にして、より柔軟なシステムを構築することができる。その他、ベクタデータをWebブラウザで表示するためのデータ表現形式であるSVG(Scalable Vector Graphics)、Microsoftが開発した描画用言語のXAML、2007 Microsoft Office systemで初めて導入されたMicrosoft Office向けの文書フォーマットであるOOXML(Office Open XML)など、XMLの応用事例は枚挙にいとまがない。
XMLで定義されたデータを扱うデータベースは、XMLデータベースと呼ばれる。
XMLのような汎用マークアップ言語の標準としては、XMLに先立ち、SGML(Standard Generalized Markup Language)が登場していた。SGMLの仕様は非常に大きかったためにWebでの利用には適さず、普及することがなかった。SGMLを母体としてHTMLが考案されたが、HTMLは逆にWebのページ記述に特化していたため、汎用性に欠いており、多種多様な分野におけるデータ交換などの目的には対応できなかった。XMLは、そのような事情を背景に持ちながら、コンパクトでありながら、より汎用的な利用に適した仕様として策定された、正式版は1998年に初めて登場している。
2002年には、HTML、XML、CSSを使ってHTMLの仕様を再定義したXHTML 1.0が発表されている。
参照リンク
XML Consortium Top
| XML: | WSDL XHTML XLink XML XML Master:Professional XML Schema XML名前空間 |
拡張子辞典 |
PHP関数リファレンス |
XML パーサ関数
- XML_ERROR_NONE (integer)
- XML_ERROR_NO_MEMORY (integer)
- XML_ERROR_SYNTAX (integer)
- XML_ERROR_NO_ELEMENTS (integer)
- XML_ERROR_INVALID_TOKEN (integer)
- XML_ERROR_UNCLOSED_TOKEN (integer)
- XML_ERROR_PARTIAL_CHAR (integer)
- XML_ERROR_TAG_MISMATCH (integer)
- XML_ERROR_DUPLICATE_ATTRIBUTE (integer)
- XML_ERROR_JUNK_AFTER_DOC_ELEMENT (integer)
- XML_ERROR_PARAM_ENTITY_REF (integer)
- XML_ERROR_UNDEFINED_ENTITY (integer)
- XML_ERROR_RECURSIVE_ENTITY_REF (integer)
- XML_ERROR_ASYNC_ENTITY (integer)
- XML_ERROR_BAD_CHAR_REF (integer)
- XML_ERROR_BINARY_ENTITY_REF (integer)
- XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (integer)
- XML_ERROR_MISPLACED_XML_PI (integer)
- XML_ERROR_UNKNOWN_ENCODING (integer)
- XML_ERROR_INCORRECT_ENCODING (integer)
- XML_ERROR_UNCLOSED_CDATA_SECTION (integer)
- XML_ERROR_EXTERNAL_ENTITY_HANDLING (integer)
- XML_OPTION_CASE_FOLDING (integer)
- XML_OPTION_TARGET_ENCODING (integer)
- XML_OPTION_SKIP_TAGSTART (integer)
- XML_OPTION_SKIP_WHITE (integer)
イベントハンドラ
XML イベントハンドラは次のように定義されます。 表 323. サポートされる XML ハンドラ| ハンドラ設定用の PHP 関数 | イベントの説明 |
|---|---|
| xml_set_element_handler() | 要素イベントは、XML パーサーが開始または終了タグに出会うたび に発行されます。開始タグと終了タグについて別のハンドラがあり ます。 |
| xml_set_character_data_handler() | 文字データは、タグの間の空白を含めて XML ドキュメントにおけ るほぼ全ての非マークアップ部分の内容です。XML パーサーは、 空白を加えたり削除したりしないことに注意してください。空白が 意味を有するかどうかを決めるのは、アプリケーション側の責任 です。 |
| xml_set_processing_instruction_handler() |
PHP プログラマは、既に処理用命令 (PI) に既に慣れているに違
いありません。<?php ?> は処理用命令であり、この場合、
php は "PI ターゲット"と呼ばれます。
これらの処理はアプリケーション依存ですが、全ての PI ターゲッ
トが "XML" から始まることだけは、規定されています。
|
| xml_set_default_handler() | 別のハンドラでしないことをデフォルトのハンドラで行います。 XML およびドキュメント型の宣言のようなことをデフォルトハンドラで 行います。 |
| xml_set_unparsed_entity_decl_handler() | このハンドラは、処理されない (NDATA) エンティティの宣言用に コールされます。 |
| xml_set_notation_decl_handler() | このハンドラは、表記の宣言用にコールされます。 |
| xml_set_external_entity_ref_handler() | このハンドラは、XML パーサーが外部処理された通常のエンティティ への参照を見つけた際にコールされます。これは、例えば、ファ イルまたは URL への参照とすることが可能です。例としては、 外部エンティティ の例 を参照ください。 |
大文字変換(Case Folding)
要素ハンドラ関数は、その要素に大文字小文字を変換する (case-folded)の名前をつけることができます。 大文字変換(case-folding) は、XML標準により "大文字でないものは等 価な大文字に置換される一連の文字に適用されるプロセス" として定義 されています。言い替えると、XML に関しては単に大文字変換は大文字 にすることを意味します。デフォルトで、ハンドラ関数に渡される全ての要素名は、大文字変換さ れます。この動作は、xml_parser_get_option() およびxml_parser_set_option() 関数でXMLパーサー 毎にそれぞれ問い合わせ、制御することが可能です。
エラーコード
(xml_parse() により返されるものとして) XMLエラーコードとして次のような定数が定義されています。:| XML_ERROR_NONE |
| XML_ERROR_NO_MEMORY |
| XML_ERROR_SYNTAX |
| XML_ERROR_NO_ELEMENTS |
| XML_ERROR_INVALID_TOKEN |
| XML_ERROR_UNCLOSED_TOKEN |
| XML_ERROR_PARTIAL_CHAR |
| XML_ERROR_TAG_MISMATCH |
| XML_ERROR_DUPLICATE_ATTRIBUTE |
| XML_ERROR_JUNK_AFTER_DOC_ELEMENT |
| XML_ERROR_PARAM_ENTITY_REF |
| XML_ERROR_UNDEFINED_ENTITY |
| XML_ERROR_RECURSIVE_ENTITY_REF |
| XML_ERROR_ASYNC_ENTITY |
| XML_ERROR_BAD_CHAR_REF |
| XML_ERROR_BINARY_ENTITY_REF |
| XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF |
| XML_ERROR_MISPLACED_XML_PI |
| XML_ERROR_UNKNOWN_ENCODING |
| XML_ERROR_INCORRECT_ENCODING |
| XML_ERROR_UNCLOSED_CDATA_SECTION |
| XML_ERROR_EXTERNAL_ENTITY_HANDLING |
文字エンコーディング
PHPのXML拡張機能は、異なった文字エンコーディング を通じて» Unicode 文字セットをサポートします。ソースエンコーディング およびターゲットエンコーディング という2種類の文字エンコーディングがあります。 PHP におけるドキュメントの内部表現は、常に UTF-8でエンコードされます。ソースエンコーディングは、XMLドキュメントが 構文解析された際に行わ れます。XML パーサの 作成を行う際に、ソースエンコードを指定することができます。 (このエンコーディングは、その XML パーサーが存在する間、後で変更す ることはできません)サポートされるソースエンコーディングは、 ISO-8859-1, US-ASCII , UTF-8 です。前の二つは、シングルバイトエンコー ディングです。これは、各文字がシングルバイトで表現されることを意 味します。UTF-8 は、1から4バイトの可変ビット 数(最大21ビット)で構成された文字をエンコードすることが可能です。 PHP で用いられるデフォルトのソースエンコーディングは、 ISO-8859-1です。
ターゲットエンコーディングは、PHPがデータをXMLハンドラ関数に 渡す時に行われます。あるXMLパーサが作成された際、ターゲットエン コーディングは、ソースエンコーディングと同様に設定されます。 しかし、これは、いつでも変更可能です。ターゲットエンコーディング は、タグ名と同様に文字データに作用し、命令を処理します。
XML パーサがソースエンコーディングが表現できる範囲の外側の文字に 出会った場合、エラーが返されます。
解釈するXMLドキュメントにおいてPHPが文字に出会った際に、選択した ターゲットエンコーディングで表現できない文字に出会った場合、問題 の文字は "降格" されます。現在、このことはこのような文字が疑問符 で置換されることを意味します。
例
以下にXMLドキュメントを処理するPHPスクリプトの例をいくつか示します。XML エレメント構造の例
この最初の例は、あるドキュメント中のstart エレメントの構造をイン デントを付けて表示します。 例 2454. XML エレメント構造を表示
<?php
$file = "data.xml";
$depth = array();
function startElement($parser, $name, $attrs)
{
global $depth;
for ($i = 0; $i < $depth[$parser]; $i++) {
print " ";
}
print "$name\n";
$depth[$parser]++;
}
function endElement($parser, $name)
{
global $depth;
$depth[$parser]--;
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
die("XML 入力をオープンできませんでした");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML エラー: %s が %d 行目で発生しました",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>
XMLタグのマッピングの例
例 2455. XMLをHTMLにマップするこの例は、XMLドキュメントのタグを直接HTMLタグにマップします。 "map array" にないエレメントは無視されます。もちろん、この例は、 特定の XML ドキュメント型を有する場合のみ動作します。
<?php
$file = "data.xml";
$map_array = array(
"BOLD" => "B",
"EMPHASIS" => "I",
"LITERAL" => "TT"
);
function startElement($parser, $name, $attrs)
{
global $map_array;
if (isset($map_array[$name])) {
echo "<$map_array[$name]>";
}
}
function endElement($parser, $name)
{
global $map_array;
if (isset($map_array[$name])) {
echo "</$map_array[$name]>";
}
}
function characterData($parser, $data)
{
echo $data;
}
$xml_parser = xml_parser_create();
// case-folding を用いることで、$map_array から確実にタグを見つけられるようにします
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("XML 入力をオープンできませんでした");
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML エラー: %s が %d 行目で発生しました",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>
XML 外部エンティティの例
この例は、XML コードに焦点を当てます。この例は、他のドキュメント をインクルードし処理するための外部エンティティリファレンスのハン ドラの使用法およびPIの処理方法、PIが含むコードに関する"信頼度" を定義する手段を説明します。この例で使用される XML ドキュメントは、例題ファイル (xmltest.xml および xmltest2.xml) にあります。
例 2456. 外部エンティティの例
<?php
$file = "xmltest.xml";
function trustedFile($file)
{
// 信頼できるのは、自分自身が所有しているローカルファイルのみです
if (!eregi("^([a-z]+)://", $file)
&& fileowner($file) == getmyuid()) {
return true;
}
return false;
}
function startElement($parser, $name, $attribs)
{
echo "<<font color=\"#0000cc\">$name</font>";
if (count($attribs)) {
foreach ($attribs as $k => $v) {
echo " <font color=\"#009900\">$k</font>=\"<font
color=\"#990000\">$v</font>\"";
}
}
echo ">";
}
function endElement($parser, $name)
{
echo "</<font color=\"#0000cc\">$name</font>>";
}
function characterData($parser, $data)
{
echo "<b>$data</b>";
}
function PIHandler($parser, $target, $data)
{
switch (strtolower($target)) {
case "php":
global $parser_file;
// もし「信頼できる」ドキュメントだった場合、その中に書かれている
// PHP コードを実行しても安全だと考えます。そうでない場合、
// コードを実行するかわりにコードそのものを表示します。
if (trustedFile($parser_file[$parser])) {
eval($data);
} else {
printf("信頼できない PHP コード: <i>%s</i>",
htmlspecialchars($data));
}
break;
}
}
function defaultHandler($parser, $data)
{
if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
printf('<font color="#aa00aa">%s</font>',
htmlspecialchars($data));
} else {
printf('<font size="-1">%s</font>',
htmlspecialchars($data));
}
}
function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
$publicId) {
if ($systemId) {
if (!list($parser, $fp) = new_xml_parser($systemId)) {
printf("エンティティ %s (%s にある) をオープンできませんでした\n", $openEntityNames,
$systemId);
return false;
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($parser, $data, feof($fp))) {
printf("XML エラー: %s が、%d 行目でエンティティ %s のパース中に発生しました\n",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser), $openEntityNames);
xml_parser_free($parser);
return false;
}
}
xml_parser_free($parser);
return true;
}
return false;
}
function new_xml_parser($file)
{
global $parser_file;
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_set_processing_instruction_handler($xml_parser, "PIHandler");
xml_set_default_handler($xml_parser, "defaultHandler");
xml_set_external_entity_ref_handler($xml_parser, "externalEntityRefHandler");
if (!($fp = @fopen($file, "r"))) {
return false;
}
if (!is_array($parser_file)) {
settype($parser_file, "array");
}
$parser_file[$xml_parser] = $file;
return array($xml_parser, $fp);
}
if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
die("XML 入力をオープンできませんでした");
}
echo "<pre>";
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML エラー: %s が %d 行目で発生しました\n",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
echo "</pre>";
echo "パースが完了しました\n";
xml_parser_free($xml_parser);
?>
例 2457. xmltest.xml
<?xml version='1.0' ?>
<!DOCTYPE chapter SYSTEM "/just/a/test.dtd" [
<!ENTITY plainEntity "FOO entity">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
<TITLE>Title &plainEntity;</TITLE>
<para>
<informaltable>
<tgroup cols="3">
<tbody>
<row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
<row><entry>a2</entry><entry>c2</entry></row>
<row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
</tbody>
</tgroup>
</informaltable>
</para>
&systemEntity;
<section id="about">
<title>About this Document</title>
<para>
<!-- this is a comment -->
<?php print 'Hi! This is PHP version '.phpversion(); ?>
</para>
</section>
</chapter>
このファイルは、xmltest.xml からインクルードされます。 例 2458. xmltest2.xml
<?xml version="1.0" ?>
<!DOCTYPE foo [
<!ENTITY testEnt "test entity">
]>
<foo>
<element attrib="value"/>
&testEnt;
<?php print "This is some more PHP code being executed."; ?>
</foo>
目次
- utf8_decode — UTF-8 エンコードされた ISO-8859-1 文字列をシングルバイトの ISO-8859-1 に変換する
- utf8_encode — ISO-8859-1 文字列を UTF-8 にエンコードする
- xml_error_string — XML パーサのエラー文字列を得る
- xml_get_current_byte_index — XML パーサのカレントのバイトインデックスを得る
- xml_get_current_column_number — XML パーサのカレントのカラム番号を取得する
- xml_get_current_line_number — XML パーサのカレントの行番号を得る
- xml_get_error_code — XML パーサのエラーコードを得る
- xml_parse_into_struct — 配列構造体に XML データを処理する
- xml_parse — XML ドキュメントの処理を開始する
- xml_parser_create_ns — 名前空間をサポートした XML パーサを生成する
- xml_parser_create — XML パーサを作成する
- xml_parser_free — XML パーサを解放する
- xml_parser_get_option — XML パーサからオプションを得る
- xml_parser_set_option — XML パーサのオプションを設定する
- xml_set_character_data_handler — 文字データハンドラを設定する
- xml_set_default_handler — デフォルトのハンドラを設定する
- xml_set_element_handler — 開始要素および終了要素のハンドラを設定する
- xml_set_end_namespace_decl_handler — 名前空間終了ハンドラを設定する
- xml_set_external_entity_ref_handler — 外部エンティティリファレンスハンドラを設定する
- xml_set_notation_decl_handler — 表記法宣言ハンドラを設定する
- xml_set_object — オブジェクト内部で XML パーサを使用する
- xml_set_processing_instruction_handler — 処理命令 (PI) 用ハンドラを設定する
- xml_set_start_namespace_decl_handler — 名前空間開始ハンドラを設定する
- xml_set_unparsed_entity_decl_handler — 処理されないエンティティ宣言用ハンドラを設定する
.NET Framework クラス ライブラリ リファレンス |
Xml イベント
パブリック イベント| 名前 | 説明 | |
|---|---|---|
| DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。 ( Control から継承されます。) |
| Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。 ( Control から継承されます。) |
| Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。 ( Control から継承されます。) |
| Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。 ( Control から継承されます。) |
| PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。 ( Control から継承されます。) |
| Unload | サーバー コントロールがメモリからアンロードされると発生します。 ( Control から継承されます。) |
参照関連項目
Xml クラスSystem.Web.UI.WebControls 名前空間
System.Xml.XmlDocument
System.Xml.Xsl.XslTransform
Xml.Document プロパティ
Xml.DocumentContent プロパティ
Xml.DocumentSource プロパティ
Xml.TransformArgumentList プロパティ
その他の技術情報
XML Web サーバー コントロールXml クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説Xml コントロールを使用して、書式設定したり、または XSL Transformations を使用したりせずに、XML ドキュメントの内容を表示します。
表示する XML ドキュメントを指定するには、次の 3 つのプロパティのいずれかを設定します。これらの 3 つのプロパティは、表示できる各種の XML ドキュメントを表します。適切なプロパティを設定することによって、System.Xml.XmlDocument、XML 文字列、または XML ファイルを表示できます。XML ドキュメントを指定するためのプロパティを次の表に示します。
| DocumentContent | |
| DocumentSource |
メモ |
|---|
| XML ドキュメントを表示するには、1 つ以上の XML ドキュメント プロパティを設定する必要があります。複数の XML ドキュメント プロパティが設定されている場合は、最後のプロパティ セットで参照された XML ドキュメントが表示されます。他のプロパティのドキュメントは無視されます。 |
オプションで、2 つのプロパティのいずれかを設定して、XML ドキュメントを出力ストリームに書き込む前に書式設定する XSLT (XSL Transformation) スタイル シートを指定できます。この 2 つのプロパティは、XML ドキュメントの書式設定に使用できる異なる種類の XSL Transformation スタイル シートを表します。適切なプロパティを設定することによって System.Xml.Xsl.XslCompiledTransform オブジェクトまたは XSL Transformation スタイル シート ファイルを使用して XML ドキュメントを書式設定できます。XSL Transformation スタイル シートが指定されていない場合、XML ドキュメントは既定の書式で表示されます。XSL Transformation スタイル シートを指定するプロパティを次の表に示します。
| 指定した System.Xml.Xsl.XslTransform オブジェクトを使用して、XML ドキュメントを書式設定します。 | |
| TransformSource | 指定した XSL Transformation スタイル シート ファイルを使用して、XML ドキュメントを書式設定します。 |
メモ |
|---|
| XSL Transformation スタイル シートはオプションです。Transform プロパティまたは TransformSource プロパティの設定は必要ではありません。両方の XSL Transformation スタイル シート プロパティが設定されている場合は、最後のプロパティ セットによって、XML ドキュメントの書式設定に使用する XSL Transformation スタイル シートが決定されます。その他のプロパティは無視されます。 |
Xml クラスは、TransformArgumentList プロパティも提供します。このプロパティでは、XSL Transformation スタイル シートにオプションの引数を指定できます。引数には、XSLT (XSL Transformations) パラメータまたは拡張オブジェクトを指定できます。
| Topic | Location |
|---|---|
| チュートリアル : XML データを表示する Web ページの作成 | Visual Studio での ASP .NET Web アプリケーションの作成 |
| チュートリアル : 変換による Web フォーム ページへの XML ドキュメントの表示 | Visual Studio での ASP .NET Web アプリケーションの作成 |
| 方法 : Web フォーム ページに XML Web サーバー コントロールを追加する | ASP .NET Web アプリケーションの作成 |
| 方法 : Web フォーム ページに XML Web サーバー コントロールを追加する (Visual Studio) | Visual Studio での ASP .NET Web アプリケーションの作成 |
| 方法 : XML Web サーバー コントロール内に XML データを読み込む | ASP .NET Web アプリケーションの作成 |
| 方法 : XML Web サーバー コントロール内の XML データを変換する | ASP .NET Web アプリケーションの作成 |
使用例サンプル XML ファイルと XSL Transformation スタイル シートから XmlDocument オブジェクトおよび XslTransform オブジェクトを作成する方法を次のコード例に示します。これらのオブジェクトは、XML ドキュメントを表示するために XML コントロールで使用されます。
<!-- The following example demonstrates how to create XmlDocument and XslTransform objects from the sample XML and XSL Transform files. The objects are then used by the Xml control to display the XML document. Make sure the sample XML file is called People.xml and the sample XSL Transform file is called Peopletable.xsl. --> <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="System.Xml.Xsl" %> <html> <script runat="server"> Sub Page_Load(sender As Object, e As EventArgs) Dim doc As XmlDocument = New XmlDocument() doc.Load(Server.MapPath("people.xml")) Dim trans As XslTransform = new XslTransform() trans.Load(Server.MapPath("peopletable.xsl")) xml1.Document = doc xml1.Transform = trans End Sub </script> <body> <h3>Xml Example</h3> <form runat="server"> <asp:Xml id="xml1" runat="server" /> </form> </body> </html> <!-- For this example to work, paste the following code into a file named peopletable.xsl. Store the file in the same directory as your .aspx file. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/People"> <xsl:apply-templates select="Person" /> </xsl:template> <xsl:template match="Person"> <table width="100%" border="1"> <tr> <td> <b> <xsl:value-of select="Name/FirstName" />   <xsl:value-of select="Name/LastName" /> </b> </td> </tr> <tr> <td> <xsl:value-of select="Address/Street" /><br /> <xsl:value-of select="Address/City" /> , <xsl:value-of select="Address/State" /> <xsl:value-of select="Address/Zip" /> </td> </tr> <tr> <td> Job Title: <xsl:value-of select="Job/Title" /><br /> Description: <xsl:value-of select="Job/Description" /> </td> </tr> </table> </xsl:template> <xsl:template match="bookstore"> <!-- Prices and books --> <bookstore> <xsl:apply-templates select="book"/> </bookstore> </xsl:template> <xsl:template match="book"> <book> <xsl:attribute name="ISBN"> <xsl:value-of select="@ISBN"/> </xsl:attribute> <price> <xsl:value-of select="price"/> </price> <xsl:text> </xsl:text> </book> </xsl:template> </xsl:stylesheet> --> <!-- For this example to work, paste the following code into a file named people.xml. Store the file in the same directory as your .aspx file. <People> <Person> <Name> <FirstName>Joe</FirstName> <LastName>Suits</LastName> </Name> <Address> <Street>1800 Success Way</Street> <City>Redmond</City> <State>WA</State> <ZipCode>98052</ZipCode> </Address> <Job> <Title>CEO</Title> <Description>Wears the nice suit</Description> </Job> </Person> <Person> <Name> <FirstName>Linda</FirstName> <LastName>Sue</LastName> </Name> <Address> <Street>1302 American St.</Street> <City>Paso Robles</City> <State>CA</State> <ZipCode>93447</ZipCode> </Address> <Job> <Title>Attorney</Title> <Description>Stands up for justice</Description> </Job> </Person> <Person> <Name> <FirstName>Jeremy</FirstName> <LastName>Boards</LastName> </Name> <Address> <Street>34 Palm Avenue</Street> <City>Waikiki</City> <State>HI</State> <ZipCode>98052</ZipCode> </Address> <Job> <Title>Pro Surfer</Title> <Description>Rides the big waves</Description> </Job> </Person> <Person> <Name> <FirstName>Joan</FirstName> <LastName>Page</LastName> </Name> <Address> <Street>700 Webmaster Road</Street> <City>Redmond</City> <State>WA</State> <ZipCode>98073</ZipCode> </Address> <Job> <Title>Web Site Developer</Title> <Description>Writes the pretty pages</Description> </Job> </Person> </People> -->
<!-- The following example demonstrates how to create XmlDocument and XslTransform objects from the sample XML and XSL Transform files. The objects are then used by the Xml control to display the XML document. Make sure the sample XML file is called People.xml and the sample XSL Transform file is called Peopletable.xsl. --> <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Xml" %> <%@ Import Namespace="System.Xml.Xsl" %> <html> <script runat="server"> void Page_Load(Object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("people.xml")); XslTransform trans = new XslTransform(); trans.Load(Server.MapPath("peopletable.xsl")); xml1.Document = doc; xml1.Transform = trans; } </script> <body> <h3>Xml Example</h3> <form runat="server"> <asp:Xml id="xml1" runat="server" /> </form> </body> </html> <!-- For this example to work, paste the following code into a file named peopletable.xsl. Store the file in the same directory as your .aspx file. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/People"> <xsl:apply-templates select="Person" /> </xsl:template> <xsl:template match="Person"> <table width="100%" border="1"> <tr> <td> <b> <xsl:value-of select="Name/FirstName" />   <xsl:value-of select="Name/LastName" /> </b> </td> </tr> <tr> <td> <xsl:value-of select="Address/Street" /><br /> <xsl:value-of select="Address/City" /> , <xsl:value-of select="Address/State" /> <xsl:value-of select="Address/Zip" /> </td> </tr> <tr> <td> Job Title: <xsl:value-of select="Job/Title" /><br /> Description: <xsl:value-of select="Job/Description" /> </td> </tr> </table> </xsl:template> <xsl:template match="bookstore"> <!-- Prices and books --> <bookstore> <xsl:apply-templates select="book"/> </bookstore> </xsl:template> <xsl:template match="book"> <book> <xsl:attribute name="ISBN"> <xsl:value-of select="@ISBN"/> </xsl:attribute> <price> <xsl:value-of select="price"/> </price> <xsl:text> </xsl:text> </book> </xsl:template> </xsl:stylesheet> --> <!-- For this example to work, paste the following code into a file named people.xml. Store the file in the same directory as your .aspx file. <People> <Person> <Name> <FirstName>Joe</FirstName> <LastName>Suits</LastName> </Name> <Address> <Street>1800 Success Way</Street> <City>Redmond</City> <State>WA</State> <ZipCode>98052</ZipCode> </Address> <Job> <Title>CEO</Title> <Description>Wears the nice suit</Description> </Job> </Person> <Person> <Name> <FirstName>Linda</FirstName> <LastName>Sue</LastName> </Name> <Address> <Street>1302 American St.</Street> <City>Paso Robles</City> <State>CA</State> <ZipCode>93447</ZipCode> </Address> <Job> <Title>Attorney</Title> <Description>Stands up for justice</Description> </Job> </Person> <Person> <Name> <FirstName>Jeremy</FirstName> <LastName>Boards</LastName> </Name> <Address> <Street>34 Palm Avenue</Street> <City>Waikiki</City> <State>HI</State> <ZipCode>98052</ZipCode> </Address> <Job> <Title>Pro Surfer</Title> <Description>Rides the big waves</Description> </Job> </Person> <Person> <Name> <FirstName>Joan</FirstName> <LastName>Page</LastName> </Name> <Address> <Street>700 Webmaster Road</Street> <City>Redmond</City> <State>WA</State> <ZipCode>98073</ZipCode> </Address> <Job> <Title>Web Site Developer</Title> <Description>Writes the pretty pages</Description> </Job> </Person> </People> -->
.NET Framework のセキュリティ
継承階層System.Web.UI.Control
System.Web.UI.WebControls.Xml
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Xml メンバ
System.Web.UI.WebControls 名前空間
System.Xml.XmlDocument
System.Xml.Xsl.XslTransform
Document
DocumentContent
DocumentSource
TransformArgumentList
その他の技術情報
XML Web サーバー コントロール
Xml コンストラクタ
アセンブリ: System.Web (system.web.dll 内)
構文Dim instance As New Xml
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照Xml プロパティ
パブリック プロパティ
プロテクト プロパティ| 名前 | 説明 | |
|---|---|---|
| Adapter | コントロール用のブラウザ固有のアダプタを取得します。 ( Control から継承されます。) |
| ChildControlsCreated | サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。 ( Control から継承されます。) |
| ClientIDSeparator | ClientID プロパティで使用される区切り記号を表す文字値を取得します。 ( Control から継承されます。) |
| Context | 現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。 ( Control から継承されます。) |
| DesignMode | コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。 ( Control から継承されます。) |
| Events | コントロールのイベント ハンドラ デリゲートのリストを取得します。このプロパティは読み取り専用です。 ( Control から継承されます。) |
| HasChildViewState | 現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。 ( Control から継承されます。) |
| IdSeparator | コントロール ID を区別するために使用する文字を取得します。 ( Control から継承されます。) |
| IsChildControlStateCleared | このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。 ( Control から継承されます。) |
| IsTrackingViewState | サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。 ( Control から継承されます。) |
| IsViewStateEnabled | このコントロールでビューステートが有効かどうかを示す値を取得します。 ( Control から継承されます。) |
| LoadViewStateByID | コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 ( Control から継承されます。) |
| ViewState | 同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。 ( Control から継承されます。) |
| ViewStateIgnoresCase | StateBag オブジェクトが大文字小文字を区別しないかどうかを示す値を取得します。 ( Control から継承されます。) |
参照関連項目
Xml クラスSystem.Web.UI.WebControls 名前空間
System.Xml.XmlDocument
System.Xml.Xsl.XslTransform
Document
DocumentContent
DocumentSource
TransformArgumentList
その他の技術情報
XML Web サーバー コントロールXml メソッド
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| ApplyStyleSheetSkin | ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 ( Control から継承されます。) |
| DataBind | オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 ( Control から継承されます。) |
| Dispose | サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 ( Control から継承されます。) |
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
| FindControl | オーバーロードされます。 オーバーライドされます。 指定したサーバー コントロールについて、ページの名前付けコンテナを検索します。 |
| Focus | オーバーライドされます。 Control.Focus メソッドをオーバーライドします。このメソッドは Xml クラスでサポートされていません。 |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
| HasControls | オーバーライドされます。 サーバー コントロールに子コントロールが含まれているかどうかを確認します。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
| RenderControl | オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 ( Control から継承されます。) |
| ResolveClientUrl | ブラウザで使用できる URL を取得します。 ( Control から継承されます。) |
| ResolveUrl | 要求側クライアントで使用できる URL に変換します。 ( Control から継承されます。) |
| SetRenderMethodDelegate | サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラ デリゲートを割り当てます。 ( Control から継承されます。) |
| ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| AddedControl | 子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 ( Control から継承されます。) |
| AddParsedSubObject | オーバーライドされます。 |
| BuildProfileTree | ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 ( Control から継承されます。) |
| ClearChildControlState | サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 ( Control から継承されます。) |
| ClearChildState | サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 ( Control から継承されます。) |
| ClearChildViewState | サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 ( Control から継承されます。) |
| CreateChildControls | ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用するサーバー コントロールに、ポスト バックまたは表示のための準備として、格納する子コントロールを作成するように通知します。 ( Control から継承されます。) |
| CreateControlCollection | オーバーライドされます。 新しい EmptyControlCollection オブジェクトを作成します。 |
| DataBind | オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 ( Control から継承されます。) |
| DataBindChildren | データ ソースをサーバー コントロールの子コントロールにバインドします。 ( Control から継承されます。) |
| EnsureChildControls | サーバー コントロールに子コントロールが含まれているかどうかを確認します。含まれていない場合、子コントロールを作成します。 ( Control から継承されます。) |
| EnsureID | ID が割り当てられていないコントロールの ID を作成します。 ( Control から継承されます。) |
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| FindControl | オーバーロードされます。 指定したサーバー コントロールの現在の名前付けコンテナを検索します。 ( Control から継承されます。) |
| GetDesignModeState | オーバーライドされます。 コントロールのデザイン時データを取得します。 |
| HasEvents | コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 ( Control から継承されます。) |
| IsLiteralContent | サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 ( Control から継承されます。) |
| LoadControlState | SaveControlState メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 ( Control から継承されます。) |
| LoadViewState | SaveViewState メソッドによって保存された前回のページ要求からビューステート情報を復元します。 ( Control から継承されます。) |
| MapPathSecure | 仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 ( Control から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
| OnBubbleEvent | サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 ( Control から継承されます。) |
| OnDataBinding | DataBinding イベントを発生させます。 ( Control から継承されます。) |
| OnInit | Init イベントを発生させます。 ( Control から継承されます。) |
| OnLoad | Load イベントを発生させます。 ( Control から継承されます。) |
| OnPreRender | PreRender イベントを発生させます。 ( Control から継承されます。) |
| OnUnload | Unload イベントを発生させます。 ( Control から継承されます。) |
| OpenFile | ファイルの読み込みで使用される Stream を取得します。 ( Control から継承されます。) |
| RaiseBubbleEvent | イベントのソースおよびその情報をコントロールの親に割り当てます。 ( Control から継承されます。) |
| RemovedControl | 子コントロールが Control オブジェクトの Controls コレクションから削除された後に呼び出されます。 ( Control から継承されます。) |
| Render | オーバーライドされます。 結果を出力ストリームに表示します。 |
| RenderChildren | クライアントに表示される内容の書き込みを行う、指定された HtmlTextWriter オブジェクトに、サーバー コントロールの子を出力します。 ( Control から継承されます。) |
| RenderControl | オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 ( Control から継承されます。) |
| ResolveAdapter | 指定したコントロールを表示するコントロール アダプタを取得します。 ( Control から継承されます。) |
| SaveControlState | ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールの状態の変更を保存します。 ( Control から継承されます。) |
| SaveViewState | ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールのビューステートの変更を保存します。 ( Control から継承されます。) |
| SetDesignModeState | コントロールのデザイン時データを設定します。 ( Control から継承されます。) |
| TrackViewState | サーバー コントロールにビューステートの変更を追跡させ、サーバー コントロールの StateBag オブジェクトに変更を格納できるようにします。このオブジェクトは、Control.ViewState プロパティによってアクセスできます。 ( Control から継承されます。) |
参照関連項目
Xml クラスSystem.Web.UI.WebControls 名前空間
System.Xml.XmlDocument
System.Xml.Xsl.XslTransform
Document
DocumentContent
DocumentSource
TransformArgumentList
その他の技術情報
XML Web サーバー コントロールXml メンバ
書式設定したり、または XSLT (Extensible Stylesheet Language Transformations) を使用したりせずに、XML ドキュメントを表示します。
パブリック コンストラクタ
パブリック プロパティ
プロテクト プロパティ| 名前 | 説明 | |
|---|---|---|
| Adapter | コントロール用のブラウザ固有のアダプタを取得します。(Control から継承されます。) |
| ChildControlsCreated | サーバー コントロールの子コントロールが作成されたかどうかを示す値を取得します。(Control から継承されます。) |
| ClientIDSeparator | ClientID プロパティで使用される区切り記号を表す文字値を取得します。(Control から継承されます。) |
| Context | 現在の Web 要求に対するサーバー コントロールに関連付けられている HttpContext オブジェクトを取得します。(Control から継承されます。) |
| DesignMode | コントロールがデザイン サーフェイスで使用されているかどうかを示す値を取得します。(Control から継承されます。) |
| Events | コントロールのイベント ハンドラ デリゲートのリストを取得します。このプロパティは読み取り専用です。(Control から継承されます。) |
| HasChildViewState | 現在のサーバー コントロールの子コントロールが、保存されたビューステートの設定を持っているかどうかを示す値を取得します。(Control から継承されます。) |
| IdSeparator | コントロール ID を区別するために使用する文字を取得します。(Control から継承されます。) |
| IsChildControlStateCleared | このコントロールに含まれているコントロールに、コントロールの状態が設定されているかどうかを示す値を取得します。(Control から継承されます。) |
| IsTrackingViewState | サーバー コントロールがビューステートの変更を保存しているかどうかを示す値を取得します。(Control から継承されます。) |
| IsViewStateEnabled | このコントロールでビューステートが有効かどうかを示す値を取得します。(Control から継承されます。) |
| LoadViewStateByID | コントロールがインデックスではなく ID によりビューステートの読み込みを行うかどうかを示す値を取得します。 (Control から継承されます。) |
| ViewState | 同一のページに対する複数の要求にわたって、サーバー コントロールのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。(Control から継承されます。) |
| ViewStateIgnoresCase | StateBag オブジェクトが大文字小文字を区別しないかどうかを示す値を取得します。(Control から継承されます。) |
パブリック メソッド| 名前 | 説明 | |
|---|---|---|
| ApplyStyleSheetSkin | ページのスタイル シートに定義されたスタイル プロパティをコントロールに適用します。 (Control から継承されます。) |
| DataBind | オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 (Control から継承されます。) |
| Dispose | サーバー コントロールが、メモリから解放される前に最終的なクリーンアップを実行できるようにします。 (Control から継承されます。) |
| Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
| FindControl | オーバーロードされます。 オーバーライドされます。 指定したサーバー コントロールについて、ページの名前付けコンテナを検索します。 |
| Focus | オーバーライドされます。 Control.Focus メソッドをオーバーライドします。このメソッドは Xml クラスでサポートされていません。 |
| GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
| GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
| HasControls | オーバーライドされます。 サーバー コントロールに子コントロールが含まれているかどうかを確認します。 |
| ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
| RenderControl | オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 (Control から継承されます。) |
| ResolveClientUrl | ブラウザで使用できる URL を取得します。 (Control から継承されます。) |
| ResolveUrl | 要求側クライアントで使用できる URL に変換します。 (Control から継承されます。) |
| SetRenderMethodDelegate | サーバー コントロールとその内容を親コントロールに表示するイベント ハンドラ デリゲートを割り当てます。 (Control から継承されます。) |
| ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| AddedControl | 子コントロールが Control オブジェクトの Controls コレクションに追加された後に呼び出されます。 (Control から継承されます。) |
| AddParsedSubObject | オーバーライドされます。 |
| BuildProfileTree | ページのトレースが有効な場合、サーバー コントロールに関する情報を収集し、これを表示するために Trace プロパティに渡します。 (Control から継承されます。) |
| ClearChildControlState | サーバー コントロールのすべての子コントロールについて、コントロールの状態情報を削除します。 (Control から継承されます。) |
| ClearChildState | サーバー コントロールのすべての子コントロールのビューステート情報およびコントロールの状態情報を削除します。 (Control から継承されます。) |
| ClearChildViewState | サーバー コントロールのすべての子コントロールのビューステート情報を削除します。 (Control から継承されます。) |
| CreateChildControls | ASP.NET ページ フレームワークによって呼び出され、コンポジション ベースの実装を使用するサーバー コントロールに、ポスト バックまたは表示のための準備として、格納する子コントロールを作成するように通知します。 (Control から継承されます。) |
| CreateControlCollection | オーバーライドされます。 新しい EmptyControlCollection オブジェクトを作成します。 |
| DataBind | オーバーロードされます。 呼び出されたサーバー コントロールと、そのすべての子コントロールにデータ ソースを連結します。 (Control から継承されます。) |
| DataBindChildren | データ ソースをサーバー コントロールの子コントロールにバインドします。 (Control から継承されます。) |
| EnsureChildControls | サーバー コントロールに子コントロールが含まれているかどうかを確認します。含まれていない場合、子コントロールを作成します。 (Control から継承されます。) |
| EnsureID | ID が割り当てられていないコントロールの ID を作成します。 (Control から継承されます。) |
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| FindControl | オーバーロードされます。 指定したサーバー コントロールの現在の名前付けコンテナを検索します。 (Control から継承されます。) |
| GetDesignModeState | オーバーライドされます。 コントロールのデザイン時データを取得します。 |
| HasEvents | コントロールまたは子コントロールに対してイベントが登録されているかどうかを示す値を返します。 (Control から継承されます。) |
| IsLiteralContent | サーバー コントロールがリテラルな内容だけを保持しているかどうかを決定します。 (Control から継承されます。) |
| LoadControlState | SaveControlState メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。 (Control から継承されます。) |
| LoadViewState | SaveViewState メソッドによって保存された前回のページ要求からビューステート情報を復元します。 (Control から継承されます。) |
| MapPathSecure | 仮想パス (絶対パスまたは相対パス) の割り当て先の物理パスを取得します。 (Control から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
| OnBubbleEvent | サーバー コントロールのイベントをページの UI サーバー コントロールの階層構造に渡すかどうかを決定します。 (Control から継承されます。) |
| OnDataBinding | DataBinding イベントを発生させます。 (Control から継承されます。) |
| OnInit | Init イベントを発生させます。 (Control から継承されます。) |
| OnLoad | Load イベントを発生させます。 (Control から継承されます。) |
| OnPreRender | PreRender イベントを発生させます。 (Control から継承されます。) |
| OnUnload | Unload イベントを発生させます。 (Control から継承されます。) |
| OpenFile | ファイルの読み込みで使用される Stream を取得します。 (Control から継承されます。) |
| RaiseBubbleEvent | イベントのソースおよびその情報をコントロールの親に割り当てます。 (Control から継承されます。) |
| RemovedControl | 子コントロールが Control オブジェクトの Controls コレクションから削除された後に呼び出されます。 (Control から継承されます。) |
| Render | オーバーライドされます。 結果を出力ストリームに表示します。 |
| RenderChildren | クライアントに表示される内容の書き込みを行う、指定された HtmlTextWriter オブジェクトに、サーバー コントロールの子を出力します。 (Control から継承されます。) |
| RenderControl | オーバーロードされます。 サーバー コントロールの内容を出力し、トレースが有効である場合はコントロールに関するトレース情報を格納します。 (Control から継承されます。) |
| ResolveAdapter | 指定したコントロールを表示するコントロール アダプタを取得します。 (Control から継承されます。) |
| SaveControlState | ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールの状態の変更を保存します。 (Control から継承されます。) |
| SaveViewState | ページがサーバーにポスト バックされた時間以降に発生した、サーバー コントロールのビューステートの変更を保存します。 (Control から継承されます。) |
| SetDesignModeState | コントロールのデザイン時データを設定します。 (Control から継承されます。) |
| TrackViewState | サーバー コントロールにビューステートの変更を追跡させ、サーバー コントロールの StateBag オブジェクトに変更を格納できるようにします。このオブジェクトは、Control.ViewState プロパティによってアクセスできます。 (Control から継承されます。) |
パブリック イベント| 名前 | 説明 | |
|---|---|---|
| DataBinding | サーバー コントロールがデータ ソースに連結すると発生します。(Control から継承されます。) |
| Disposed | サーバー コントロールがメモリから解放されると発生します。これは、ASP.NET ページが要求されている場合のサーバー コントロールの有効期間における最終段階です。(Control から継承されます。) |
| Init | サーバー コントロールが初期化されると発生します。これは、サーバー コントロールの有効期間における最初の手順です。(Control から継承されます。) |
| Load | サーバー コントロールが Page オブジェクトに読み込まれると発生します。(Control から継承されます。) |
| PreRender | Control オブジェクトの読み込み後、表示を開始する前に発生します。(Control から継承されます。) |
| Unload | サーバー コントロールがメモリからアンロードされると発生します。(Control から継承されます。) |
参照関連項目
Xml クラスSystem.Web.UI.WebControls 名前空間
System.Xml.XmlDocument
System.Xml.Xsl.XslTransform
Document
DocumentContent
DocumentSource
TransformArgumentList
その他の技術情報
XML Web サーバー コントロールSIST(科学技術情報流通技術基準)用語集 |
XML(eXtensible Markup Language)
| 意味 | 出典 |
|---|---|
| →SGML/XML参照 | SIST14 (2001) |
SGML/XML(Standard Generalized Markup Language/eXtensible Markup Language)
| 意味 | 出典 |
|---|---|
| SGMLは文書の構造を記述することに重点が置かれたマークアップ(タグ付け)言語。文書の構造をDTDで規定し、そのDTDに従って文書をタグ付きテキストデータで記述する。構造だけでなく、文字の書体やフォント、文書のレイアウト、索引などを記述することも可能である。また、文書のみならず、様々な情報の構造を記述でき、これにより文書の処理や管理、コンピュータ間でのデータ交換が容易に行える。 →(2)DTDをも見よ。 | SIST14 (2001) |
ウィキペディア |
Extensible Markup Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/01/21 16:11 UTC 版)
(XML から転送)
Extensible Markup Language(エクステンシブル マークアップ ランゲージ)は、個別の目的に応じたマークアップ言語作成のため、汎用的に使うことができる仕様、および仕様により策定される言語の名称である。一般的にXML(エックスエムエル)と略称で呼ばれる。JISによる訳語は「拡張可能なマーク付け言語」。
XML の仕様は、World Wide Web Consortium (W3C) により策定・勧告されている。1998年2月に XML 1.0 が勧告された。2010年4月現在、XML 1.0 と XML 1.1 の2つのバージョンが勧告されている(#バージョン)。XMLは現在、広く普及している技術である。
ちなみに、「eXtensible Markup Language の略である」と書かれることがあるが、これは間違いであり、XはExの発音を表している[1]。
|
|||||||||||||||||||||||||||||||
- ^ "XML stands for Extensible Markup Language. The X is for the first syllable of Extensible. eXtensible is a spelling error."
- ^ Bray, Tim; Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau (September 2006). “拡張可能なマーク付け言語 (XML) 1.0 - 経緯及び目標”. World Wide Web Consortium. 2007年10月6日閲覧。
- ^ JavaScript Object Notation (JSON) とYAMLは、XMLと比べて、他のテキストを基にした直列化言語との中でも、一般に、軽量であり、冗長性の少ないという、特徴をもつと言及されることが多い。 この項目の#XMLに対する支持と批判の節を参照。
- ^ Extensible HyperText Markup Language (XHTML) は、マークアップ言語 HyperText Markup Language (HTML) を簡素化しその一貫性を改良しようという試みである。なお、HTMLは、Standard Generalized Markup Language (SGML) に基づいたマークアップ言語である。
- ^ XMLプロセサを利用する際には、XML文書で用いている文字コードをサポートしたものを選択することになる。
- ^ 他の方法でXML文書を処理することも可能である
- ^ 一つの要素の内容として文字列データのみを含むものは、混合内容ではない。また内容のない「空要素」も混合内容ではない。一つの要素の内容がいくつかの子要素だけから構成されるものも、混合内容ではない。
- ^ 株式会社日本ユニテック、中山幹敏、奥井康弘、2001年、p.132
- ^ 株式会社日本ユニテック、中山幹敏、奥井康弘、2001年、p.139
- ^ 株式会社日本ユニテック、中山幹敏、奥井康弘、2001年、pp.28-29
- ^ 株式会社日本ユニテック、中山幹敏、奥井康弘、2001年、p.29
- ^ xml-dev - Fw: An I-D for text/xml, application/xml, etc
- ^ JavaプラットフォームAPI仕様
- ^ Fitzgerald, Michael (2004). Learning XSLT. Sebastopol, CA: O'Reilly Media, p.243. ISBN 978-0-596-00327-2.
- ^ Push, Pull, Next! - Bob DuCharme, XML.com
- ^ http://www.asahi-net.or.jp/~DP8T-ASM/java/tools/Relaxer/index_ja.html
- ^ http://java.sun.com/xml/jaxb/
- ^ XML Schema 1.1 Part 1: Structures
- ^ RELAX NG and W3C XML Schema, James Clark, 4 Jun 2002
- ^ Bray, Tim (February 2005). “A conversation with Tim Bray: Searching for ways to tame the world’s vast stores of information”. Association for Computing Machinery's "Queue site". 2008年5月5日閲覧。
- ^ (1988) “Publishers, multimedia, and interactivity”, Interactive multimedia. Cobb Group. ISBN 978-1-55615-124-8.
- ^ このワーキンググループはもともとは "Editorial Review Board" と呼ばれていた。このワーキンググループの最初のメンバーとXML仕様の first edition が完成するまでに加わっていた7人のメンバーは、XML 1.0 first edition のW3C勧告の最後に一覧して掲載されている。参照: http://www.w3.org/TR/1998/REC-xml-19980210#sec-xml-wg
- ^ Reports From the W3C SGML ERB to the SGML WG And from the W3C XML ERB to the XML SIG
- ^ Extensible Markup Language (XML) - W3C Working Draft 14-Nov-96
- ^ “Extensible Markup Language (XML) 1.1 (Second Edition) - Rationale and list of changes for XML 1.1”. W3C. 2006年12月21日閲覧。
- ^ Harold, Elliotte Rusty (2004). Effective XML. Addison-Wesley, pp. 10-19. ISBN 978-0321150400.
- ^ Small company makes big claims on XML patents - CNET News.com
- ^ XML co-inventor Bray responds to patent assault | Between the Lines | ZDNet.com
- ^ 例えば、 XML-QL Proposal discussing XML benefits、 When to use XML、 "XML Sucks" on c2.com、Daring to Do Less with XML
- ^ Neal Ford, Language Oriented Programming, The Server Side's Java Symposium, 2007
- ^ Harold, Elliotte Rusty (2002). Processing XML with Java(tm): a guide to SAX, DOM, JDOM, JAXP, and TrAX. Addison-Wesley. 0201771861. XML文書はバイナリと比べて冗長である
- ^ Harold, Elliotte Rusty (2002). XML in a Nutshell: A Desktop Quick Reference. O'Reilly. 0596002920. XML文書はとても冗長であり、高速であることが必要な大規模なデータベースシステムで情報の探索を行うには効率が悪い。
- ^ ただし、Binary XML の試みは、XML文書のバイナリ表現を使うことでこうした問題を軽減するべく努力している。例えば、Javaによる Fast Infoset 標準のリファレンス実装では、構文解析 (パース) の速度は Apache Xerces Java と比べて10倍速く、Javaによる最も高速なXMLプロセサの一つであるPiccolo driver と比べて4倍速い[1]。
- ^ Bierman, Gavin (2005). Database Programming Languages: 10th international symposium, DBPL 2005 Trondheim, Norway. Springer. 3540309519. XMLの構文は、いくつかの用途においては、人間が読むにはとても冗長である。人間にとっての読みやすさを改善するために dual syntax を提案する
- ^ 世間で言われているところによれば、XMLより「冗長性の小さい」多くのテキストフォーマットが、XMLに刺激を受けかつ先行的な業績としてXMLを位置づけ言及している。 例えば次のページを参照: http://yaml.org/spec/current.html、 http://innig.net/software/sweetxml/index.html、 http://www.json.org/xml.html
- ^ XMLの汎用性とそれに伴う重さはしばしば揶揄の対象とされることもある。IP、TCP、UDPをXMLで定義するというジョークRFC ( RFC 3252 ) が存在する。
- ^ 階層型モデルは木構造の固定的な単一の視点による見方しか提供しない。例えば、役者が映画の下位に位置づけられるか、映画が役者の下位に位置づけられるかのいずれかであり、双方の視点を両立することはできない。
- ^ Lim, Ee-Peng (2002). Digital Libraries: People, Knowledge, and Technology. Springer. 3540002618. 固定的な階層構造を採用することに伴ういくつかの制限について議論する。2002年12月にシンガポールで開催された 5th International Conference on Asian Digital Libraries, ICADL 2002 の議事録より。
- ^ Searle, Leroy F. (2004). Voice, text, hypertext: emerging practices in textual studies. University of Washington Press. 0295983051. オーバーラップする要素を表現する代替システムを提案する。
- ^ 例えば次のページを参照: http://www-128.ibm.com/developerworks/library/x-abolns.html
- ^ “The Myth of Self-Describing XML”. 2007年5月12日閲覧。
- ^ 例えば多義語を参照
- ^ “Does XML Suck?”. 2007年12月15日閲覧。("8. Complexity: Attributes and Content" を参照)
- SGML/XMLJAGAT
- デジタル・ワース、InDesign多言語展開用XMLツール印刷ジャーナル
- XMLコンテンツ制作の課題とEPUB変換フリーウェアJAGAT
XMLに関係した商品
.gif)