lure.tuts.parsepreview (日本語)

パーザのプレビュー

パーザーの現在状況は主な DOM ノードのオブジェクトの多くを実装しています。ライブラリは試作版公開であるので未だ準備ができていませんが、以下は現在の xml/html パーザーの用例および、その結果としてのDOM オブジェクトの基本的な使い方です。

以下は非常に簡単な xml/html マークアップです:

<html>
	<head>
		<title>Lure Test Page</title>		
	</head>
	<body>
		<div id="div1">
			this is a sentence<br>separated by a break line.
			<div id="div2">Hello</div>
			<div id="div3">World</div>			
		</div>
	</body>
</html>

LURE にて DOM の解析および動作を行うには:

require("lure.lua")

htmlDoc = Lure.load("test.html")
print(htmlDoc.getElementById("div1").childNodes[1].data)
-- 出力: this is a sentence

print(htmlDoc.childNodes[1].childNodes[2].childNodes[1].childNodes[3].data)
-- 出力: separated by a break line.

newElement = htmlDoc.createElement("div")
newElement.setAttribute("id", "myNewElement")
htmlDoc.childNodes[1].childNodes[2].appendChild(newElement)
print(htmlDoc.getElementById("myNewElement").getAttribute("id"))
-- 出力: myNewElement

パーザーは確認を行わないため (docTypes, 名前空間またはその他の偽りが無いならば)、任意の xml 構造を使用して、 DOM オブジェクトを解析および生成することができます。さあ、XML を使用して自機の一覧を表してみましょう:

<players>
	<player id="p1">
                <desc>I am player 1</desc>
		<item type="weapon" />
	</player>
	<player id="p2">
		<item type="weapon" />
	</player>
	<player id="p3">
		<item type="weapon" />
	</player>
	<player id="p4">
		<item type="weapon" />
	</player>
	<player id="p5">
		<item type="weapon" />
	</player>	
</players>

さらに LURE にて DOM の解析および動作により返されます:

require("lure.lua")

playersXML = lure.load("players.xml")

player1 = playersXML.documentElement.firstChild
print(player1.id)
-- 出力: p1

print(player1.childNodes[1].childNodes[1].data)
-- 出力: I am player 1

player1.childNodes[2].getAttribute("type")
-- 出力: weapon

そのほかの言語