AirH" Annotation cvs cygwin DSL Eclipse Flash flex git Gizmo java javascript Linux metadata NOKIA OpenLaszlo packrat ruby RubyKaigi RubyOnRails Seesaa sourceforge SVN tdp4j tdp4js tdp4r thunderbird vodafone W-ZERO3 Windows X02HT x11 xml タグ ポーランド記法 携帯 構文解析
タグ / xml
記事
tdp4rでXMLのtop-down parsing/transduction [2006/07/23 09:11]
TDP4RでXMLをパース/変形するためのパーサのセットを用意してみた。これで、top-downにパースしたり変形するものについては対応できる。例えば、a,bのタグが連続で現れるものをabというタグに変形し、他のものは大文字に変形するものは次のような変形ルールを記述すればよい。(サンプルsample_xml.rbから引用) g.xml = element("a"){ element("b"){ g.xmlseq } >> dom_constructor{|node| node.children() } } >> dom_constructor{|node| node.name = "AB"; node } | element(String){ g.xmlseq } >> dom_constructor{|node| ...
TDP4RでXMLの変換(2) [2006/07/19 07:24]
少しサンプル(sample_xml.rb)を改良して、パースしながらDOMを構成するようにしてみた。文法部分は以下の通り。XMLParserというモジュールにXML用のパーサとしてelementやconstructというものを定義している。まだ未完成で悩ましいところは多々あるが、完成すれば、XSLTやテンプレートなどとは違ったXMLの変換ができる。translator = TDParser.define{|g| extend XMLParser g.xml = element("a"){ element("b"){ g.xml*0 >> Proc.new{|x| x[0].collect{|y| y[0]} } } >> construct{|node| node.name = "bar"; node } } >> construct{|node| node.name ...