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]

Responder a