タグ / 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 ...