7

特に、CSSEdit の AutoCompletion.plist ファイルを編集しています (それが重要な場合)。

私の質問は、エスケープする必要がある STRING 要素内の文字はありますか? スペース?引用?

編集: 明確にするために、私は CSSEdit を使用してファイルを編集しているのではなく、ファイルは CSSEdit パッケージの一部です。私は TextMate を使用してファイルを編集しています (ただし、"Property List Editor.app" は別のオプションです)。ファイルは XML 形式です。AutoCompletion.plist ファイルの抜粋を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>font-family</key>
<array>
    <string>Arial</string>
    <string>Helvetica</string>
    <string>Georgia</string>
    <string>serif</string>
    <string>sans-serif</string>
    <string>cursive</string>
    etc...

次のように、スペースと一重引用符を含む STRING を追加したいと思います。

<string>Georgia, Times, 'Times New Roman', serif</string>

しかし、ファイルをそのまま編集すると、CSSEditは大騒ぎになります

4

3 に答える 3

19

ある種のテキスト エディターを使用して XML plist を編集している場合は、XML と同様に文字をエスケープする必要があります。注意すべき基本的な文字は次のとおりです。

< (より小さい) は < としてエスケープされます。

> (より大きい)、 > としてエスケープされます。

& (アンパサンド) は & としてエスケープされます。

' (アポストロフィ) は、' としてエスケープされます。

" (引用符) は " としてエスケープされます。

したがって、あなたの例では、

<string>Georgia, Times, &apos;Times New Roman&apos;, serif</string>

また、無料のXcode 開発者ツールに含まれている Apple の Property List Editor などのツールや、 PlistEdit Proなどのサードパーティ製品を使用することもできます。どちらもすべての文字エスケープを処理してくれます。

于 2008-11-02T18:16:49.480 に答える
2

を使用plutilして、plist の構文を確認できます。(これは、アプリケーションが plist に対して行ったことを理解するかどうかを検証しないことに注意してください...)

于 2008-11-02T18:36:03.543 に答える
0

plistには3つのタイプがあり、エスケープルールは使用しているタイプによって異なります。最も一般的な形式はXMLplistであり、特定のものをエスケープする必要があります。一般に、文字列要素内でXMLエスケープルールを使用できます。古いNextStepスタイルのplistを使用している場合は、エスケープする必要がはるかに少ないと思いますが、ルールが何であるかを確認するために詳細を調べる必要があります。3番目のタイプはバイナリです。CSSEditで編集していないと確信しています。

于 2008-11-02T06:05:50.500 に答える