XML属性

<?xml version="1.0" encoding="UTF-8"?>
<diary>
    <article>
        <no>
            記事番号
        </no>
        <date>
            年-月-日
        </date>
        <title>
            記事タイトル
        </title>
        <category>
            カテゴリのユニークID
        </category>
        <contents>
            記事の中身
        </contents>
        <imagenum>
            記事内の画像の数
        </imageum>
        <comments>
            <comment>
                <username>コメントを書いた人</username>
                <timestamp>コメントを書いたエポック秒</timestamp>
                <contents>
                コメントの内容
                </contents>
            </comment>
            <comment>
                <username>コメントを書いた人</username>
                <timestamp>コメントを書いたエポック秒</timestamp>
                <contents>
                コメントの内容
                </contents>
            </comment>
            何個でもできる。でも、コメント自体には対応するつもりはない。
        </comments>
    </article>
</diary>


最初に仕様をはっきりとしておかないと、後で、えらい目にあう。
一からブログシステムを作り始めて、ついにここまで来たか。
と、感無量である。

ここは一番ブログシステムの核となるところなので、きっちり考えていこう。

徒然なるままに仕様を書いていこう。後に次々足していこう

形式 XMLCSVもサポートしたい。時期バージョンで、Moovable Type変換機能も実装したい。PHP4対応 simpleXMLは使用不可
漢字コード 入力 UTF-8 出力 Shift-JISにする OSに依存しないように、実装する mb_stringを使うことに躊躇しない
主キー 記事番号に対応させる。日にちで分けない。
記事 いち更新したのか、それぞれの記事に表示させる
画像 画像は一つに記事に対して3枚までアップロードできることとする。
画像の枚数によって、スタイルシートを変更し、画像をGDライブラリで縮小させることとする。GDライブラリによる画像圧縮は、最大横幅が640 or 320までとする。それぞれの画像に対して、a hrefリンクを target属性なしで、張ること。
XMLで必要な属性 下に記述する
許可するHTMLタグ javascriptは例外なく対応しない。ただし、Google MAP APIは、実装できるように、対応する。他のHTMLタグは、allow,deny方式ではなく、deny,allow方式で対応する。現在のところ、<b><a href target><i><u>までは対応している。<div>のスタイルシートだけは対応させてもよいことにしようかしまいか、悩み中。
画像DB 画像自体は、DBフォルダに、記事番号ごとに、画像を保存するようにすると、XMLに、リンク先を入力しなくてよいので、そのようにしたい。しかしそうすると、一つのディレクトリの中の最大ファイル数は、65535個だから、どうしようか・・。