XML (.xml)
- ImportはXML標準バージョン1.1を完全にサポートする.
- 特別なコンバータが次のXMLベースの形式には使われる: "ExpressionML", "JVX", "MathML", "ODS", "SXC", "XHTML", "XHTMLMathML"
予備知識
-
- MIMEタイプ:text/xml
- XML汎用マークアップ言語と構造化ドキュメント形式.
- 主にコンピュータネットワーク内で異なるシステム間のデータ交換を行うために使用される.
- 階層モデルを構造化データの表示に使う.
- マークアップタグ,属性,文字コンテンツから成るツリーに基づく構造にデータを保持する.
- 通常UTF-8で符号化されたプレーンテキストファイル.
- XMLは,Extensible Markup Language(拡張マークアップ言語)からの頭字語である.
- 汎用マークアップ言語規約(SGML)のサブセットである.
- 1996年以来XML Working Groupによって開発されている.
- 2001年にW3C標準推薦RFC 3076として出版された.
Import & Export
- Import["file.xml"] はXMLベースのファイル形式に可能であれば特定のコンバータを使用する.可能でなければファイルを一般のXMLとしてインポートし,XMLObject式を返す.
- XMLObject 式は,XML文書全体を XMLElement式のツリー形式で記号として表す.
- Import["file.xml","XML"] は常に一般的なXMLとしてインポートする.
- Import["file.xml",elements]は指定された要素をインポートする.
- XMLもWolfram言語もデータをツリー構造で表すため,お互いを自然にマッピングすることができる.Wolfram言語は,XMLのデータ構造をネストされたXMLElementオブジェクトとして,そしてXMLドキュメント全体をXMLObjectに埋め込まれたXMLデータとして保持する.
- Import はデフォルトでXMLに文字列として保持された数値データを返す.
- インポートの形式はImport["file","XML"]あるいはImport["file",{"XML",elem,…}]を使って指定することができる.
- Import["file.html","XML"] はHTMLをインポートする前に整形されたXMLに変換する.
- Export["file.xml",expr] はexpr式からXMLファイルをエキスポートする.
- サポートされる expr 式は以下のとおり:
-
XMLElement[…] 記号的なXML要素をエキスポートする XMLObject[…] 記号的なXMLオブジェクトをエキスポートする - XMLObjectまたはXMLElement以外のタイプの式はExpressionMLとしてエキスポートする.
- Export["file.xml",expr, elem] はexpr を要素elem を指定するものとして扱って,XMLファイルを作成する.
- Export["file.xml",{expr1,expr2,…},{{elem1,elem2,…}}] は,それぞれのexpri が対応するelemi を指定しているものとして扱う.
- Export["file.xml",expr,opt1->val1,…] は指定されたオプションの要素が指定された値を取るものとしてexpr をエキスポートする.
- Export["file.xml",{elem1->expr1,elem2->expr2,…},"Rules"] は規則を使ってエキスポートされるべき要素を指定する.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - データ表現要素:
-
"CDATA" 文字列のリストとしてのCDATAセクション "Comments" 文字列のリストとしてのXMLコメント "EmbeddedDTD" 埋込まれたドキュメント型定義(DTD) "Plaintext" ファイルのプレーンテキスト表示 "Tags" ファイルに現れるすべてのタグのリスト "XMLObject" 記号的なXML式としてのドキュメント全体 "XMLElement" ネストされたXMLElementオブジェクト - Importはデフォルトで"XMLObject" 要素を使う.
オプション
- Importオプション:
-
"AllowRemoteDTDAccess" True ネットワーク上で外部DTDを取ってくることを試みるかどうか "AllowUnrecognizedEntities" Automatic XMLドキュメント中の未確認のものに構文解析が対処することを許すかどうか "IncludeDefaultedAttributes" False 属性のデフォルト値で充填するかどうか "IncludeEmbeddedObjects" None 含める("Comments"と"ProcessingInstructions"の)埋め込まれたオブジェクト "IncludeNamespaces" Automatic 完全に記述したタグと属性の名前を返すかどうか "NormalizeWhitespace" True 先頭と末尾の余白を削除して,文字データ中の連続するスペースを単一のスペースに減らすかどうか "PreserveCDATASections" False 文字データセクションを特別のオブジェクトとして保存するかどうか "ReadDTD" True 外部DTDを読み取るかどうか "ValidateAgainstDTD" Automatic 指定されたDTDに対してドキュメントを有効にするかどうか - Exportオプション:
-
"AttributeQuoting" "'" 属性値についてデリミタを指定する "ElementFormatting" Automatic エキスポートされたドキュメント内の要素のインデントと長い文字列の改行 "Entities" None 文字を名前付きの実体で置き換えることについての規則 "NamespacePrefixes" {} 形式"namespace"->"prefix"のネームスペース接頭指定
例題
すべて開くすべて閉じる例 (3)
スコープ (1)
Import Elements (7)
"XMLElement" (1)
ネストされたXMLElementオブジェクトをインポートする:
Importオプション (18)
"AllowRemoteDTDAccess" (1)
デフォルトでは,Importはネットワーク上の外部DTDを取得しようとする:
"AllowUnrecognizedEntities" (3)
"IncludeEmbeddedObjects" (2)
"ReadDTD" (2)
"ValidateAgainstDTD" (2)
Exportオプション (1)
"AttributeQuoting" (1)
属性値の異なる区切り文字を使用したXMLへのExportを比較する: