Satimage 戻る| 次へ
XMLチュートリアル
ホームページ > 情報センター > Onlineドキュメンテーション > オートメーション環境 > Text、expユニコード(レッジ)XML > XML Suite > A XMLの家庭教師ツ?/長さ>
チュートリアルに関して
簡単な例が役に立っていた状態で、この短いチュートリアルは実際のファイルに実行されたXML Suiteの主なコマンドを提示します。 私たちは化学元素(彼らの主な物理的性質があるすべての知られている原子のリスト)の周期的な図を使用するつもりです。 様々なXMLファイルはあなたのブラウザで見えています。

単に以下のチュートリアルを読むことができて、いつ何時、あなたは、あなたのマシンにスクリプトをコピーして、永遠にそれらをテストすることができます。 スクリプトを輸入するには、以下のリンクをクリックしてください。

-- ステップ1: XMLドキュメントを開きます。 最初に戻る| 戻る| 次へ
このページと以下の例のために、私たちは化学元素の周期的な図を使用するつもりです。 XMLファイル(新しいブラウザウィンドウの)を見るには、ここをクリックしてください: allelements.txt

このステップでは、私たちがすることができるのは、根のノードからドキュメントを開いて、参照を抜くことです。 112KBのリモートファイルを読んで、次に、あなたの要求に速い応答度を確実にする内部のテーブルを組立てなければならないので、 XMLOpen指示が数秒を必要とするかもしれないのに注意してください。

" http://www.satimage.fr/software/samples/allelements.xml "に_URLを設定してください。
XMLOpen_URLに_docを設定してください。
ツ??i>--ツ?#171 ; データXMLR0000000100000000≫

設定されて、_はXMLRootに_docを根づかせます。
ツ??i>--ツ?#171 ; データXMLR0000000104739D80≫
チュートリアルの残りは上で定義された変数を使用します。

XMLファイルを見たなら、多分、あなたは、それがDTDを宣言しないのに気付きました: 本当に、DTDを宣言するのは任意です。 あなたは走ることによって、確認を持つことができます:

XMLValidateは_docです。
誤り警戒を表示するでしょう。
-- ステップ2: XML木をブラウズします。 最初に戻る| 戻る| 次へ
急速に、木のいくつかの要素を探りましょう。
_が根づかせるXMLCount
ツ??i>--ツ?12
ツ??i>--ツ?彼、テーブルは112の原子を含んでいます。

設定されて、_が根づかせるXMLChildへの_子供は1に索引をつけます。
ツ??i>--ツ?#171 ; データXMLR0000000104739DC0≫
ツ??i>--ツ?彼、_子供は不明瞭な参照です。
ツ??i>--ツ?o 私たちがどんな種類のものを使用するかを知ってください、XMLDisplay

_子供のXMLDisplay
ツ??i>--ツ?名前: 種類: 「要素_ノード」、「原子」
ツ??i>--ツ?彼、原子自体には、子供がいます:

_XMLChildへの_子供の子供_2インデックス1を設定してください。
_子供_2のXMLDisplay
ツ??i>--ツ?名前: 種類: 「要素_ノード」、「名前」
ツ??i>--ツ?彼、最初の原子の最初の子供は原子の名前です。

_子供_2のXMLGetText
ツ??i>--ツ?「アクチニウム」

_子供_2のXMLNextSiblingに_子供_2を設定してください。
_子供_2のXMLDisplay
ツ??i>--ツ?名前: 種類: 「要素_ノード」、「原子_の重さ」
ツ??i>--ツ?彼、最初の原子の2番目の子供は原子量です。

_子供_2のXMLGetText
ツ??i>--ツ?227"
ツ??i>--ツ?ctiniumは重い原子です!
-- ステップ3: 木をHydrogenを捜します。 最初に戻る| 戻る| 次へ
ここで、私たちは、Hydrogenの原子量を検索したいと思うと思います。

私たちのXMLファイルのためのDTDが全くないので、私たちは原子量がどのように格納されるかを知るためにファイルを見なければなりません: 私たちがそれがただテキストファイルであるので、直接(ここを、クリックする)それを見ることができますか、または私たちは XMLDisplayXMLを使用することができます:

_子供のXMLDisplayXML
ツ??i>--ツ?esult:
ツ??lt; 原子>
ツ????lt; 名前>アクチニウム</名の>
ツ????lt; 原子_重さの>227</原子の_の重さの>
ツ????lt; 原子_数の>89</原子の_番号>
ツ????Tc。
ツ??lt; /原子>

私たちが、ATOMが属性を含んでいないのがわかるので: あなたは、各原子にはNAME属性があると予想することができましたが、ケースはそのようなもの(ATOM要素には、NAME要素が代わりにある)ではありません。 したがって、私たちは、Hydrogenを検索するのにXPATHを使用しなければなりません。 (さもなければ、 XMLFindを使用するのは、より簡単でしょう。) 以下のXPATHは値が「水素」であるNAME要素を持っているATOM種類の要素に要求します: 原子[名前: =「水素」]。 そして、私たちは、原子量を読むのに XLMFindを使用するつもりです。

「XMLXpathへの_が根づく_原子を設定してください、「原子、[=\を」 水素と命名してください、\、」、]、」
XMLFindへの_の重さ_原子名「原子_の重さ」を設定してください。
XMLGetTextは_の重さです。
ツ??i>--ツ?1.00794"
私たちはわずかに複雑なXPATHに親(. . /)に関する状態を指定することによって、ATOM(ATOM/ATOMIC_WEIGHT)のATOMIC_WEIGHTを直接要求させることができました: 原子/原子の_の重さ[. . /名前=「水素」]
「XMLXpathへの_が根づく_の重さを設定してください、「原子/原子の_の重さ、[. . /が=\を」 水素と命名する、\、」、]、」
XMLGetTextは_の重さです。
ツ??i>--ツ?1.00794"
Actiniumには、どんな属性もありませんでしたが、Hydrogenでは、1つがあります:
XMLDisplayは_原子です。
ツ??i>--ツ?属性: 種類: 「要素_ノード」、名前: 「原子」、「状態」、「ガス」
私たちは、テーブルですべてのガスのリストを得るのに XMLFindを使用することができます(まさに、「状態」属性があるすべての原子が「ガス」にセットしました)。
すべての発生と共にXMLFind_ルートキー「状態」値の「ガス」に_ガスを設定してください。
ツ??i>--ツ?«データXMLR0000000102BDA210≫、«データXMLR00000001058360D0≫、«データXMLR0000000105837530≫、«データXMLR0000000105880080≫

