PDA

Ver la versión completa : [XML] Pequeña duda



clarinetista
30-03-2004, 01:36
He estado leyendo sobre XML y tendo una duda.
Si lo he entendido bien XML es un lenguaje de etiquetas igual que HTML, pero las del primero son etiquetas definidas por el usuario.
La condicion que deben cumplir estas etiquetas es estar metidas en sus DTD's correspodientes en el servidor.¿Es eso?
Creo que hotmail envia los correos como XML. ¿Tiene algun uso en particular el XML o es un lenguaje generico?
Gracias.

CrAcKzMe
30-03-2004, 17:35
Tal vez te sirva:
El XML (eXtensible Markup Language) es un lenguaje orientado a identificar estructuras de datos en un documento. La especificación XML define la manera estándar de cómo hay que realizar el marcado de expresiones en un documento no estructurado , para que con dicho marcado se defina una determinada estructura de datos.

¿Para qué sirve un DTD?

Un DTD (Definición de tipo de documento) es una colección de reglas usadas con el propósito de identificar un tipo o clase de documento. Por ejemplo, podemos escribir una gran cantidad de informes, pero en general algunos de ellos tendrán una serie de puntos de común. Los informes pueden contener el nombre del autor, el nombre del sujeto a quien se refiere el informe, quizás una lista de distribución, un número de referencia, fecha de creación, título del informe, títulos de secciones, gráficos, etc.

El DTD realiza las siguientes tareas:

Define todos los elementos (nombres de etiquetas) que pueden aparecer en el documento.
Define las relaciones establecidas entre los distintos elementos.
Suministra información adicional que puede ser incluida en el documento: Atributos, Entidades y Notaciones.
Aporta comentarios e instrucciones para su procesamiento.

Un saludo.

Markitos1024
30-03-2004, 23:21
No solo las DTD sirven para definir docimentos XML tambien estan los schemas, para mas informacion entra en www.w3c.org

gondar_f
31-03-2004, 22:06
Ejemplo de documento XML bien formado:
<?xml version="1.0"?>
<!-- esto es un comentario, y por cierto no estoy gritando, lo que sucede es que el XML es case sensitive, y se recomienda escribir todo en mayusculas-->
<INVENTARIO>
<COCHE>
<MARCA>CITROEN
</MARCA>
<MATRICULA>BNC-5456
<REMATRICULADO pais="nacional">NO
</REMATRICULADO>
</MATRICULA>
<COMENTARIO>COCHE KILOMETROS CERO
</COMENTARIO>
</COCHE>
<COCHE>
<MARCA>FORD
</MARCA>
<MATRICULA>PO-1543-AM
<REMATRICULADO pais="nacional">NO
</REMATRICULADO>
</MATRICULA>
<COMENTARIO>FIESTA DEL 92
</COMENTARIO>
</COCHE>
<!--Clarinetista aqui tienes un comentario en medio -->
<COCHE>
<MARCA>OPEL
</MARCA>
<MATRICULA>PO-6543-BC
<REMATRICULADO pais="Alemania">SI
</REMATRICULADO>
</MATRICULA>
<COMENTARIO><![CDATA[COMO ESTÁS?, CORSA DEL AÑO 97 <REALMENTE BUENO> EN BUEN ESTADO]]>
</COMENTARIO>
</COCHE>
</INVENTARIO>

los documentos XML, a diferencia del HTML estan enfocados solo a los datos, si te fijaste la estructura es muy similar a la de una base de datos o una hoja de calculo, y es porque todas las comentadas son estructuras enfocadas a datos. En XML no encontraras etiquetas de formato ni nada por el estilo, si quires presentarlos tendras que utilizas CSS, DOM, u otra tecnologia que te comvierta los datos en algo compresible por los navegadores, en muchas ocasiones conviertes los datos contenidos en el archivo XML en HTML con javascript (utilizando DOM), o utilizas XLS (digamos que un CSS con hormonas y para el XML, y tambien es estensible y permite realizar verdaderas obras de arte con los datos, entre ellas recorrer un documento XML).
Pero el XML no solo se utiliza para la web, sino cualquier cosa subsceptible de guardar datos, que posteriormente deban ser procesados, deberia de plantearse guardar esos datos en un documento XML, por eso SQL Server, ORACLE, etc tienen ahora componentes para procesar XML, etc.

