Translate

viernes, 7 de junio de 2013

4.1. Características del lenguaje


Comenzamos explicando los comentarios, las secciones CData, los elementos y las referencias a entidades de un documento XML.


Comentarios 


Los comentarios en los documentos XML empiezan por <!-- y acaban por -->. 
Pueden contener cualquier cadena de texto excepto el literal --. 
Pueden colocarse en cualquier parte del documento. 
Ej: 
   <!-- Esto es comentario <ñññññ-d#dd --> 

Secciones CData 

Le indican al parser que ignore todos los caracteres de marcas que se encuentren en el interior de esta/s sección/es. (ed, son como comentarios a lo bestia) 
Son muy útiles cuando queremos (x ej. a modo de tutorial) visualizar código XML como parte del texto. 
Todos los caracteres que existan entre son pasados directamente a la aplicación sin interpretación. 
El único literal q no puede ser utilizado dentro de la sección es, lógicamente, el ]]>. 

Ej. 

<![CDATA[    <!ENTITY amp "&"> <!-- &= ampersand --> 
    <CODIGO> 
       *p=&q->campo; 
      a=(x<y)?33:44; 
    </CODIGO> 
]]> 

Elementos 

Son las etiquetas más frecuentemente utilizadas dentro de un documento XML. 
Están delimitadas por los símbolos < y >, sintaxis de todos conocida, puesto q era la usada en HTML. 
Si el contenido de la etiqueta es vacío (al igual q <BR> ó <IMG> en HTML), entonces se delimitan por los símbolos < y />. 
Las etiquetas de apertura (las que empiezan por >) pueden incluir atributos, los cuales son pares nombre/valor al estilo color="verde". (x ej, en HTML <font color="green">). 
OJO!! En XML los atributos siempre deben ir encerrados entre comillas dobles. 

Ejs: 

<nombre id="surname">Perez</nombre> 
<vacia color="verde"/> 

Referencias a entidades 

Las entidades(entity) se usan en XML básicamente como representación alternativa de los caracteres especiales (como por ejemplo las comillas dobles ó la marca de apertura en un elemento), aunque también pueden emplearse para incluir el contenido de otros documentos ó para hacer referencia a trozos de texto repetitivos. 

Sintaxis: &xxx;     donde xxx es el nombre de la entidad, y , &xxx; es la manera de referirse a la entidad. 

Ej: &eacute; ----> Representa al símbolo é. 

Existe una referencia a entidades "especial", denominada referencia a caracteres. 
Ésta se usa para representar caracteres que no pueden ser escritos desde el teclado. 
No tienen un nombre de cadena (como eacute x ej) sino q su nombre es, ó un nº decimal, ó un nº hexadecimal. 

Ej: &#38; <!-- Ampersand --> 

Tambien se pueden crear constantes (ó macros) para que no nos tengamos q acordar de los numeross. 
Para ello usamos la definición "real" de entidad: 
Ej: 

<!ENTITY amp "&#38;"&gt; 
Para referenciarlo: &amp;


Tiene una sintaxis extremadamente sencilla.

Dicen que el XML es un 10% del SGML y de verdad lo es, porque en realidad las normas que tiene son muy simples. Se escribe en un documento de texto ASCII, igual que el HTML y en la cabecera del documento se tiene que poner el texto
<?xml version="1.0"?>
En el resto del documento se deben escribir etiquetas como las de HTML, las etiquetas que nosotros queramos, por eso el lenguaje se llama XML, lenguaje de etiquetas extendido. Las etiquetas se escriben anidas, unas dentro de otras.
<ETIQ1>...<ETIQ2>...</ETIQ2>...</ETIQ1>
Cualquier etiqueta puede tener atributos. Le podemos poner los atributos que queramos.
<ETIQ atributo1="valor1" atributo2="valor2"...>
Los comentarios de XML se escriben igual que los de HTML.
<!-- Comentario -->
Y esto es todo lo que es el lenguaje XML en si, aunque tenemos que tener en cuenta que el XML tiene muchos otros lenguajes y tecnologías trabajando alrededor de él. Sin embargo, no cabe duda que la sintaxis XML es realmente reducida y sencilla.

Para definir qué etiquetas y atributos debemos utilizar al escribir en XML tenemos que fijarnos en la manera de guardar la información de una forma estructurada y ordenada. Por ejemplo, si deseamos guardar la información relacionada con una película en un documento XML podríamos utilizar un esquema con las siguientes etiquetas. 


