niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(R)ooxmlでxml2::xml_set_attrする場合はw:をつける(メモ)

私的メモがしばらく続きますが…

ooxmlで書かれたdocxファイルのスタイルの一括修正が面倒なのでRでやろうと思ってコードを書いています。基本的にはxml2パッケージを使う。あとはofficerの関数を一部使わせてもらう形(処理そのものはofficerと異なるので全部自分で書く)

xml2パッケージを使用して処理する場合特有なのかわからないが、ooxmlの場合、attributeはw:valのような形で書かれる。しかし、xml_attrなどでアクセスする場合はw:をとらないといけない。

xml2::xml_attr(xml2::xml_child(xml, "w:name"), "val")

一方で、xml_set_attrする場合はw:をつけないといけない。

xml2::xml_set_attr(node, "w:themeColor", val)

細かいことだが、個別に関数を手で書いていかないといけないので抜けてしまうことが多々あるのでメモとして残す。