Navegador de Archivos
Calendario del Blog
General
Sobre XML y Flash
Ahora me toca lidiar un poco con XML y como la información al respecto esta distribuida, a continuación posteo algo de lo que he recolectado y aprendido.
¿Que es XML?
XML, es un lenguaje basado en los principios de HTML, tags que permiten dar formato a un texto o sirven para hacer referencia al mismo. XML es la sigla del inglés eXtensible Markup Language (lenguaje de marcado ampliable o extensible) desarrollado por el World Wide Web Consortium (W3C). [1]
XML es un lenguaje de transferencia de información, pensado para crear una sintaxis única que pueda usar cualquier programa para leer archivos de otro mediante un estándar.
Ejemplos del uso de XML
Un ejemplo del uso de XML lo podemos ver en los webservices, feeds, podcast, etc. Pero no es lo único que puede hacerse, es un lenguaje muy verstatil y permite la manipulación de datos sin importar el origen. Un muy buen proyecto que usa dicha tecnología es NHibernate, hermano mayor de Hibernate de Java pero pensado para usarse con .NET (más adelante haré un ejemplo de esta herramienta depersistencia).
Ahora un pequeño ejemplo de lo que se puede hacer, tenemos un archivo formado de la siguiente manera:
<question>
<desc> ¿Cuál es la capital de méxico?</desc>
<answer>
<ok>México DF</ok>
<bad>Hidalgo</bad>
<bad>Texas</bad>
</answer>
</question>
<question>
<desc>Indica a Unix que la línea de órdenes ha terminado</desc>
<answer>
<ok>Enter</ok>
<bad>Ctrl-d</bad>
<bad>Ctrl-a</bad>
</answer>
</question>
<question>
<desc>Termina la sesión con Unix de un usuario ordinario</desc>
<answer>
<ok>Ctrl-d</ok>
<bad>Ctrl-e</bad>
<bad>Enter</bad>
</answer>
</question>
<question>
<desc>Detiene la impresión de un fichero por pantalla</desc>
<answer>
<ok>Ctrl-s</ok>
<bad>Ctrl-x</bad>
<bad>Ctrl-z</bad>
</answer>
</question>
El primer tag nos indica que es un documento xml, desarrollado bajo la versión 1.0 y el tipo de codificación que deseamos usar, en este caso ISO-8859-2. Después se encuentra el nodo raíz, dicho elemento , no puede formar parte del contenido de ningún otro elemento (en este caso flash-definition). Algo importante de señalar es que el nombre de un tag debe ser igual en las etiquetas inicial y final. En los nombres se distinguen mayúsculas y minúsculas.
Todo elemento cuyo principio se marca con una etiqueta inicial, debe marcarse con una etiqueta final que repita el nombre del elemento, expresado igual que en la etiqueta inicial. El texto contenido entre la etiqueta inicial y la etiqueta final se llama contenido del elemento. Un elemento sin contenido puede tomar una forma especial.
<nombre></nombre>
La barra situada antes de > sustituye la etiqueta final. Los nombres de los tags pueden incluir letras, números, guiones, guiones bajos, comas y puntos. La coma se puede usar sólo en un caso especial, cuando separa lo que suele llamarse namespace. Los nombres de tags que comienzan con xml, XML u otras combinaciones de esta clase de cadena están reservadas para el estándar.
Un tag puede tener varios, uno o ningún atributo. En los nombres de atributo pueden utilizarse los mismos caracteres permitidos que en los nombres de elemento. El nombre del atributo y su valor se separan con =. El valor del atributo debe darse entre apostrofes '...' o comillas dobles "..." . Si se usan comillas o apostrofes en el contenido del atributo, se utilizará el contrario como marcador.
<escorrecta></escorrecta>
<attributes attr="un valor"></attributes>
<values primero="1" segundo="2" tercero="333"></values>
<description caso1="Muestra's" caso2="Una expresion: Waxxxa! "></description>
Los caracteres < y & no pueden usarse en el texto, puesto que se usan como marcas. Si se necesitan, debe usarse su codificación de html[2].
Pueden aparecer comentarios en cualquier parte de un documento, fuera de las etiquetas. No puede incluirse la cadena "--" (dos guiones) dentro de un comentario.
Código mal formado:
<ejemplo>
</ejemplo>
Código bien formado:
<ejemplo>
</ejemplo>
La instrucciones de procesamiento
permiten que los documentos incluyan instrucciones para programas.
<upgradelog>
<properties>
<property value="Logger"> </property>
</properties>
<event errorlevel="0" project="" source="Logger.sln" description="File successfully backed up as Backup\Logger.sln"> </event>
</upgradelog>
Existen secciones de CDATA, se usan para citar textos con caracteres que en otras circunstancias serían interpretados como signos de marca. Las secciones de CDATA comienzan con la cadena
No puede incluirse la cadena "]]>" dentro de una sección de CDATA.
<ejemplo>
</ejemplo>
Hasta aquí es una recopilación de XML y mucho de lo mencionado se obtuvo de una página de la cuál no tengo la referencia, si alguién la tiene y desea compartirla, la pondré aquí para respetar los derechos del autor.
Trabajando XML desde Flash
Existen diversos manuales de flash que muestran como hacer la interacción entre el documento XML y el Flash[3][4] por lo que solo citaré las funciones que se requieren y una breve descripción.
Declaración de un objeto XML:
//Declara la variable "obj_xml" como un objeto XML
var obj_xml:XML = new XML();
Se puede instaciar un objeto para parsear un texto XML específico:
otherXML = new XML("<state>California<city>san francisco</city></state>");
Métodos para la clase XML
Propiedades de la clase XML
Colecciones para el documento XML.
Eventos de la clase XML.
Por el momento lo dejo hasta aquí y espero postear un ejemplo del tratado de XML desde flash porque hoy tengo algo de trabajo.
[1] http://es.wikipedia.org/wiki/XML
[2] http://www.w3.org/TR/html401/charset.html
[3] http://www.cristalab.com/tutoriales/12/tutorial-de-xml-en-flash-mx-2004
[4] http://flash-creations.com/notes/dynamic_xml.php
**Nota
* No he desactivado la validación de código seguro del jaws, por lo que algunos tags no se han visualizado, si encuentro al e-corona online el día de hoy, espero poder cambiarlo y checar al tarea que me dejo.
¿Que es XML?
XML, es un lenguaje basado en los principios de HTML, tags que permiten dar formato a un texto o sirven para hacer referencia al mismo. XML es la sigla del inglés eXtensible Markup Language (lenguaje de marcado ampliable o extensible) desarrollado por el World Wide Web Consortium (W3C). [1]
XML es un lenguaje de transferencia de información, pensado para crear una sintaxis única que pueda usar cualquier programa para leer archivos de otro mediante un estándar.
Ejemplos del uso de XML
Un ejemplo del uso de XML lo podemos ver en los webservices, feeds, podcast, etc. Pero no es lo único que puede hacerse, es un lenguaje muy verstatil y permite la manipulación de datos sin importar el origen. Un muy buen proyecto que usa dicha tecnología es NHibernate, hermano mayor de Hibernate de Java pero pensado para usarse con .NET (más adelante haré un ejemplo de esta herramienta depersistencia).
Ahora un pequeño ejemplo de lo que se puede hacer, tenemos un archivo formado de la siguiente manera:
<question>
<desc> ¿Cuál es la capital de méxico?</desc>
<answer>
<ok>México DF</ok>
<bad>Hidalgo</bad>
<bad>Texas</bad>
</answer>
</question>
<question>
<desc>Indica a Unix que la línea de órdenes ha terminado</desc>
<answer>
<ok>Enter</ok>
<bad>Ctrl-d</bad>
<bad>Ctrl-a</bad>
</answer>
</question>
<question>
<desc>Termina la sesión con Unix de un usuario ordinario</desc>
<answer>
<ok>Ctrl-d</ok>
<bad>Ctrl-e</bad>
<bad>Enter</bad>
</answer>
</question>
<question>
<desc>Detiene la impresión de un fichero por pantalla</desc>
<answer>
<ok>Ctrl-s</ok>
<bad>Ctrl-x</bad>
<bad>Ctrl-z</bad>
</answer>
</question>
Todo elemento cuyo principio se marca con una etiqueta inicial, debe marcarse con una etiqueta final que repita el nombre del elemento, expresado igual que en la etiqueta inicial. El texto contenido entre la etiqueta inicial y la etiqueta final se llama contenido del elemento. Un elemento sin contenido puede tomar una forma especial.
<nombre></nombre>
Un tag puede tener varios, uno o ningún atributo. En los nombres de atributo pueden utilizarse los mismos caracteres permitidos que en los nombres de elemento. El nombre del atributo y su valor se separan con =. El valor del atributo debe darse entre apostrofes '...' o comillas dobles "..." . Si se usan comillas o apostrofes en el contenido del atributo, se utilizará el contrario como marcador.
<escorrecta></escorrecta>
<attributes attr="un valor"></attributes>
<values primero="1" segundo="2" tercero="333"></values>
<description caso1="Muestra's" caso2="Una expresion: Waxxxa! "></description>
Pueden aparecer comentarios en cualquier parte de un documento, fuera de las etiquetas. No puede incluirse la cadena "--" (dos guiones) dentro de un comentario.
Código mal formado:
<ejemplo>
</ejemplo>
<ejemplo>
</ejemplo>
<upgradelog>
<properties>
<property value="Logger"> </property>
</properties>
<event errorlevel="0" project="" source="Logger.sln" description="File successfully backed up as Backup\Logger.sln"> </event>
</upgradelog>
<ejemplo>
</ejemplo>
Trabajando XML desde Flash
Existen diversos manuales de flash que muestran como hacer la interacción entre el documento XML y el Flash[3][4] por lo que solo citaré las funciones que se requieren y una breve descripción.
Declaración de un objeto XML:
//Declara la variable "obj_xml" como un objeto XML
var obj_xml:XML = new XML();
otherXML = new XML("<state>California<city>san francisco</city></state>");
| XML.addRequestHeader() | Agrega o cambia las cabeceras HTTP para operaciones mediante POST. |
| XML.appendChild() | Agrega un nodo al final del objeto de la lista especificado. |
| XML.cloneNode() | Clona el nodo especificado, opcionalmente, clona todos los hijos recursivamente. |
| XML.createElement() | Crea un nuevo elemento XML. |
| XML.createTextNode() | Crea un nuevo nodo de texto XML. |
| XML.getBytesLoaded() | Regresa el número de bytes cargados para el documento XML especificado. |
| XML.getBytesTotal() | Regresa el tamaño del documento XML en bytes. |
| XML.hasChildNodes() | Regresa true si el nodo especificado tiene un nodo hijo; de otro modo regresa false. |
| XML.insertBefore() | Inserta un nodo enfrente del nodo especificado. |
| XML.load() | Carga un documento (especificamente un objeto CML) de una URL. |
| XML.parseXML() | Parsea un documento XML dentro del árbol del objeto XML. |
| XML.removeNode() | Remueve el nodo especificado del padre. |
| XML.send() | Envía el obejto especificado XML a una URL. |
| XML.sendAndLoad() | Envía el objeto especificado de XML a un URL y carga la respuesta del servidor en otro objeto de XML. |
| XML.toString() | Coviente el nodo especificado y cualquier hijo a texto XML. |
Propiedades de la clase XML
| XML.contentType | Indica el tipo de MIME transmitido al servidor. |
| XML.docTypeDecl | Asigna y regresa información sobre la declaración DOCTYPE de un documento XML. |
| XML.firstChild | De solo lectura; hace referencia al primer hijo de la lista de un nodo específico. |
| XML.ignoreWhite | Cuando es true, nodos con texto en blanco solamente, son descartados durante el proceso de parseo. |
| XML.lastChild | Hace referencia al último hijo de la lista del nodo especificado. |
| XML.loaded | De solo lectura; indica si el obejo XML especificado ha sido cargado. |
| XML.nextSibling | De solo lectura; hace referencia al siguiente hermano en la lista de nodos. |
| XML.nodeName | Nombre del nodo de un obejto XML. |
| XML.nodeType | EL tipo de nodo especificado (elemento o nodo de texto). |
| XML.nodeValue | El texto del nodo especificado si es un nodo de texto. |
| XML.parentNode | Solo lectura; hace referencia al nodo padre de un nodo especificado. |
| XML.previousSibling | De solo lectura; se refiere al hermano anterior a la lista del hijo del nodo del padre. |
| XML.status | Un código de estatus numérico indicando si se realizó o no la operación de parseo del codumento XML. |
| XML.xmlDecl | Información sobre la declaración de un documento XML. |
Colecciones para el documento XML.
| XML.attributes | Regresa un array que contiene todos los atributos del nodo especificado. |
| XML.childNodes | Solo lectura; regresa un array que contiene las referencias de los nodos hijos de un nodo. |
Eventos de la clase XML.
| XML.onData | Un manejador de eventos es invocado cuando el texto XML ha sido completamente cargado del servidor, o cuando un error ocurre al descargar un texto XML de un servidor. |
| XML.onLoad() | Un manejador de evento que retorna un valor boleano indicando si el obejto XML fué cargado exitosamente con XML.load() or XML.sendAndLoad(). |
Por el momento lo dejo hasta aquí y espero postear un ejemplo del tratado de XML desde flash porque hoy tengo algo de trabajo.
[1] http://es.wikipedia.org/wiki/XML
[2] http://www.w3.org/TR/html401/charset.html
[3] http://www.cristalab.com/tutoriales/12/tutorial-de-xml-en-flash-mx-2004
[4] http://flash-creations.com/notes/dynamic_xml.php
**Nota
Trackback URI: http://es.iver.com.mx/index.php/trackback/70
Dejar un comentario
Estadísticas de visitantes