<?xml version="1.0"?> 
<PELICULA nombre="El Padrino" año=1985> 
<PERSONAL> 
</DIRECTOR nombre="Georgie Lucar"> 
</INTERPRETE nombre="Marlon Brando" interpreta-a="Don Corleone"> 
</INTERPRETE nombre="Al Pacino" interpreta-a="Michael Corleone"> 
</PERSONAL> 
</ARGUMENTO descripción="Pelicula de mafias sicilianas en Estados Unidos"> 
</PELICULA> 


Como podéis ver, nos hemos inventado las etiquetas que nos venían en gana para poner este ejemplo y las hemos anidado de manera que la etiqueta más grande es la PELICULA y dentro de ella tenemos el PRESONAL y el ARGUMENTO. A su vez, dentro de PERSONAL tenemos tanto al DIRECTOR como a los actores (INTERPRETE).

4.2. Lenguaje de Marcado Generalizado

El lenguaje de marcado (markup language), también denominado lenguaje de anotaciones o de etiquetas, se define como un conjunto de reglas para estructurar y dar formato a un documento electrónico. Suelen utilizar etiquetas para definir el inicio y el final de un elemento: un párrafo, un título, un elemento subrayado, etc. Los lenguajes de marcas más utilizados son HTML y XML, ambos basados en el metalenguaje SGML (standard generalized markup language). Un lenguaje de marcado cumple con dos objetivos esenciales para diseñar y procesar un documento digital: 1. Separa un texto en los elementos en los que se compone, como por ejemplo un párrafo, un capítulo, etc. 2. Especifica las operaciones tipográficas y funciones que debe ejecutar el programa visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital, por ejemplo, imprimir un título en itálicas. SGML y HTML HTML (hypertext markup language) es el lenguaje estándar utilizado en la Web para representar la información intercambiada por sus usuarios en forma de documentos de hipertexto. Podríamos definir este lenguaje como un documento ASCII con una serie de etiquetas que indican al navegador cómo interpretar y dar formato al texto que las acompaña. También podríamos crear documentos en cualquier formato, y utilizar tanto el protocolo http para moverlos por la red como los URL para localizarlos; pero la razón por la que se utilizan documentos formateados en HTML es porque éste es un estándar y otros formatos no. De este modo, cualquier navegador o browser que use las normas estándar de visualización de documentos Web podrá leer o interpretar perfectamente el HTML. Está basado en el metalenguaje SGML (Standard Generalized Mark-up Language, ISO 8879:1986), un estándar para la descripción de documentos. La gramática HTML está escrita en SGML, en un documento denominado DTD (Document Type Definition) . Es un lenguaje orientado a la definición de la estructura y la semántica del documento más que a su representación física concreta. Nace en 1991 junto al WWW, en el CERN, de la mano de Tim Berners-Lee, y hoy es desarrollado por el W3 Consortium (creado a finales de 1994), con la participación de empresas privadas. El método de marcado de cada elemento y de las etiquetas iniciales y finales es impuesto por SGML. En cuanto a la estructura del documento HTML, las páginas HTML se basan en el uso de marcas o etiquetas (tags) que indican el comienzo y el final de los elementos que componen el documento. Cada uno de estos elementos tiene un significado estructural diferente. Por ejemplo, el elemento
contiene un párrafo de texto, o el elemento

4.3. Lenguaje Extensible de Marcado de Hipertexto.