Un Saludo

-=:PüNi§hËr:
31-03-2004, 22:14
Oye gondar_f ¿Qué es mas utilizado el HTML o el XML? y ¿cuál seria el mas recomendable?

clarinetista
01-04-2004, 01:00
Segun creo todas las paginas web tienen de base HTML.
Luego pueden tener Java,Javascript,PHP,ASP.
es necesario para que las interprete el navegador.
Corriganme si me equivoco.

CrAcKzMe
01-04-2004, 17:12
No es exactamente así. Puedes escribir por ejemplo una página en html y añadirle algun script de Java etc. Pero por ejemplo el PHP o el ASP son lenguajes que se ejecutan en el servidor, creando así una pagina visible html a partir de datos introducidos en bbdd o datos externos, creando así paginas dinámicas.
Los fallos de inyeccion SQL muchos son debidos a que conseguimos engañar el sistema haciendo creer que el codigo ASP contiene una orden SQL equivocada (la que nosotros conseguimos introducir).
Ahora que alguien me corrija a mi :P
Un saludo.

clarinetista
02-04-2004, 00:26
¿Pero la base nuestra pagina no sera siempre HTML?
Luego podemos poner Visual Basic Script o lo que queramos, pero eso es para la interaccion cliente-servidor.
Imagino que lo que quieres decir es que igual que java es un lenguaje independiente y multiplataforma PHP y ASP lo son¿no?
Si es eso mi idea de que el HTML es la base de todo era equivocada.
En fin, rectificar es de sabios y de gente que no tiene ni puta idea.
Debo de seguir estudiando, :)
Gracias

-=:PüNi§hËr:
02-04-2004, 21:20
MMM no pues yo de = manera creo que la base de las paginas es el HTML o bueno si no es asi pues creo que estoy jodido XD a seguir estudiando

CrAcKzMe
02-04-2004, 22:05
No me habré explicado bien.
consulta -> servidor ejecuta php -> obtiene html -> vemos html

Así mejor?

clarinetista
03-04-2004, 01:11
Ok, CrAcKzMe.Entenderlo lo entendi, pero no lo exprese bien.
Otra pregunta.
A parte de la invisibilidad para elñ usuario, me gustaria que me dijeses alguna otra ventaja que tuviera PHP sobre Javascript(es un ejemplo que se me ocurre).No se, alguna asi un poco en general.

gondar_f
09-04-2004, 16:34
Oye gondar_f ¿Qué es mas utilizado el HTML o el XML? y ¿cuál seria el mas recomendable?
El mas utilizado es el HTML, ya que los navegadores (salvo un par de excepciones) por ahora no son capaces de interpretar el XML directamente, aun asi mientras que el HTML esta enclaustrado en la web (a finales de los noventa se intento poner como un lenguaje universal, pero fracaso por eso surgio el XML), el XML se esta intruducciendo en muchos ambientes, desde gestores de bases de datos (hay que recordad que el XML es muy adecuado para trabajar con datos), hasta para definir documentos (hojas de calculo, procesadores de texto, etc) como sucede con OpenOffice (y en menor medida tambien Office y otros), etc. Pero el HTML puro tiene los dias cotados, realmente ya surgio su sustituto, el XHTML, que no es mas que HTML con la gramatica del XML, por ejemplo la etiqueta <br> se sustituye por <br/> que cumple los canones del XML, y por cierto es mas facil crear un motor XHTML que HTML puro, ya que el XHTML esta mucho mas extructurado (adios los tipico de <p>hola <b> mundo</p> <p> como estas?</b></p>), con lo cual es mas sencillo de implementar el motor, y lo mejor es que no se pierde nada de flexibilidad y se gana en legibilidad y corrección. En cuanto al XML en la web casi todo por ahora se utiliza incrustado en paginas HTML estandar y no independientemente. Punisher en cuanto a cual seria el mar recomendable, pues la verdad si entendiste el ejemplo que puse en mi post anterior, pues entienden las bases del XML, solo te faltaria los DTD, que si quieres te posteo el DTD correspondiente al ejemplo (el DTD no es obligatorio para este ejemplo), pero para terminar con el XML tendrias que revisar el XLS (este si que ya es mas complejo, pero tambien muy flexible y potente), pero por ahora las implementaciones de los navegadores son vastante malas (de XLS) o simplemente no la tienen, con lo que solo te quedaria utiliar XML con CSS (el mismo que para HTML) o con DOM. Con lo cual mi recomendación es que por ahora juguetes con el XHTML, que si ya es una realidad, casi todos los navegadores lo soportan (escepto alguno muy minoritario, y aun asi si no sales de las etiquetas mas utilizadas en HTML no suele haber problemas), complementado este con XFORMS (los nuevos formularios para XHTML en lugar de los clasicos, muy limitados y muy poco flexibles). Por cierto una de las ventajas de saber XHTML es para si programas en ASP o PHP (tambien CGI o JSP), ya que estos crean en codigo HTML dinamicamente, y si no tienes cuidado te salen unas ensaladas que ni te digo, pero si tienes en cuenta las normas XHTML no deberias tener que preocuparte demasiado, ya que probablemente a la primera consigas lo que querias.



