====== wcaval ====== ===== Tipo ===== * Package ===== Descripción ===== **wcaval** (//Waine Custom Attribute-VAlue//) es un componente complejo que proporciona tablas, formularios y widgets. El objeto de este paquete es dotar de campos configurables, definibles por el administrador, a las entidades que se desee en una aplicación. Estos campos permiten ciertas validaciones basadas en expresiones regulares y código //javascript//. ===== Funcionalides ===== El paquete ''wcaval'' ofrece las siguientes funcionalidades: * **Modelo de datos** En el siguiente Diagrama Entidad-Relación se resume el modelo de datos que wcaval crea para cada entidad que necesita de campos configurables: {{ waine:package:wcaval_erd.png |}} * ''wcaval_RegExp'': Tipos y sus expresiones regulares. * ''_wcaval_attr'': Atributos definidos para los distintos tipos de entidades. Existirá una tabla de nombre //Entity_type_wcaval_attr// vinculada a las tablas que recogen los distintos tipos de entidades. * ''_wcaval_value'': Valores asociados a la entidad entity. Existirá una tabla de nombre //Entity_wcaval_value// vinculada a cada tabla que almacena entidades. * ''_wcaval_atval'': Vista que devuelve pares campo-valor para cada objeto. Existe una vista por cada tabla que almacena entidades con campos personalizados. * ''_wcaval_linear(pk integer, sep boolean, begs varchar, ends varchar, br varchar, er varchar, bas varchar, eas varchar, aq varchar, bvs varchar, evs varchar, vq varchar)'': funcion que lineariza las tuplas campo-valor de una entidad. Los parámetros necesarios para invocar a la función son: * ''pk'': identificador del objeto cuyos campos se desean linearizar * ''sep'': Indica si el último campo lleva o no finalizador * ''begs'': cadena de inicio * ''ends'': cadena de finalización * ''br'': cadena de inicio de fila * ''er'': cadena de fin de fila * ''bas'': cadena de inicio de atributo * ''eas'': cadena de fin de atributo * ''aq'': comillas a emplear en el atributo * ''bvs'': cadena de inicio de valor * ''evs'': vadena de fin de valor * ''vq'': comillas a usar con el valor * **Unidades de interacción y formularios** * ''wcaval.struct.regexp'': Unidad de interacción utilizada para la definición de tipos de datos y expresiones regulares. {{ waine:package:wcaval_fui_regexp.png?640 |}} * ''wcaval.form.attr'': Formulario empleado para definir los campos personalizables de un tipo de objeto. {{ waine:package:wcaval_fui_attr.png?640 |}} * ''wcaval.form.value'': Formulario empleado para asignar valores de los campos personalizables de un objeto. {{ waine:package:wcaval_fui_value.png?640 |}} * **Widgets**. wcaval define un par de widgets trabajan colaborativamente en el formulario ''wcaval.form.value'' para la validación de los valores de los campos introducidos: * ''wcaval.Attr'' * ''wcaval.Value'' ===== Ejemplos ===== * Unidad de interacción para definir atributos para tipos de entidades (tabla Entity_type) * Unidad de interacción que permite la asignación de valores a los campos de una entidad. * Ejemplos de uso de la función ''Entity_wcaval_linear'' * HTML: SELECT Entity_wcaval_linear(1,f,'','
','','','','','','','','');
BrandHP
ModelPavilion 15-BC450
Price645.23
CPUIntel Core i5 8300H / 2.3 GHz
RAM size8
RAM typeDDR4
Hard DiskSDD
HD size1024
* XML :SELECT Entity_wcaval_linear(1,f,'','','','','','','','','',''); BrandHPModelPavilion 15-BC450Price645.23CPUIntel Core i5 8300H / 2.3 GHzRAM size8RAM typeDDR4Hard DiskSDDHD size1024 * CSV : SELECT Entity_wcaval_linear(1,t,'','','','','',';','\'','',';','\''); 'Brand';'HP';'Model';'Pavilion 15-BC450';'Price';'645.23';'CPU';'Intel Core i5 8300H / 2.3 GHz';'RAM size';'8';'RAM type';'DDR4';'Hard Disk';'SDD';'HD size';'1024' * JSON: SELECT Entity_wcaval_linear(1,t,'{','}','','','',':','"','',',','"'); {"Brand":"HP","Model":"Pavilion 15-BC450","Price":"645.23","CPU":"Intel Core i5 8300H / 2.3 GHz","RAM size":"8","RAM type":"DDR4","Hard Disk":"SDD","HD size":"1024"} * TEXT: SELECT Entity_wcaval_linear(1,f,'','','',E'\n','- ',': ','','','',''); - Brand: HP - Model: Pavilion 15-BC450 - Price: 645.23 - CPU: Intel Core i5 8300H / 2.3 GHz - RAM size: 8 - RAM type: DDR4 - Hard Disk: SDD - HD size: 1024 ===== Notas =====