Los lenguajes de marcas, también denominados lenguajes de marcado o lenguajes de descripción de documentos, construyen un conjunto de reglas que definen todo aquello que es parte de un documento digital, pero que no pertenece al texto del mismo. Los lenguajes de marcas no son lenguajes de formato similares a los lenguajes que se usan en Internet como los de descripción de páginas (archivos PostScript, archivos .pdf, etc.) ni son lenguajes de programación (Java, Perl, C++...), sino que se trata de lenguajes orientados a definir la estructura y la semántica de un documento. En realidad, más que de lenguajes, podríamos hablar de metalenguajes o sistemas formales mediante los cuales se añade información o codificación a la forma digital de un documento bien para controlar su procesamiento, bien para representar su significado. En un documento existen distintos niveles de información: por un lado, los datos que conforman el contenido de un documento (caracteres de contenido), y por otro, una información superpuesta al contenido, que es lo que constituye el etiquetado, marcado o "markup" (caracteres de etiquetado). Un lenguaje de marcado cumple con dos objetivos esenciales a la hora de diseñar y procesar un documento digital : • Especifica las operaciones tipográficas y las funciones que debe ejecutar el programa navegador/visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital como, por ejemplo, imprimir un título en negrita y a un determinado tamaño. • Separa un texto en los elementos de los que se compone, como por ejemplo un párrafo, un capítulo, un encabezamiento, etc. Así, pues, hay 2 tipos de marcación: • específica: describe cómo ha de formatearse el documento: fuente, tamaño, color, etc. • estructural: describe la estructura del documento: titular, párrafo, etc. En general los lenguajes de marcado siguen una sintaxis basada en el uso de marcas o etiquetas: una etiqueta que indica el principio de un elemento y otra el final del mismo. Por regla general, la mayor parte de autores distinguen 2 tipos básicos de lenguajes de marcado: • Lenguaje de marcado de procedimiento o procesado: Las anotaciones o marcas de los lenguajes de procedimiento describen la forma y el significado de las operaciones tipográficas que van a ser aplicadas a cada uno de los elementos del documento. Por ejemplo, una regla de un lenguaje de procedimiento indicaría que el título de la sección de un texto debe ser impreso en una sola línea con una fuente de seis puntos más grande que el resto del texto, con objeto de que los lectores puedan inferir que es el título. Se refiere, pues, a la apariencia física o formato (fuente, estilo de letra, tamaño, etc.) tanto del documento en pantalla como del documento impreso. • Lenguaje de marcado estructural o descriptivo: En los lenguajes estructurales las marcas o anotaciones únicamente describen la estructura lógica del documento digital y/o la descripción del contenido, no su tipografía. Aunque lo cierto es que existen 3 utilizaciones básicas de los lenguajes de marcas: los que sirven principalmente para describir el contenido (por ejemplo, las bases de datos), los que sirven para definir el formato (por ejemplo, los procesadores de textos) y los que realizan las dos funciones indistintamente (por ejemplo, el lenguaje HTML). ¿Cómo surgen los lenguajes de marcado? Dada la gran variedad de formatos existentes a la hora de archivar documentos y de los problemas que se planteaban cuando se intercambiaban archivos con las consiguientes pérdidas de formato y otras características, todos estos problemas se intentaron solucionar editando los textos en código ASCII (American Standard Code for Information Interchange) el código de 7 bits que puede representar un máximo de 128 caracteres, muchos de ellos no imprimibles. Sin embargo, con la utilización de este código, no se podía definir el formato de un texto (por ejemplo, el uso de negrita o cursiva, o el uso de tipos de letra más grandes para los encabezamientos), ni se podían definir otras características relativas a la posición del texto, por lo que se intentó buscar un sistema de marcas con las que se pudieran determinar éstas y otras particularidades. Se acordó, pues, que las marcas deberían constar de unos caracteres ASCII especialmente reservados para ello y que deberían seguirse unas reglas sintácticas especiales. Así nació un lenguaje especial normalizado internacional para la formulación de este tipo de reglas llamado Standard Generalized Markup Language o SGML. SGML no es pues, un lenguaje en sí mismo, sino un metalenguaje y de él se deriva el lenguaje HTML o lenguaje de marcas de hipertexto, y otros muchos lenguajes. SGML SGML (Standard Generalized Markup Language) o Lenguaje de Etiquetado Generalizado Estándar es una norma ISO que permite que la estructura de un documento pueda ser definida en base a la relación lógica de sus partes. Esta estructura puede ser validada por una Definición de Tipo de Documento (DTD - Document Type Definition). La norma SGML define la sintaxis del documento y la sintaxis y semántica de DTD. En 1969 IBM ideó el lenguaje GML o Generalized Markup Language con el objetivo de crear un sistema general que permitiera la compatibilidad entre los documentos. En 1978, el Instituto Nacional Americano de Normalización (ANSI) comenzó a trabajar en las especificaciones para los procesadores de textos y el resultado fue el lenguaje SGML, que se convirtió en la Norma ISO 8879 en 1986. En SGML, el marcado de un fragmento de texto se realiza a través de las etiquetas o marcas (tag). Estas marcas se diferencian del propio texto porque aparecen entre paréntesis angulares < > en caracteres ASCII que, por tanto, se convierten en signos reservados para la sintaxis SGML.) Una pareja de marcas o etiquetas encierran el texto al que afectan. Veamos un ejemplo:
En este texto, algunas palabras aparecen en negrita, otras en cursiva y otras en negrita y cursivaque daría el siguiente resultado: En este texto, algunas palabras aparecen en negrita, otras en cursiva y otras en negrita y cursiva Con la sintaxis del lenguaje SGML se pretende poder identificar la estructura lógica de un documento a través de estas marcas. Las etiquetas marcan los distintos elementos de un texto, como por ejemplo, los encabezamientos o los párrafos, representando de la misma forma los elementos de la misma categoría. La presentación final de estos elementos viene determinada por las especificaciones de estilo especiales. La función principal del SGML es describir los tipos de documentos de forma que puedan determinarse mediante marcas las particularidades de cada tipo, en lo que se refiere a su estructura y a su visualización en pantalla y con una sintaxis única para definir las distintas partes del texto. Esto se realiza definiendo todas las etiquetas válidas para cada tipo de documento, incluyendo también las reglas relativas a la estructura lógica. Con estas reglas se puede exigir, por ejemplo, que un texto que debe asignarse a un tipo de documento definido se inicie generalmente con un encabezamiento, pero nunca que acabe con un encabezamiento. Una definición del tipo de documento o DTD (Document Type Definition) se guarda en un archivo especial con una extensión .dtd. Consta de una sucesión de comandos SGML enmarcados por los signos "<" y "", estos comandos son, fundamentalmente, ELEMENT, ENTITY y ATTLIST. El comando ELEMENT sirve para definir una etiqueta, ENTITY para indicar ciertos elementos del texto en forma de sucesiones de caracteres ASCII y para utilizar dentro del texto los caracteres reservados para la sintaxis de SGML, como los signos “menor que” o “mayor que”. El comando ATTLIST permite establecer atributos complementarios para determinados elementos concretos. Todos los atributos pertenecientes a un elemento se resumen aquí en una sola lista en la que se establecen los nombres de los atributos, así como los valores autorizados de cada atributo. Otro concepto importante dentro del SGML y del DTD es el de secciones marcadas. Una sección marcada se inicia con la secuencia de caracteres " que marcan los anclajes o anclas utilizados para establecer un enlace con texto o gráficos de otros documentos. La directiva ancla debe incluir el parámetro href="URL" para apuntar a la dirección o URL y el texto para pulsar. En cuanto a los gráficos, se pueden insertar mediante la directiva IMG con el parámetro src="URL". Pero no existe compatibilidad entre los distintos formatos gráficos, el más extendido es el GIF, aunque existen otros muchos. En cualquier caso, para dotar al documento de una mayor accesibilidad, se puede añadir el parámetro alt="texto sustitutivo" por si el gráfico no puede ser visualizado. También podemos hacer que un gráfico se convierta en enlace. Por último, los caracteres reservados, como los signos < >, las vocales acentuadas o la ñ, pueden ser utilizados dentro del texto del documento mediante la sustitución de estos signos por una cadena de caracteres. Es cierto que la mayor parte de los navegadores admiten la escritura directa de los signos en cuestión dentro del documento, pero en otro tipo de programas, como en los de correo electrónico, pueden surgir problemas, por lo que se precisa un pequeño programa de conversión. Existe un lenguaje HTML dinámico llamado DHTML (Dinamic HyperText Markup Language) que ha creado nuevas etiquetas para el lenguaje HTML con nuevas opciones de estilo y programación que permiten webs con animaciones y una mayor interactividad. En realidad no se trata de un nuevo lenguaje, sino de nuevas posibilidades que pueden integrarse en las páginas web construidas con HTML. En conjunción con HTML, se han desarrollado las llamadas Hojas de estilo (Style Sheets). Una hoja de estilo es una colección de reglas que afecta a la apariencia de un documento. Actualmente el tipo más común de hoja de estilo es la llamada Hoja de estilo en cascada (Cascading Style Sheets ó CSS). Estas normas se refieren al modo en que aparecerá un documento en pantalla cuando el usuario utilice un navegador gráfico, controlando por ejemplo el color, el fondo, tipo de fuente, apariencia del borde, márgenes, alineación, espacio entre caracteres, etc. Las últimas versiones de HTML como HTML 4.0 han desplazado muchas de las funciones realizadas por las anteriores versiones hacia las hojas de estilo, reservando el lenguaje HTML para cuestiones menos formales, relativas a la propia organización del contenido. XML XML o eXtensible Markup Language, es un lenguaje de marcado derivado del lenguaje SGML que proporciona una sintaxis superficial para documentos estructurados, pero que no impone restricciones semánticas sobre el significado de los mismos. XML permite suministrar, recibir y procesar información en la Web y puede interoperar tanto con SGML como con HTML. XML es un estándar desarrollado por el Consorcio World Wide Web (W3C). Se trata de una versión reducida y especializada en la Web de la norma SGML. Su caracterización como "extensible" se deriva de la no limitación en el número de marcas o etiquetas, pues permite crear todas aquéllas que sean necesarias. Otra de sus características principales es que permite enlaces multidireccionales (esto es, que apuntan a varios documentos). XML no es una nueva versión de HTML y, aunque ambos proceden de un mismo metalenguaje, el SGML, el origen y enfoque que se ha seguido en ambos es muy distinto. HTML no es un lenguaje de programación, es un lenguaje de especificación de contenidos para un tipo específico de documentos SGML. Es decir, mediante HTML podemos especificar, usando un conjunto de marcas o etiquetas, cómo va a representarse la información en un navegador. El lenguaje HTML permite insertar menús, tablas, imágenes o bases de datos en los documentos, pero no permite al usuario que maneje estos elementos como mejor le convenga. Esa es la gran novedad que aporta XML. XML conserva todas las propiedades importantes de SGML. Es decir, XML es también un metalenguaje, dado que con él podemos definir nuestro propio lenguaje de presentación y, a diferencia del HTML, que se centra en la representación en la pantalla de la información, XML se centra en la información en sí misma. El objetivo del desarrollo del XML es ser un estándar que sustituya a todo el conjunto de tecnologías que permiten hoy acceder a información a través del Web (applets, scripts,…).

