XML作成の自動化について
- 手動ではとてもやってられないXMLファイル作成を自動化する方法について
正規表現を使った置換
Wikiの書式である
<?xml version="1.0" encoding="windows-1251" ?> ~ <string id="st_wpn_pen"> <text>This is a pen</text> これはペンです。 </string> ~
これを、
<?xml version="1.0" encoding="UTF-8" ?> ~ <string id="st_wpn_pen"> <text>これはペンです。</text> </string> ~
のようにゲームで使用できる書式にしたい場合、 秀丸エディタ等の正規表現を使った置換が出来るテキストエディタを使うと簡単である。
まず
<text>.*</text>\n(?! *</string>)
を
<text>
に置換する事で、次の行に</string>タグが存在しない場合だけ原文と原文末尾の</text>タグとその後ろの改行を消し、
(?<!>)\n
を
</text>\n
に置換する事で行末にタグが無い行のみ</text>タグを付加した上で、
<?xml version="1.0" encoding="windows-1251" ?> あるいは <?xml version="1.0" encoding="windows-1251"?>
を
<?xml version="1.0" encoding="UTF-8" ?>
に置換すれば良い。
これらの一連の動作をマクロ登録しておくと更に負担を軽減できる。この作業を自動化するマクロは以下からダウンロード可能
秀丸エディタ用のマクロ
あくまでマクロなのでXMLエディタ等で構文エラーチェックを行う必要がある。
秀丸エディタ用のマクロ
あくまでマクロなのでXMLエディタ等で構文エラーチェックを行う必要がある。
よくある構文エラー
- マクロを使ってXML化したXMLファイルで良くある構文エラーは
<string id="hogehoge"></text> </string> ほげほげ
こうなってしまう事。
これは、元のWikiの書式が
これは、元のWikiの書式が
<string id="hogehoge"> <text>hogehoge</text> </string> ほげほげ
のように、</string>タグの下に訳文が入ってしまっている場合にこうなります。
他にもタグが消えていたり、改行が多すぎたり少なすぎたりすると構文エラーになります。
マクロでXML化した後、XMLエディタ等の構文チェックの際もしもエラーが出たら元のWikiの書式を確認し、修正してください。
他にもタグが消えていたり、改行が多すぎたり少なすぎたりすると構文エラーになります。
マクロでXML化した後、XMLエディタ等の構文チェックの際もしもエラーが出たら元のWikiの書式を確認し、修正してください。
ダメ文字・第二水準の漢字を処理するには
- ダメ文字とはアイテム名の末尾に特定の文字が来るとエラーになってしまう字の事。対処方法はダメ文字の後に全角スペースを挿入する。
単に「プ<」という文字列を「プ <」のように置換すれば良いのだが、いちいちやるのはめんどくさい。
これは以下の置換をマクロを実行出来るテキストエディタで行えばよい(その場合アイテム名だけでなく全ての要素に関してダメ文字の後に全角スペースが挿入される事になる)。
これは以下の置換をマクロを実行出来るテキストエディタで行えばよい(その場合アイテム名だけでなく全ての要素に関してダメ文字の後に全角スペースが挿入される事になる)。
プ< → プ < ブ< → ブ < 機< → 機 < 品< → 品 < ーツ< → ーツ <
- 第二水準の漢字とは、JIS X0208 で定義されている漢字のうち使用頻度が低いとされるもの。3,388字ほどあるらしい。更に2000年と2004年に第三・第四水準も追加された。
CS用の日本語フォントには漢字は第一水準しか含まれて居ない為、これらの漢字は除外する必要がある。
正規表現で置換できるテキストエディタであれば
正規表現で置換できるテキストエディタであれば
[弌-熙]
というたった五文字で第二水準の漢字を全て指定できる。
これを検索文字にし、置換文字は適当に(使用できない漢字です)等にして置換し、後で修正すればいい。
第三水準、第四水準の指定方法は良くわからないし数も少ないのでとりあえず放置。
第二水準漢字潰し用の秀丸エディタマクロはこちら
これを検索文字にし、置換文字は適当に(使用できない漢字です)等にして置換し、後で修正すればいい。
第三水準、第四水準の指定方法は良くわからないし数も少ないのでとりあえず放置。
第二水準漢字潰し用の秀丸エディタマクロはこちら