Comentarios Recientes
- Celulares con Wifi en Como escoger el amor de tu vida.
- master en La diferencia entre un amigo y un novio
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- mauro en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en ¿Qué hacer para que te valoren más?
- marcela en ¿Qué hacer para que te valoren más?
- Iván Jaimes en
- karyot en Haces ruido o te gusta volar?
- Iver en Haces ruido o te gusta volar?
- leo_on en Haces ruido o te gusta volar?
- Iván Jaimes en Los detalles hacen la diferencia
- linuxman en Los detalles hacen la diferencia
- Marcelo Araújo en Internet Explorer 8 y la vista compatibilidad
- Iván Jaimes en Código con aroma de mujer
- karyot en Código con aroma de mujer
- Profesor Mamelowsky en Código con aroma de mujer
- karyot en Lo sabroso de la vida
- Iván Jaimes en
- Iván Jaimes en Internet Explorer 8 y la vista compatibilidad
- cordoba en Internet Explorer 8 y la vista compatibilidad

# RE: Sobre XML y Flash
Good !
Algo que se antoja interesante es el manejar un documento XML con el .net, aunque como comentas es muy útil en varias circunstancias; se ha convertido en un estandard para el intercambio de información entre sistemas de distinto origen y/o plataforma.
Saludos !
AQ