4.4. Definición de Tipo de Documento

El propósito de la norma DTD, o definición del tipo de documento, es definir los elementos constituyentes de un documento en XML. Define la estructura del documento con una lista de elementos establecidos. Las ventajas de la DTD son muchas, permite que: todos los archivos XML tengan una descripción de su propio formato; distintos grupos de personas puedan ponerse de acuerdo para utilizar una DTD común para intercambiar datos; el programa en uso utilice una norma DTD para verificar que los datos que se reciben del mundo externo sean válidos; y también se puede usar la norma DTD para verificar los datos propios. Es esencial que la estructura de los documentos que se producen en XML coincida exactamente con la estructura prevista en la DTD. La actividad más importante que se realiza en este contexto es el mapeo del esquema de la base local de datos a un esquema XML de la DT

4.5 xsl ycss

Sin duda es una tarea bastante ardua y coñazo, generar el XML Schema con el cual validar un XML. Aunque uses un buen editor, siempre te costará tiempo y esfuerzo hacerlo. Hay muchos software por la red que hace lo que pedimos, de un XML genere XSD con el cual poder validar al XML. Hay opciones de pago, como Oxygen XML Editor (de pago), o el Altova XMLSpy (de pago), que son básicamente editores de XML que te permiten generar el XSD. Incluso una solución que viene integrada con el las librerias de .NET v2.0 (xsd.exe solo tienes que buscarlo por tu ordenador, y casi seguro que lo tienes). ¿Qué problema tenían?. Los XSD que generaban son muy complejos, quizás lo suficiente para que un novato como yo, no tengo ni puta idea de como hacer pequeñas modificaciones siguiendo algún manual de XML Schema. La herramienta Definición de esquemas XML (Xsd.exe) genera clases de esquemas XML o de Common Language Runtime a partir de archivos XDR, XML y XSD, o a partir de clases de un ensamblado de motor en tiempo de ejecución. Especifica el archivo de entrada que se desea convertir. La extensión debe ser alguna de las siguientes: .xdr, .xml, .xsd, .dll o .exe. Si se especifica un archivo de esquema XDR (extensión .xdr), Xsd.exe convierte el esquema XDR en un esquema XSD. El archivo de resultados tiene el mismo nombre que el del esquema XDR, pero con la extensión .xsd. Si se especifica un archivo XML (extensión .xml), Xsd.exe deduce, por los datos del archivo, que se trata de un esquema y genera un esquema XSD. El archivo de resultados tiene el mismo nombre que el archivo XML, pero con la extensión .xsd. Si se especifica un archivo de esquema XML (extensión .xsd), Xsd.exe genera código fuente para objetos de motor en tiempo de ejecución que corresponden al esquema XML. Si se especifica un archivo de ensamblado de motor en tiempo de ejecución (extensión .exe o .dll), Xsd.exe genera esquemas para uno o más tipos de ese ensamblado. Se puede utilizar la opción /type para especificar los tipos para los que se generan esquemas. Los esquemas de salida se denominan schema0.xsd, schema1.xsd, etc. Xsd.exe genera varios esquemas sólo si los tipos dados especifican un espacio de nombres utilizando el atributo personalizado XMLRoot. Así que tras buscar mucho por internet, me he encontrado esta sencilla web, donde les mandas el XML y ellos te responden con el Schema, y suele ser bastante genérico y sencillo de entender.Me imagino que para alguno también será de utilidad.