_ガスの中に_ガスがある状態で、繰り返してください。
ツ????sg(XMLGetText、(XMLChild、_ガスインデックス1)
終わりの反復
-- 結果:
ツ????rgon
ツ????ydrogen
ツ????elium
ツ????enon
-- ステップ4: ノードを表示します。 最初に戻る| 戻る| 次へ
私たちは前のページで既に XMLDisplayXMLDisplayXML、および XMLGetTextを使用しました。 XMLDisplayXMLDisplayXMLの違いを主張しましょう: XMLDisplayはノードに関する情報を表示します、それにいずれかあるならあなたがノード(タグ)、種類、およびその属性の名前を見つけることができる記録として。 XMLDisplayXMLはテキストとして全体のノードを表示します。
XMLDisplayは_原子です。
ツ??i>--ツ?属性: 種類: 「要素_ノード」、名前: 「原子」、「状態」、「ガス」

XMLDisplayXMLは_原子です。
ツ??i>--ツ?esult:
ツ??lt、; 原子州=\、「\">"にガスを供給してください。
ツ????lt; 名前>水素</名の>
ツ????lt; 原子_重さの>1.00794</原子の_の重さの>
ツ????lt; 原子_数の>1</原子の_番号>
ツ????Tc。
ツ??lt; /原子>
XMLGetTextは基本のノードのために意図されます:
XMLGetTextは_の重さです。
ツ??i>--ツ?1.00794"
複雑なノードの上でまた、それを使用することができますが、多分、あなたは読みにくい出力を手に入れます:
XMLGetTextは_原子です。
ツ??i>--ツ?esult:
ツ????ydrogen1.007941120.2813.81H
ツ????.0899
ツ????s1 0.322.12、.08
ツ????Tc。
XMLGetText( XMLDisplayXMLDisplayXMLと同様に)はリストを支持します。 すべての原子の原子量のリストが欲しいと思うなら、私たちは最初に、すべての原子量ノードのリストを得るでしょう:
_が「原子/原子の_の重さ」で根づかせるXMLXpathに_ノードを設定してください。
ツ??i>--ツ?«データXMLR000000010471D940≫、«データXMLR0000000104746810≫、«データXMLR0000000104726350≫など
次に、私たちは XMLGetTextと共にテキストとしてノードの値を得るでしょう:
XMLGetTextに_重りを設定してください。(_ノード)
ツ??「i>--ツ?、」「227」、「26.98154インチ、「243」、「121.757」など、」
-- ステップ5: 別のものを削除して、新しい要素を作成します。 最初に戻る| 戻る| 次へ
現在、私たちは新しい要素を作成する準備ができています! 未知の原子を発見すると仮定してください。そうすれば、あなたはそれを Smiliumと命名します。 それのシンボルを見つけるために、最も緊急のものはあるでしょう。 今までのところ使用されているシンボルのリストを造りましょう。
XMLGetTextに_シンボルを設定してください。(_が「原子/シンボル」で根づかせるXMLXpath)
-- 「バイバイ」、"Ac"、「アル」、「存在」、[…]、「Sc」、"Se"、"Sg"、"Si"、「Sm」、"Sr"、[…]
「Sm」は既に使用されて、 Slを選びましょう。
リストがアルファベット順に(approximately)であるので、それは Smiliumを"Si"(Silicon)の後に挿入するために名案になるでしょう。
_が「原子[\「Si\」というシンボル=]」と共に根づかせるXMLXpathに_siを設定してください。
XMLGetText(_がsiするXMLChildは1に索引をつけます)
ツ??i>--ツ?「シリコン」
新しい要素をどこに挿入するかを知っているので、私たちは、何を挿入したらよいかを見つけなければなりません!
私たちが欲しい最小限は、確かに名前とシンボルです。 「手動で」データを築き上げましょう:
「<原子>」に_データを設定してください。
<名前>Smilium</名の>
「<シンボル>Sl</シンボル>」
smiliumに_の後の_データがsiするXMLNewSiblingに_を設定してください。
痛い! スクリプトは誤りの引き金となります! 本当に、私たちの新しい要素はよく形成されないで、また ATOMタグは閉じられません。
「<原子>」に_データを設定してください。
<名前>Smilium</名の>
<シンボル>Sl</シンボル>
「</原子>」
smiliumに_の後の_データがsiするXMLNewSiblingに_を設定してください。
ツ??i>--ツ?#171 ; データXMLR00000001032708E0≫
私たちに現在、詳しい情報をいっぱいにさせます。

新しい要素は前のすべてのものより大きくあるべきです。 任意の数字の要素の最大値(今までのところ)を計算するために小さいルーチンを組み込みましょう。 要素の名前を考えて、始まってください、そして、 XMLGetTextはテキストとして値のリストを返します。 それらの値の最大を得るために、私たちは数のリストにリストを作りかえなければなりません。 どんな標準のストリングのリストから数のリストまでの強制もなくて、しかしながら、Smileの科学的一面はここで助けるでしょう。 「混乱させ-者」0をストリングのリストに適用すると、それは数のリストに作りかえられるでしょう。 そして、私たちは、リストの統計を得るのに statlistを使用することができます。

GetMaxValueに関して(_根、_要素)
ツ????etは「原子/」と_要素への_xpathです。
ツ????etは_が_xpathで根づかせるXMLXpathへの_ノードです。
ツ????et、_はXMLGetTextに_ノードを評価します。
ツ????_と「混乱させ-者」0への_番号が評価するet
ツ????eturnに最大です。(_が付番するstatlist)
終わりのGetMaxValue

GetMaxValue(_根、「原子_番号」)
ツ??i>--ツ?12.0
GetMaxValue(_根、「原子_の重さ」)
ツ??i>--ツ?77.0
GetMaxValue(_根、「原子_半径」)
ツ??i>--ツ?.700000047684
今、私たちは恐怖なしで Smiliumに関する詳しい情報を入力することができます:
_で「<の原子_番号の>144</原子の_は>に付番する」というXMLNewChild smilium
_に「<の原子_の重さの>321</原子の_は>に重みを加える」というXMLNewChild smilium
_の「<の原子_半径>3.14</原子の_半径>」がsmiliumするXMLNewChild
… 最終的に私たちの要素を表示してください:
XMLDisplayXMLは_smiliumです。
ツ??i>--ツ?esult:
ツ??lt; 原子>
ツ????lt; 名前>Smilium</名の>
ツ????lt; シンボル>Sl</シンボル>
ツ????lt; 原子_数の>144</原子の_番号>
ツ????lt; 原子_重さの>321</原子の_の重さの>
ツ????lt; 原子_半径>3.14</原子の_半径>
ツ??「lt、; /原子>、」
運動として、Siliconのためにエントリーを取り除きましょう。
XMLRemoveは_siです。
0に_siを設定してください。
あなたがそれが言及する実体を削除した後に XLRefを含む変数の値をリセットするのは、良い習慣です、あなたのプログラムが無効の参照を使用しないのを確信しているように。 そのような無効の参照を使用すると、XMLLibとSmileは墜落するかもしれません。

私たちは現在、ローカルファイル(デスクトップの)として新しいテーブルを取っておくことができます。

(テキストとしての(デスクトップへの経路))と「未来_elements.xml」に_経路を設定してください。
_が中でdocするXMLSaveは_経路をファイルします。
同じくらい通称_経路に_ファイルを設定してください。
-- ステップ6: 取り扱いXMLの地方の、そして、リモートなもの 最初に戻る| 戻る| 次へ
チュートリアルの前のステップでは、私たちは _URLとして知られているURLを開きました、そして、Smileは私たちが _docとして格納した XMLRefを返しました。 次に、私たちは _根( _docの根のノード)に要素を加えました、そして、ローカルファイル( _経路)として _docを取っておきました。 _経路に格納されたXMLドキュメントがどのように開かないでも、 _URLだけが開いています。 確認を持つことができて、走ってください:
_がファイルするXMLDocument
スクリプトは誤りの引き金となります: そのドキュメントを参照するどんな有効な XMLRefもなくて、参照は以下のリターンである間、 _にdocを格納しました:
XMLDocument_URL
ツ??i>--ツ?#171 ; データXMLR0000000100000000≫
あなたが地方のコピーに取り組むためにデータベースを変えるとき、それは便利であるかもしれません。 そうするために、私たちに接続を _URLに終えさせてください、そして、代わりに地方のコピーを開けてください。
XMLCloseは_docです。
_がファイルするXMLOpenに_docを設定してください。
ツ??i>--ツ?#171 ; データXMLR0000000200000000≫
私たちは確認することができます:
XMLURLは_docです。
-- 通称「_マッキントッシュHD:ユーザ:<ログイン>:デスクトップ:未来elements.xml」
今、私たちは局所的で働くことができます。 いくつかの変化を救うには、書いてください:
XMLSaveは_docです。
-- ステップ7: ウェブページに周期表を表示します。 最初に戻る| 戻る| 次へ
ここで、私たちは、ウェブで発行するのに適当なhtmlドキュメントに私たちのXMLドキュメントを作りかえるのに、スタイルシート(XSLT規格)を使用するつもりです。

簡単な例に関しては、まとめられたフォームに各要素を表示して、私たちはリストを造るつもりです:

Ac
アクチニウム、Z=89
アル
アルミニウム、Z=13
あります。
アメリシウム、Z=95
など
対応するxslファイルはかなり簡単です。 xslファイル(新しいブラウザウィンドウの)を見るには、ここをクリックしてください: 要素_xsl.html

デスクトップの上でhtmlファイルを発生させて、Safariでそれを開きましょう。

スタイルシートファイルはそれ自体でXMLファイルであり、それを開きましょう。

" http://www.satimage.fr/software/samples/elements.xsl "に_saso_URLを設定してください。
XMLOpen_saso_URLに_sasoを設定してください。
今、スタイルシートを適用しましょう。
htmlに_が_でsasoにdocするXMLTransformに_を設定してください。
_htmlXMLRefである、私たちはファイルにそれを作りかえるのに XMLSaveを使用しなければなりません。 私たちが _htmlのテキスト表現を発生させるのに交互に XMLDisplayXMLを使用することができたのに注意してください、そして、ユニコードウィンドウにそれを印刷してください、そして、普通の手段でディスクにそれを保存してください。
(テキストとしての(デスクトップへの経路))と"elements.html"に_html_経路を設定してください。
_が中でhtmlするXMLSaveは_html_経路をファイルします。
現在、結果がどう表示するかをチェックしましょう。
同じくらい通称_html_経路に_html_ファイルを設定してください。
アプリケーション「サファリ」を言って、_html_ファイルを開いてください。
結果として起こるhtmlのソース(新しいブラウザウィンドウの)を見るには、ここをクリックしてください: 要素_html.html
結果として起こるhtmlをウェブページ(新しいブラウザウィンドウの)であるとみなすには、ここをクリックしてください: elements.html
-- ステップ8: メモリを発表します。 最初に戻る| 戻る| 次へ
XML木は多くのメモリを使用するかもしれません。 あなたが使用しないものを閉じるほうがよいです。
XMLCloseは_docです。
XMLCloseは_sasoです。
XMLCloseは_htmlです。
Copyrightツゥ2005パリ、Satimage