Calendario del Blog
Estadísticas de visitantes








Archivo de Blog
- August 2010 (7)
- July 2010 (4)
- June 2010 (1)
- May 2010 (3)
- February 2010 (1)
- January 2010 (2)
- October 2009 (3)
- September 2009 (2)
- July 2009 (1)
- June 2009 (1)
- May 2009 (1)
- April 2009 (1)
- March 2009 (1)
- January 2008 (1)
- November 2007 (3)
- March 2007 (3)
- February 2007 (1)
- January 2007 (1)
- December 2006 (6)
- November 2006 (3)
- October 2006 (3)
- September 2006 (9)
- August 2006 (6)
- July 2006 (4)
- June 2006 (3)
- May 2006 (3)
- April 2006 (1)
- March 2006 (7)
- February 2006 (13)
- January 2006 (6)
- December 2005 (4)
- November 2005 (5)
- October 2005 (7)
- August 2005 (4)
- July 2005 (4)
- June 2005 (9)
- May 2005 (6)
- April 2005 (3)
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.
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.
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:
Código bien formado:
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.
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:
Se puede instaciar un objeto para parsear un texto XML específico:
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>
<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>
</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>
</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();
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. |
| 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. |
| 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. |
| 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(). |
[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
#1 RE: Sobre XML y Flash
Akin0, <andresdotaquino(at)gmaildotcom> / 6 March, 12:44pm
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
[ Responder (0) ]
#1.1 gracias
Mat, <mat(at)matdotcom> / 11 June, 1:24pm
gracias, estuve leyendo y me ayudo mucho para un proyecto mio en flash.
[ Responder (0) ]
#2 =)
Iván Jaimes, <ivandotiver(at)gmaildotcom> / 12 June, 8:33am
Excelente! ..Saludos.
[ Responder (0) ]
Dejar un comentario
Fuentes XML de comentario: RSS | Atom


Comentarios Recientes