XperimentoS

Experiencias Profesionales…

Archivo para Marzo 8th, 2007

Ajax o Flash?

Publicado por klave en Marzo 8th 2007

Antes de responder a esta pregunta que muchos se han hecho, es necesario hacer un poco de memoria y ver la evolucion de las aplicaciones en Intenet.

A partir del año 2000 a la gente se le empezó a quedar corto el HTML “plano”, y los creadores de páginas Web se ganaban el pan dedicando un buen porcentaje de su tiempo en pegarse con el Javascript y sus diferentes implementaciones. Pero entonces apareció Flash, con el que se podia hacer lo mismo que con JavaScript + HTML (Html Dinamico), pero de una forma más rápida y compatible con los diferentes navegadores.

Esto provocó dos cosas:

  • La gente se empezó a olvidar del JavaScript sobre todo por el tiempo de implementación que el desarrollador gastaba en añadir efectos visuales.
  • Entra en el mundo de la creación de las páginas web un nuevo perfil… el diseñador, con lo que el mundo de las Webs se hace un poco más rico.

Durante mas o menos tres años, fue creciendo el uso del Flash, en algunos casos de una forma elegante y funcional y otros casos creando Webs verdaderamente malas, lo que provocó que un grupo de personas renegaran de esta tecnología.

Fue una época en la que a mi entender bajó el nivel de las Webs desde un punto de calidad del desarrollo (webs poco optimizadas, sin accesibilidad, tiempos de respuesta mayores…) a favor de un aumento de calidad visual, un concepto de aplicaciones que Macromedia definió como RIA´s.

Lea el resto de esta entrada »

Publicado en AJAX, Lenguajes, Programación, Web 2.0 | 4 Comentarios »

XML Schema

Publicado por ildapena en Marzo 8th 2007

Es una W3C Recommendation que surge como sucesor del DTD (Document Type Definition) pero con mayor potencia descriptiva.
A diferencia del DTD, que tenía su propia sintaxis, los XMLSchema son documentos XML empleados para describir la estructura de otros documentos XML:

  • Qué elementos pueden formar parte de un documento XML.
  • Qué elementos hijo componen a esos elementos: orden y número.
  • Si un elemento está vacío o puede contener texto
  • Qué atributos pueden tener los elementos.
  • Qué posibles valores pueden tomar los atributos.

Permiten definir nuevos tipos de datos y soportan herencia entre tipos de datos. Asi es posible la reutilización de un xml-schema en otro.

Cabe distinguir entre documento valido y documento bien formado.

Un documento válido será aquel que cumpla el XMLSchema que lo define.

Y un documento bien formado es aquel que sigue las reglas de sintaxis XML:

  • debe empezar con la declaracion XML
  • debe tener un unico elemento raíz
  • Toda etiqueta tiene su correspondiente de cierre
  • Los elementos son sensibles a las mayusculas
  • Todos los elementos deben ser anidados correctamente
  • Todos los atributos deben llevar los valores entre comillas
  • Se definen entidades para los caracteres especiales

 El elemento Raíz es:
  <xs:schema> … </xs:schema>

Definición de un Elemento Simple
Es aquel que contiene sólo texto. No contiene a ningún otro elemento. Tampoco tiene atributos.

 <xs:element name=”xxx” type=”yyy” default=”zzz” /> (valor por defecto)
 <xs:element name=”xxx” type=”yyy” fixed=”zzz” />   (valor prefijado)

Entre los tipos predefinidos:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time
     

Definición de un Elemento Complejo
Son aquellos elementos que tiene atributos o se componen de otros elementos o son elementos vacíos (puede tener atributos) o son elementos que contienen solo texto

Definir un elemento complejo compuesto por otro elementos
Al introducir los atributos dentro de <sequence> obliga a ese orden.

<xs:element name=”person”>
  <xs:complexType>
    <xs:sequence>
      <xs:element name=”firstname” type=”xs:string”/>
      <xs:element name=”lastname” type=”xs:string”/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

De esta forma los atributos firstname y lastname se pueden aplicar a otros elementos.

<xs:element name=”employee” type=”personinfo”/>
<xs:complexType name=”personinfo”>
  <xs:sequence>
    <xs:element name=”firstname” type=”xs:string”/>
    <xs:element name=”lastname” type=”xs:string”/>
  </xs:sequence>
</xs:complexType>

Definir un elemento complejo compuesto por elementos vacíos (puede tener atributos).

<xs:element name=”product”>
  <xs:complexType>
    <xs:attribute name=”prodid” type=”xs:positiveInteger”/>
  </xs:complexType>
</xs:element>

Definir un elemento complejo compuesto contienen solo texto
Se define mediante un “simpleContent”. Para estos casos hay que definir una “extensión” o una “restricción”.

<xs:element name=”somename”>
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base=”basetype”>
        ….
        ….
      </xs:extension>    
    </xs:simpleContent>
  </xs:complexType>
</xs:element>

Definir un elemento complejo de contenido mixto (texto y otros elementos)
Para ello hay que usar el atributo mixed con valor true.

<xs:element name=”letter”>
  <xs:complexType mixed=”true”>
    <xs:sequence>
      <xs:element name=”name” type=”xs:string”/>
      <xs:element name=”orderid” type=”xs:positiveInteger”/>
      <xs:element name=”shipdate” type=”xs:date”/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

Declaración de atributos
Pueden tener un valor por defecto o prefijado (este no se puede modificar). Y pueden ser obligatorios u opcionales

  <xs:attribute name=”xxx” type=”yyy” default=”zzz” />
  <xs:attribute name=”xxx” type=”yyy” fixed=”zzz” />
  <xs:attribute name=”xxx” type=”yyy” use=”required” />

Definición de restricciones
También se conocen como facets. Las restricciones se usan para definir los valores aceptables de los elementos o atributos.

Indicadores
Establecen cómo deben aparecer o usarse los elementos definidos dentro del doc XML.

  • Indicadores de orden: establecen un orden de los elementos
    • All (cualquier orden y solo una ocurrencia)
    • Choice (o un hijo u otro)
    • Sequence (orden específico)
  • Indicadores de ocurrencia:
    • maxOccurs
    • minOccurs
  • Indicadores de grupo: define grupos de elementos
    • Group name: Se debe definir un etiqueta all, choice o sequence dentro de la etiqueta del grupo
    • attributeGroup name

Publicado en XML | 2 Comentarios »

Publicidad

 
Cerrar
Enviar por Correo