Archive

Posts Tagged ‘XML’

Scala的XML是只读的

August 28th, 2009 honnix No comments

有什么好处呢?最直接的好处就是同一个node可以被多个xml共享,想想DOM是怎么处理这个的。

问题是一个简单的修改就需要重新建立一个完整的xml。Scala提供了BasictTransformer和RuleTransformer,再加上无敌的case匹配,可以方便地处理某类节点。

有个麻烦地地方,Scala-2.7.5的BasicTransformer有bug,只能用nightly或者等2.8发布了。

Scala确实非常适合实现DSL

August 22nd, 2009 honnix No comments

用了一上午的时间,就实现了xpath的解释,类似这样的东西:a[@b=="1" and (c/@d==2 or e[f=="abc"])]。再加上Scala对函数对象的支持以及函数名的随意性,很容易就实现了对xml操作的扩展。除了Scala定义好的”\”,”\\”,加入了”\%”来支持复杂的xpath,跟dom4j差不多了。真爽!

Categories: Scala, Technology Tags: , , , ,

Scala的XML处理非常强大

August 13th, 2009 honnix No comments

而且好用。模型非常简单,比该死的DOM好太多了。

Lexer的直接支持使得XML使用起来就像是写代码一样,这样可以直接把XSLT丢掉了。

目前还有些不是很好的地方,比如不能用变量作为tag的名字:<{tag_name}>,这样不行;再比如XPATH的支持还不全。不过好在可以implicit来增加新的方法,语法糖衣真是不错。

Categories: Scala, Technology Tags: , , ,