Pregunta

En particular, estoy editando el archivo AutoCompletion.plist para CSSEdit (si eso incluso importa).

Mi pregunta es, ¿hay algún carácter dentro de los elementos de STRING que deba escaparse? espacios? comillas?

EDITAR: Para ser claros, no estoy usando CSSEdit para editar el archivo, sino que el archivo es parte del paquete CSSEdit. Estoy usando TextMate para editar el archivo (aunque & Quot; Property List Editor.app & Quot; es otra opción) y está en formato XML. Aquí hay un fragmento del archivo 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...

Me gustaría agregar STRINGs con espacios y comillas simples como:

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

Pero CSSEdit se vuelve loco cuando edito el archivo como tal

¿Fue útil?

Solución

Si está editando un plist XML utilizando un editor de texto de algún tipo, necesitará escapar caracteres como en cualquier XML. Los caracteres básicos a tener en cuenta son:

< (menor que), escapó como & amp; lt;

> (mayor que), escapó como & amp; gt;

& amplificador; (ampersand), escapó como & amp; amp;

'(apostraphe), escapó como & amp; apos;

" (comilla), escapó como & amp; quot;

Entonces, en tu ejemplo, querrías

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

También puede usar una herramienta como el Editor de listas de propiedades de Apple, que se incluye con su Xcode gratuito herramientas de desarrollo , o un producto de terceros como PlistEdit Pro , los cuales se encargarán de todo el personaje escapa por ti.

Otros consejos

Puede usar plutil para verificar la sintaxis de sus listas. (Tenga en cuenta que esto no validará si la aplicación comprenderá lo que ha hecho hasta el final ...)

Hay 3 tipos de listas, y las reglas de escape dependen del tipo con el que esté trabajando. La forma más común son las listas XML, que requieren que se escapen ciertas cosas. En general, puede usar reglas de escape XML dentro de los elementos de cadena. Si está trabajando con listas de estilo anteriores de NextStep, creo que es mucho menos lo que se debe escapar, pero necesitaría buscar los detalles para estar seguro de cuáles son las reglas. El tercer tipo es binario, estoy bastante seguro de que no está editando aquellos con CSSEdit.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top