4.6. API simple para XML y Modelo en Objetos para la Representación de Documentos.

Documentos.Algunas de las siguientes definiciones de terminos se han tomado o modificado de definiciones de otros documentos del W3C u otros estándares. Véase también los vínculos de las definiciones para más información. 16-bit unit La unidad base de un DOMString. Esto indica que indexación ocurre sobre un DOMString en unidades 16 bits. Esto no debe entenderse mal para suponer que un DOMString puede almacenar albitrariamente unidades de 16-bit. Un DOMString es una cadena de caracteres codificada en UTF-16; esto quiere decir que la restricción de UTF-16 así como otras restricciones relevantes sobre cadenas de caracteres se deben mantener. Un caracter simple, por ejemplo en la forma de una referencia de caracter numérica, puede corresponder a uno o dos unidades de 16-bit. API Una API es una Interfaz de Programación de Aplicaciones (Application Programming Interface), un conjunto de funciones o métodos usados para acceder a ciertas funcionalidades. aplicación cliente (client application) Una aplicación [cliente] es cualquier programa que usa las interfaces de programación del Modelo de Objetos del Documento proporcionadas por la implementación anfitrión para realizar trabajo útil. Ejemplos de aplicaciones clientes son los scripts de un documento HTML o XML. ascendente (ascestor) Un nodo ascendente de cualquier nodo A es cualquier nodo por encima del A en un modelo de árbol, donde "por encima" significa"hacia la raíz". bien formado (well-formed) Un nodo es un nodo XML bien formado si su forma serializada, sin hacer ninguna transformación durante su serialización combina su respectiva presentación en [XML 1.0] o [XML 1.1] (dependiendo de la versión de XML usada) con todas sus obligaciones bien formadas para esa presentación, y si las entidades a las que son referidas en el nodo están también bien formadas. Si los espacios de nombres para XML están en uso, el nodo debe también ser un espacio de nombre bien formado. COM COM es el Modelo de Objetos de Componentes de Microsoft (Component Object Model) [COM], una tecnología para construir aplicaciones a partir de componenes binarias de software. comando (token) Un elemento de información como un Nombre XML el cual ha sido compilado. comparación de cadenas (string comparison) Cuando es necesario un emparejamiento de cadenas, este debe cumplir como si la comparación se realizara entre 2 secuencias de puntos de código del [Unicode]. compilado (tokenized) La descripción dada por varios elementos de información (por ejemplo, valores de atributos de varios tipos, pro no incluidos en StringType CDATA) despues de haber sido procesados por el procesador XML. El proceso incluye la administración para quitar y rastrear los espacios en blanco, y reemplazar múltiples caracteres de espacios por uno. Vea la definición de del tipo simbólico. conveniencia (convenience) Un método de conveniencia es una operación sobre un objeto que podría realizar un programa consistente en operaciones más básicas sobre objetos. Los métodos de conveniencia normalmente se proporcionan para hacer el API más fácil y simple de usar, o para permitir a programas específicos crear implementaciones más optimizadas para operaciones comunes. Análogamente se define una propiedad de conveniencia. descendente (descendant) Un nodo descendente de cualquier nodo A es cualquier otro nodo por debajo del A en el modelo de árbol del documento, donde "por debajo" significa "más alejado de la raíz". ECMAScript El lenguaje de programación definido por el estándar ECMA-262 [ECMAScript]. Como se puede leer en el estándar, la tecnología que dio origen a ECMAScript fue JavaScript [JavaScript]. Observe que en las correspondencias con ECMAScript, la palabra "propiedad" ("property") es utilizada con el mismo significado que tiene el término IDL "atributo." elemento (element) Cada documento contiene uno o más elementos, cuyos límites están delimitados por etiquetas iniciales y etiquetas finales, o para elementos vacíos por una una etiqueta de elemento vacío. Cada elemento tiene un tipo, indenfificado por un nombre, y debe tener un conjunto de atributos. Cada atributo tiene un nombre y un valor. Ver Estructuras Lógicas en XML [XML 1.0]. elemento documento (document element) Hay solo un elemento documento en un Document. Este nodo elemento es un hijo del nodo Document. Vea Documentos bien formados XML en XML [XML 1.0]. Enlace con el lenguaje (language binding) Un enlace con un lenguaje de programación de una especificación IDL es una implementación de las interfaces de la especificación en el lenguaje dado. Por ejemplo, los vínculos con el lenguaje Java de la especificación IDL del Modelo de Objetos del Documento implementaría las clases Java reales que proporcionarían la funcionalidad expuesta por las interfaces. espacios de nombre bien formados (namespace well-formed) Un nodo es un espacio de nombre bien formado en XML si es un nodo bien formado, y sigue las representaciones y limitaciones de espacio de nombre. Si se usa [XML 1.0], las limitaciones son definidas en [Espacios de Nombres en XML]. Si se utiliza [XML 1.1], las limitaciones están definidas en [Espacios de Nombres en XML 1.1]. esquema (schema) Un esquema define un conjunto de obligaciones estructurales y de valores aplicables a documentos XML. Los esquemas pueden ser expresados en lenguajes de esquema, como DTD, esquema XML, etc. herencia (inheritance) En programación orientada a objetos, la capacidad de crear nuevas clases (o interfaces) que contienen todos los métodos y propiedades de otra clase (o interfaz), más métodos adicionales. Si una clase (o interfaz) D hereda de una clase (o interfaz) B, entonces se dice que D está derivada de B. Se dice que B es una clase (o interfaz) base de D. Algunos lenguajes de programación permiten herencias múltiples, es decir, herencias desde más de una clase o interfaz. hermano (sibling) Dos nodos son hermanos si tienen el mismo nodo padre. hijo (child) Un hijo es un nodo descendente inmediato de un nodo. HTML El Lenguaje de Etiquetas de Hipertexto (HyperText Markup Language) (HTML) es un lenguaje simple de etiquetas usado para crear documentos de hipertexto que son portables de una plataforma a otra. Los documentos HTML son documentos SGML con una semántica genérica que es apropiada para representar información de un amplio rango de aplicaciones. [HTML 4.01] implementación anfitrión (hosting implementation) Una implementación [anfitrión] es un módulo software que proporciona una implementación de las interfaces DOM de modo que una aplición cliente puede usarlas. Algunos ejemplos de implementaciones anfitrón son los navegadores, los editores y los archivos de documentos. interfaz (interface) Una interfaz es una declaración de un conjunto de métodos sin información sobre su implementación. En los sistemas de objetos que soportan interfaces y herencia, las interfaces normalmente pueden heredar unas de otras.. método (method) Un método es una operación o función que está asociada a un objeto y que tiene permiso para manupular los datos del objeto. modelo (model) Un modelo es la representación real de los datos obtenidos a partir de la información disponible. Ejemplos son el modelo de estructura y el modelo de estilo de que representan la estructura analítica y la información de estilo asociada a un documento. El modelo podría ser un árbol, o un grafo orientado, o cualquier otra. modelo de datos (data model) Un modelo de datos es un conjunto de descripciones de estructuras de datos y los campos que contienen, junto con las operaciones o funciones que las manipulan. modelo de objetos (object model) Un modelo de objetos es una colección de descripciones de clases o interfaces, junto con sus miembros de datos, funciones miembro y operaciones estáticas de la clase. nodos de texto lógicamente adyacentes (Logically-adjacent text nodes) Los nodos de texto lógicamente adyacentes son nodos Text o CDATASection que pueden ser visitados secuencialmente en el orden del documento o en orden invertido al documento sin entradas, salidas, o pasando por alto los nodos Element, Comment, o ProcessingInstruction. nodo de solo lectura (read only node) Un nodo de solo lectura es un nodo que es inmutable. Esto significa que su lista de hijos, su contenido, y sus atributos, cuando este es un elemento, no puede cambiarse ninguna de ninguna forma. Sin embargo, un nodo de solo lectura puede posiblemente ser movido, cuando este no es no esté contenido en un nodo de solo lectura. nodo raíz (root node) El nodo raíz es un nodo que no es hijo de ningún otro nodo. Todos los demás nodos son hijos o descendentes del nodo raíz. nombre cualificado (qualified name) Un nombre cualificado es el nombre de un elemento o atributo definido como la concatenación de un nombre local (como se define en esta especificación), opcionalmente precedido por un prefijo de espacio de nombre y el caracter ":" (dos puntos). Vea Nombres Cualificados en Espacios de Nombres en XML [Espacios de Nombres en XML]. nombre de tipo anónimo (anonymous type name) Un nombre de tipo anónimo es una definición de implementación, un nombre cualificado único globalmente proporcionado por el procesador para cada declaración de tipo anónima en un esquema. nombre local (local name) Un nombre local es la parte local de un nombre cualificado. Esto es llamado parte local en Espacios de nombres en XML [Espacios de Nombres en XML]. Objeto de información (information item) Un objeto de información es una representación abstracta de algunos componentes de un documento XML. Vea el [Conjunto de Informacióon de XML] para más detalles. orden del documento (document order) Hay una ordenación, el orden del documento, definido en todos los nodos en el documento correspondiente a ordenar en el cual el primer caracter de la representación XML de cada nodo ocurre en la representación del documento después de ampliar las entidades generales. Así, que el orden del documento ordena los nodos elemento en el orden en que aparecen sus etiquetas desde el principio en XML (después de la expansión de las entidades). Los nodos atributos de un elemento ocurren despues del elemento y antes de sus hijos. El orden relativo de los nodos atributo depende de la implementaciín. padre (parent) Un padre es un nodo ascendente inmediato a otro nodo. prefijo de espacio de nombre (namespace prefix) Un prefijo de espacio de nombre es una cadena que asocia el nombre de elemento o atributo con un URI de espacio de nombre en XML. Vea prefijo de espacio de nombre en espacios de nombre en XML [Espacios de Nombres en XML]. URI de espacio de nombre (namespace URI) Un URI de espacio de nombre es un URI que define un espacio de nombre XML. Esto es llamado nombre de espacio de nombre en Espacios de nombres en XML [Espacios de Nombre en XML]. Vea también la sección 1.3.2 de "URIs DOM" y la 1.3.3 "Espacios de Nombres en XML" referentes al manejo y comparación de URIs y URIs de espacio de nombre en APIs DOM. Válido parcialmente (partially valid) Un nodo en un árbol de DOM es válido parcialmente si está bien formado (esta parte es para comentarios e intrucciones de procesamiento) y sus hijos inmediatos son aquellos esperados por el modelo de contenido. El nodo pude estar omitiendo el rastreo requerido de los hijos y aun ser considerado válido parcialmente. XML El Lenguaje de Etiquetas Extensible (Extensible Markup Language) (XML) es un dialecto extremadamente simple de SGML el cual es completamente descrito en este documento. Su objetivo es hacer posible servir, recibir y procesar SGML genérico en la Web en el modo en que hoy es posible con HTML. El XML se ha diseñado para ser fácil de implementar y para su interoperatividad con SGML y HTML. [XML 1.0]

4.7. Creación y Consumo de servicios web XML


Los servicios Web XML son un conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web, por lo que estos servicios deben estar alojados en un servidor Web. Los servicios Web XML permiten el manejo distribuido de componentes, estos permiten tomar ventaja de la infraestructura de Internet para la distribución de funcionalidad y paquetes de datos. Las principales características de los servicios Web XML son: Están basados en protocolos estándar para la Web. Los servicios Web XML realizan las peticiones y proporcionan las respuestas utilizando protocolos estándar de la Web, como los son HTTP (Hyper Text Transfer Protocol), XML (Extensible Markup Language), y SOAP (Simple Object Access Protocol), toda plataforma que maneje dichos protocolos, podrá aprovechar la funcionalidad de los servicios Web XML. Comunicación de aplicación a aplicación basada en Internet.