4D v16.3

SVG SET ATTRIBUTE

Inicio

 
4D v16.3
SVG
SVG SET ATTRIBUTE

SVG SET ATTRIBUTE 


 

SVG SET ATTRIBUTE ( {* ;} objetoImagen ; id_Element ; nomAtrib ; valorAtrib {; nomAtrib2 ; valorAtrib2 ; ... ; nomAtribN ; valorAtribN} {; *}) 
Parámetro Tipo   Descripción
Operador in Si se especifica, objetoImagen es un nombre de objeto (cadena). Si se omite, objetoImagen es una variable o un campo
objetoImagen  Imagen in Nombre del objeto (si se especifica *) o variable o campo (si se omite *)
id_Element  Texto in ID del elemento donde uno o más atributos se definen
nomAtrib  Cadena in Atributo a definir
valorAtrib  Cadena, Entero largo in Nuevo valor del atributo
Operador in Si se pasa = modificar el árbol DOM interno de la imagen SVG (variable únicamente)

El comando SVG SET ATTRIBUTE se utiliza para modificar el valor de un atributo existente en el árbol de renderización SVG de una imagen mostrada o en el árbol DOM interno de una imagen.

Si pasa el parámetro opcional *, indica que el parámetro objetoImagen es un nombre de objeto (cadena). En este caso, el comando aplica a los parámetros de la imagen renderizada adjunta al objeto (tenga en cuenta que los parámetros y por lo tanto la imagen renderizada del objeto sólo se crean si el comando SVG SET ATTRIBUTE se llama al menos una vez).
Si no pasa el parámetro *, indica que el parámetro objetoImagen es una variable o un campo. Por lo tanto, se pasa una referencia de variable (variable objeto únicamente) o de campo en lugar de una cadena. En este caso, el comando aplica a las imágenes renderizadas de todos los objetos que utilizan la variable o el campo.

Por defecto, las modificaciones realizadas por este comando aplican únicamente a las imágenes renderizadas; no se almacenan en la fuente de datos (árbol DOM interno) y se pierden cuando la imagen se borra por programación o cuando se cierra el formulario.  Sin embargo, cuando transfiere esos cambios al árbol DOM interno de la imagen cuando el parámetro objetoImagen referencia a una variable: sólo necesita pasar un segundo * como parámetro final. Esto le permite conservar las modificaciones realizadas rápidamente.

Notas:

  • Transferir modificaciones en el árbol DOM interno no es posible cuando el parámetro objetoImagen referencia a un objeto.
  • Para poder transferir las modificaciones, la variable SVG debe haber sido creada a partir de un documento DOM (con DOM EXPORT TO VAR). Si la variable SVG fue creada a partir de un archivo, cuando pase el segundo parámetro *, el comando no hace nada y se genera un error porque, en este caso, la fuente de datos no contiene un documento DOM modificable.
  • Para modificar la fuente de datos de una imagen SVG, puede también utilizar los comandos XML DOM o el componente MissingRef de 4D.
El parámetro id_Element se utiliza para definir el identificador (atributo "id" o "xml: id") del elemento cuyo(s) atributo(s) desea modificar.

En los parámetro nomAtrib y valorAtrib, pase respectivamente, el atributo a escribir y su valor (como variables, campos o valores literales). Puede pasar tantos pares de atributos/valores como quiera.

El comando SVG SET ATTRIBUTE se utiliza para modificar (pero no para añadir o eliminar) la mayoría de los atributos SVG, como por ejemplo, 'fill', 'opacity', 'font-family', etc. Para una definición completa de los atributos SVG, consulte los documentos de referencia disponibles en la Internet, por ejemplo: http://www.w3.org/TR/SVG11/attindex.html. La imagen renderizada se actualiza inmediatamente, las modificaciones se transfieren a los elementos hijos para los estilos heredados.

Tenga en cuenta que por razones técnicas, los atributos de ciertos elementos, así como ciertos atributos no pueden modificarse. La siguiente tabla muestra los elementos modificables y no modificables, así como los atributos no modificables:

Elementos cuyos atributos son modificables
svgRestricciones:
- "width" y "height" no son modificables (1)
- "viewBox" sólo puede modificarse si "width" y "height" se especifican en el documento original
g
defs
use
filterRestricción: los elementos hijos fe_xxx child no son modificables
circle
ellipse
line
polyline
polygon
path
rect
text, tspan, textAreaEl atributo especifico "4d-text" se utiliza para modificar el texto de un elemento "text", "tspan" o "textArea" (ver el ejemplo)
Image


Elementos cuyos atributos no pueden modificarse
linearGradient, radialGradient, Stop, solidColor, marker, symbol, clipPath, filter y los elementos que comienzan por fe, style, patternEste grupo designa todos los elementos referenciables o contenidos en un elemento referenciable. Esto significa que no es posible, por ejemplo, redefinir los atributos de un gradiente (pero es posible cambiar el gradiente utilizado). Del mismo modo, para cambiar un marcador de color negro por un marcador rojo, es necesario definir ambos marcadores en el documento SVG (uno negro y uno rojo) y seleccionar uno de ellos. No es posible por ejemplo modificar el color de un rectángulo si su padre es un elemento símbolo o marcador[# / table]
Atributos no modificables
[#table]id o xml:id
lang o xml:lang
class o xml:class
width, heightConcierne los atributos del elemento 'svg' únicamente (1)


(1) Estos atributos no pueden modificarse porque definen y estructuran la imagen resultante. Los atributos de width y height del elemento svg se utilizan para definir las dimensiones iniciales de la imagen en 4D y estas dimensiones debe permanecer constantes después de la creación  de la imagen (sin embargo es posible modificar las dimensiones de la imagen resultante con el comando TRANSFORM PICTURE de 4D).

Consulte también la descripción del comando SVG GET ATTRIBUTE para ver la lista de los atributos 4D reservados y dedicados a la animación.

Si intenta modificar el atributo de un elemento que no es compatible o uno de sus elementos hijos, el comando no hace nada y no se genera error.

Si el comando no se ejecuta en el contexto de un formulario o si se pasa un objetoImagen inválido, la variable OK toma el valor 0. Si el comando se ha ejecutado correctamente, toma el valor 1.

Ejemplo  

Modificación del contenido de un elemento de tipo texto:

 SVG SET ATTRIBUTE(*;picture_object_name;text_element_ID;"4d-text";"Este es un texto")

Nota: no hay no namespace para que el atributo pueda utilizarse en una hoja de estilo CSS sin riesgo de conflicto.



Ver también 

SVG GET ATTRIBUTE

 
PROPIEDADES 

Producto: 4D
Tema: SVG
Número 1055

Este comando modifica la variable sistema OK

 
HISTORIA 

Creado por: 4D v12
Modificado: 4D v12.3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)