Pergunta

Em particular, estou editando o arquivo AutoCompletion.Plist para o CSSEDIT (se isso importa).

Minha pergunta é: há algum personagem com os elementos da string que precisam ser escapados? espaços? citações?

EDIT: Só para deixar claro, não estou usando o CSSEDIT para editar o arquivo - mas o arquivo faz parte do pacote CSSEDIT. Estou usando o TextMate para editar o arquivo (embora "Property List Editor.app" seja outra opção) e está no formato XML. Aqui está um snippet do arquivo 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...

Eu gostaria de adicionar strings com espaços e citações únicas, como:

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

Mas o CSSEDIT fica maldito quando eu edito o arquivo como tal

Foi útil?

Solução

Se você estiver editando um XML Plist usando algum tipo de editor de texto, precisará escapar de caracteres como em qualquer XML. Os personagens básicos a serem observados são:

<(menos que), escapado como <

> (maior que), escapado como>

& (ampersand), escapado como &

'(APOSTRAFE), escapado como'

"(Marca de citação), escapou como"

Então, no seu exemplo, você gostaria

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

Você também pode usar uma ferramenta como o editor de lista de propriedades da Apple, incluído com seus grátis Ferramentas de desenvolvedor Xcode, ou um produto de terceiros como Plistedit Pro, os quais cuidarão de todo o personagem que está escapando para você.

Outras dicas

Você pode usar plutil Para verificar a sintaxe de suas práticas. (Observe que isso não valida se o aplicativo entenderá o que você fez com o seu Plist ...)

Existem 3 tipos de príncias, e as regras de fuga dependem do tipo com o qual você está trabalhando. A forma mais comum são os prínculos XML, que exigem que certas coisas sejam escapes. Em geral, você pode usar as regras de escape XML dentro dos elementos da string. Se você estiver trabalhando com prínculos mais antigos no estilo Nextstep, acredito que muito menos precisa ser escape, mas eu precisaria procurar os detalhes para ter certeza de quais são as regras. O terceiro tipo é binário, estou bastante confiante de que você não está editando aqueles com o CSSEDIT.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top