フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全31件中)
  • トピック投稿者 jyoshida

    (@jyoshida)

    XML-RPC の改良は 2.9 に延期されたんでしたっけ??

    根拠はありません。
    2.9の開発が進むことでさらにこのチケットのマイルストーンは先に延ばされるかもしれません。
    逆に、XML-RPCの改良により2.9より前に解決されるかもしれません。
    ただ、積極的にこのチケットに対する修正は行われないと思います。

    トピック投稿者 jyoshida

    (@jyoshida)

    チケットのマイルストーンが2.9に設定されていました。
    XML-RPCの改良と合わせて対応するのかもしれません。

    バージョンアップの度にパッチをあて回るのにも疲れました。
    消極的な対応ですが、Wordpress自体を使うのをやめることで解決ということします。

    フォーラム: 開発版
    返信が含まれるトピック: post_class() が不正な CSS クラス名を生成
    jyoshida

    (@jyoshida)

    i18n以前な気が。割と安直に実装してその結果をあんまり考えてないっぽい感じで嫌ですねぇ。

    よって、わたしは slug を urldecode() して、NMTOKENS に使えない文字を削除するのが簡単で安全だろうと思ってます。

    なるほど、たしかにそうですね。
    slugって名前からの変換だけでなくてユーザが編集できますしね。

    http://www.atmarkit.co.jp/fxml/rensai/w3cread35/w3cread35_2.html
    を読んでいると pregのUTF-8モードの/p{xx}とかを使うと出来そうな感じが…

    フォーラム: 開発版
    返信が含まれるトピック: post_class() が不正な CSS クラス名を生成
    jyoshida

    (@jyoshida)

    post_class()/get_post_class()のソースを見てみました。

    カテゴリとタグのslugをそのまま使っているみたいですね。
    それがなんか問題な気がするので、slugを使うのではなく、nameをつかってNMTOKENS用に変換するのがよいかなと思います。

    NMTOKENに使えるような文字列に変換する関数ってありますかね?

    フォーラム: 開発版
    返信が含まれるトピック: post_class() が不正な CSS クラス名を生成
    jyoshida

    (@jyoshida)

    CSS2の仕様が心配なので原文を見てみました。
    http://www.w3.org/TR/CSS2/syndata.html#keywords

    In CSS2, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-); they cannot start with a hyphen or a digit. They can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier “B&W?” may be written as “B\&W\?” or “B\26 W\3F”.

    やはり\&みたいな使い方ができるようです。

    フォーラム: 開発版
    返信が含まれるトピック: post_class() が不正な CSS クラス名を生成
    jyoshida

    (@jyoshida)

    CSS2の仕様の邦訳より

    CSS2では,要素名,クラス名,及び選択子のIDを含む識別子は,文字[A-Za-z0-9]及びISO 10646の文字符号161以上,さらにハイフン(-)だけ含むことができる。識別子は,ハイフン又は数字から始めることはできない。識別子は,エスケープされた文字及び任意のISO 10646文字を数値符号として含むことができる(次の項目を参照)。 例えば,識別子”B&W?”は,”B\&W\?”又は”B\26 W\3F”として書いてよい。

    となっているので、やはり”\%”も正しいようです。

    セレクタで使用できる文字では、

    「”使用できる文字は大小アルファベットと数字 [A-Za-z0-9] 、ASCII以外のUnicode文字、およびハイフン(-)とアンダースコア(_)に限る。識別名は数字もしくはハイフンと数字の組合せで始めることはできない。また、セレクタの要素型名、クラス名、ID名はハイフンで始めることはできない”」とされています。

    となっていますが、(邦訳を信じるなら)これは仕様の前半だけで後半の解釈が抜けているように見えます。(実装として \エスケープされたクラス名が使用できているのを見ると邦訳の内容が正しいんではないかと推測)

    どちらにしても、XHTML1.1ではclass属性の型がNMTOKENSに変更されたので%エンコーディングは使えないことになるかと思います。
    http://www.kanzaki.com/docs/html/xmodules.html#s_cmnatts

    今の仕様のままだとXHTML1.1をテンプレートで使うと英語圏でも問題になるのではないでしょうか。

    jyoshida

    (@jyoshida)

    >bonopsさん
    すいません、気がつかなくって遅くなりました。

    Kaoriya.netさんのは日本語/Windows向けバイナリの他にソース差分も配布されていますのである意味クロスプラットフォームとも言えます。
    また、本家はソースとWindows向けバイナリを配布していますが、設定ファイルをちゃんと書かないと日本語の扱いはNotepad以下になるので(笑)、おすすめはできませんね。
    カテゴリ訳は難しいですが、

    ・Windows
    ・Vim(日本語Windows向けパッチ+バイナリ)

    ・クラスプラットフォーム
    ・Vim(本家)
    Vim(日本語パッチ)

    という感じでしょうかねぇ~

    フォーラム: 開発版
    返信が含まれるトピック: post_class() が不正な CSS クラス名を生成
    jyoshida

    (@jyoshida)

    class属性ってCDATAだと思っていたのでちょっと確認してみました。
    http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd
    XHTMLでもclass属性の値はCDATA型のようです。
    ID型やNMTOKN型と違って、結構緩いので’%’が入ってもいいみたいです。

    また、CCS1の仕様7.1の末尾にこんな記述があります。
    http://www.y-adagio.com/public/standards/css1/cssmain.htm#forward-compatible-parsing

    CSS1では,選択子(要素名,クラス及びID)は,A~Z,0~9 及びUnicode文字の161~255にダッシュ(-)を加えたものだけを含めることができる。ダッシュ又は数字で開始はできない。エスケープされた文字及び数字コード(次項参照)としてのUnicode文字も含むことができる。

    備考: HTMLのCLASS属性は,選択子のために許容される集合以外の多くの文字をクラス名として許す。 CSS1では,これらの文字は,エスケープされるか,又はUnicode番号として記述されなければならない。 (略) CSSの今後の版では,より多くの文字を直接入力できることが期待される。

    引っ張った規格はそれぞれ古くて緩い規格ですが(XHTML1.0 traditional/CCS1)、一応 %が使われるのは許されていて、セレクタとして使う時に\エスケープするのは有りのようです。

    # とりあえずざっと調べてみただけです。 XHTML1.1とかCCS2とかはまた後日。

    フォーラム: 使い方全般
    返信が含まれるトピック: 日本語ドメインでの運用トラブル

    Punycodeに変換して設定してはどうでしょう?
    http://punycode.jp/

    フォーラム: バグ報告と提案
    返信が含まれるトピック: Snoopyを使ったアップロード
    トピック投稿者 jyoshida

    (@jyoshida)

    2.6.3のclass-snoopy.phpの入れ替えで直ってました。
    ということで本家のチケットもcloseしておきました。

    フォーラム: 開発版
    返信が含まれるトピック: 2.6 の wp-config-sample.php が危険

    wp-config-sample.php に「Windows の『メモ帳』でこのファイルを編集していはいけません」という註釈を入れませんか > wpja チームさま

    ふと思ったのですが、この問題、日本語だけではないですよね。
    いっそのこと本家に入れるようにしてもらったほうがよくないですか?

    今、気がつきました。
    >wiki
    Vim もマルチプラットフォームですね。
    本家は、 http://www.vim.org
    日本語Windows向けパッチ+バイナリが http://www.kaoriya.net/ です。

    これは、「改行コードの規定がないから LF でもよい」という理解でいいんでしょうか。

    W3CによるXML1.0勧告の2.11 End-of-Line Handling
    (和訳 2.11 行末の取扱い)に下記のように定められています。

    XMLの構文解析対象実体は,通常コンピュータのファイル内に保存され,編集の便宜のために複数の行に分けることが多い。これらの行は,普通は,CR (#xD)コード及び LF (#xA)コードの何らかの組合せによって分けられる。

    アプリケーションの処理を簡単にするため,外部解析対象実体又は内部解析対象実体のリテラル実体値が,”#xD#xA” の2文字の連続とするリテラル又は#xDの単独のリテラルを含む場合に,XMLプロセサは,アプリケーションに単一の文字#xAだけを渡さなければならない(この処理は,入力内に存在する改行コードを構文解析の前に正規化することによって,容易に実現できる。)。

    RFC 3023 (XML Media Types)(和訳みつらず)
    では、特に改行コードの規定はされていないようです。

    さらに、RFC 3236 では application/xhtml+xml は applicatino/xmlに従うということなので、xmlの派生であるxhtmlにはCR/LF/CRLFがそれぞれ現れてよいということです。

    と、いうことで、xhtmlでLFのみを使うのであれば、application/xhtml+xmlがよいということになります。

    HTMLの改行ってCRLFじゃないといけないという記述をどこかで見たような気がしたので、調べてみました。

    RFC 2854 (和訳)

    MIME テキストのすべてのサブタイプと同じく、text/html の正規の形式では、改行をつねに CR (0x0D) のバイト値に LF (0x0A) のバイト値が後続するシーケンスとして表現しなければならない。 同様に、text/html の中にそうした CRLF シーケンスがあれば、それは改行を表現していなければならない。 改行シーケンス以外で CR バイト値や LF バイト値を使用することも禁止されている。 この規則は、使用されている文字符号化法 (charset) に関わりなく適用される。

    # HTML自体ではなく、MIMEの方で定義されているとわ… 通りで見つからないと。

    XHTMLに対しては、以下のRFCがあります、

    RFC 3236 (和訳)

    LFを改行として使う場合は、Content-Type: application/xhtml+xmlとし、
    Content-Type: text/html の場合は、CRLFを使うのがRFC的には正しいようです。

    文字コード変換に関する問題点の詳しい説明はWikipediaをリンクしてみてはどうでしょう?

    文字コードに関してのWikipediaのURL

    文字コード変換に関わる問題についてのURL

15件の返信を表示中 - 1 - 15件目 (全31件中)