Hola Luis,
On Friday 16 October 2009, 03:26:48, Luis Iglesias wrote:
> >> Por otro lado sí que tengo interés en aprender un poco más sobre las
> >> extensiones, porque me interesaría instalar unos modelos de etiquetas en
> >> los equipos. Lo que estoy haciendo con un script es copiar el nuevo
> >> archivo Labels.xcu en la carpeta correspondiente del HOME del usuario.
> >> El único problema que tiene esto es que se podrían perder las etiquetas
> >> que tuviera definidas previamente el usuario. No sé si con las
> >> extensiones se pueden manipular archivos xml como el Labels.xcu o
> >> también habría que programar. Si puedes ayudarme con esto cambiamos el
> >> asunto del post.
> >
> > ¿Cómo te ha ido con el Labels.xcu?
>
> Pues creo que ya tengo el tema controlado. Hay que tener cuidado porque
> si ya existen etiquetas de ese fabricante entonces no aparecen las que
> trae la extensión. Es decir, en la configuración de usuario yo ya tenía
> un Labels.xcu con alguna etiqueta definida de ese "manufacturer". Si la
> extensión tiene etiquetas con el mismo "manufacturer" entonces éstas no
> se ven en la lista de modelos de etiquetas de OOo.
esto puede controlarse ajustando ciertas propiedades en el archivo de
configuración.
Ejemplos:
* para *reemplazar* un "Manufacturer" (por ejemplo, si empleas tu propio
nombre personalizado de Manufacturer [recomendable] y deseas actualizar
globalmente la configuración de tus propias etiquetas)
En este caso empleamos el atributo oor:op="replace" que significa reemplazar el
nodo del registro de configuración
<node oor:name="OpenOffice.org Labels Extension Demo" oor:op="replace">
<node oor:name="Label00" oor:op="replace" oor:finalized="true">
<prop oor:name="Name" oor:type="xs:string">
<value xml:lang="en-US">Demo Extension 1</value>
</prop>
<prop oor:name="Measure" oor:type="xs:string">
<value>S;10599;9999;9999;9999;499;400;1;1</value>
</prop>
</node>
</node>
* para *agregar* etiquetas a un manufacterer ya existente, en vez de
oor:op="replace" debes emplear oor:op="fuse" que significa fusionar con el
nodo ya existente
<node oor:name="Avery A4" oor:op="fuse">
<node oor:name="Label00" oor:op="replace" oor:finalized="true">
<prop oor:name="Name" oor:type="xs:string">
<value xml:lang="en-US">Demo Extension 1</value>
</prop>
<prop oor:name="Measure" oor:type="xs:string">
<value>S;10599;9999;9999;9999;499;400;1;1</value>
</prop>
</node>
</node>
Al fusionar debes tener el cuidado de que no exista una que ya tenga el mismo
nombre interno.
En el ejemplo de arriba
<node oor:name="Avery A4" oor:op="fuse">
dice *fusionar* (es decir *no* reemplazar) las etiquetas que se definen a
continuación dentro del nodo del manufacterer "Avery A4"
<node oor:name="Label00" oor:op="replace" oor:finalized="true">
"Label00" es el nombre interno de la etiqueta. Lo mejor es que sea algo
personalizado. No obstante, nos aseguramos que si llega a existir una con el
mismo nombre, la reemplace, mediante oor:op="replace"
Y oor:finalized="true" significa que no queremos que el usuario pueda
modificarla.
<prop oor:name="Name" oor:type="xs:string">
<value xml:lang="en-US">Demo Extension 1</value>
</prop>
es el nombre de la etiqueta que aparece en la interfaz gráfica; y puede ser
localizado
<value xml:lang="en-US">Demo Extension 1</value>
<value xml:lang="es-AR">Mi etiqueta de prueba</value>
Recuerda siempre guardar en codificación UTF-8, sobre todo si le pones acentos
o ñ.
He actualizado la extensión de prueba para incluir un "fuse"
http://arielch.fedorapeople.org/devel/OOoLabelsExtensionDemo.oxt
Saludos
--
Ariel Constenla-Haile
La Plata, Argentina
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]