Los fallos de inyeccion SQL muchos son debidos a que conseguimos engañar el sistema haciendo creer que el codigo ASP contiene una orden SQL equivocada (la que nosotros conseguimos introducir).
Ahora que alguien me corrija a mi :P
Para que corregir lo que esta bien dicho, los trucos para introducir secuencias en ASP son inumerables y lo mas estupendo es que casi todos los progrmadores de ASP aun siguen cometiendo los mismos errores, entre ellos no comprobar los datos recogidos por POST (o GET), directamente los introducen en las sentencias SQL.
Ejemplo: (funcion sql original)
sqltxt="select * from users where nombre like "&nombre &" and pasword like" &pass
(funcion sql como se ve recogida en sqltxt)
"select * from users where nombre like gondar_f and pasword like xxxx" (si alguno pensaba que lo iva a poner va apañado)
(funcion sql recogida en sqltxt con datos trucados)
"select * from users where nombre like gondar_f and pasword like xxx or nombre like gondar_f"
Diferencia, pues que cuando introduces la contraseña, realmente estan intoduciondo una sentencia sql, el el form, en la casilla de pass pondrias xxx or nombre like gondar_f, con lo que debido a que pasan la casilla directamente a la sentencia, acabas modificando esta. Por cierto es cierto esto es un ejemplo simple.



Imagino que lo que quieres decir es que igual que java es un lenguaje independiente y multiplataforma PHP y ASP lo son¿no?
el PHP es independiente de la plataforma, porque si hay un apache aya puedes poner PHP (tambien sobre IIS y otros, pero apache es el mas abitual), mientras que ASP es muy esclusivo de los servidores de microsoft (IIS y Personal Web Server), para apache por ejemplo hay el Iplanet y el SUN ONE, pero solo para ASP, por ahora ASP.NET solo va sobre los de microsoft.



A parte de la invisibilidad para el usuario, me gustaria que me dijeses alguna otra ventaja que tuviera PHP sobre Javascript(es un ejemplo que se me ocurre).No se, alguna asi un poco en general.
Javascipt y PHP no se utilizan para lo mismo, Javascript se ejecuta en el cliente (navegador web como iexplorer, netscape, opero, konkeror, etc), mientras que PHP es una aplicación INSAPI (se ejecuta en el servidor en el mismo rango de direcciones qu este)(tambien se puede tener como interprete independiente al estilo perl, pero para el tema tratado no nos interesa), que lo que hace es interpretar un script y generar una salida (pagina web) que es enviada al cliente, en este caso el navegador, pero no puede hacer nada sobre el cliente, para eso entra en juego javascript, pero como máximo uno complementa al otro. Una de las mayores funciones de PHP, como alguien ya comento, es para trabajar sobre bases de datos, aunque no es su unica función, si es la mas utilizada.


La base de la web siguen siendo las paginas HTML, pero ya desde la versión 1.1 se permitia crear las paginas dinamicamente (en aquellos tiempos solo utilizando el protocolo CGI), pero lo que llega al navegador siempre es HTML (vueno con matizaciones, ya que puede ser XML, incluso codigo javascript "*.js", java, flash, etc, pero todas, a excepción del java, crean al final una salida html).

Un Saludo