• Viernes 29 de Marzo de 2024, 00:35

Autor Tema:  Que Es El Paquete Dom?  (Leído 8413 veces)

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Que Es El Paquete Dom?
« en: Miércoles 4 de Febrero de 2004, 15:38 »
0
;) , hola gente recien estoy entrando al mundo del XML, me podrian dar algunos alcances sobre que es el DOM, o e lpaquete DOM,......?


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

CiRRuS

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
    • http://zirrus.es
Re: Que Es El Paquete Dom?
« Respuesta #1 en: Miércoles 4 de Febrero de 2004, 16:15 »
0
Hace poco me examine de eso. El DOM es un parser de XML, un analizador de fichero XML que también realiza validación (verifica si se cumple el DTD).

Existen dos tipos de parsers principales:
- Los Analizadores secuenciales, tratan el archivo XML de forma secuencial y cada vez que encuentran un elemento lo tratan. Como ejemplo tienes al SAX para java, al que tienes que definirle unsa serie de manejadores para especificar qué quieres hacer cuando se encuentren los elementos.
- Los Analizadores que generan él árbol sintáctico, como DOM, primero le pasas el archivo XML, y ellos generan un árbol sintáctico para después ir recorriéndolo con las funciones pertinentes.

Además realiza validación de DTD. El DOM creo que se aprobó por el W3C, el consercio ese de Internet.

La última vez que lo usé fue en Java y el paquete Xerces.

Nos vemos
Core Dumped
zirrus.es

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #2 en: Jueves 25 de Marzo de 2004, 13:58 »
0
Pues no se que decirte sobre la nota de tu examen. :huh:

El DOM no es un parser de XML. Así, brevemente, XML es el lenguaje en el que describes el DOM. Digamos que cuando un browser recibe una página HTML, lo que recibe es un DOM.

Si nos quedamos con lo que quieren decir las siglas tenemos:

eXtended Markup Language (Lenguaje de Marcas eXtendido)
Document Object Model (Modelo de Objetos del Documento)

SAX es un API para interpretar DOMs de forma secuencial y no solamente se usa en Java. Hay implementaciones para otros lenguajes

Si usas Java, puedes usar el paquete JAXP y usar SAX o DOM (El modelo de objetos se carga y se hace accesible a Java como una estructura en arbol) y como parser usa Crimson que viene en el JDK de forma incorporada. Puedes usar cualquier otro parser (Xerces) con sólo especificarlo

Saludos

n.

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #3 en: Jueves 25 de Marzo de 2004, 14:43 »
0
Hola:

  No es por meter cizaña, pero yo creo que Cirrus tiene razón, DOM y SAX son implementaciones (en varios lenguajes) que premiten el procesamiento de ficheros XML. No es que el XML describa DOMs.

Saludos.

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #4 en: Viernes 26 de Marzo de 2004, 09:06 »
0
Buenas:

 Pero ciRRus no dice que DOM y SAX sean implementaciones, dice, textualmente (copio y pego)
Citar
El DOM es un parser de XML, un analizador de fichero XML que también realiza validación (verifica si se cumple el DTD).

  Si vas a la documentación Java en la página de la doc. del API Java dice

Citar
Package javax.xml.parsers Description
Provides classes allowing the processing of XML documents. Two types of plugable parsers are supported:

SAX (Simple API for XML)
DOM (Document Object Model)

Con SAX y DOM procesas pero  no validas un documento XML. Creo que la confusión está en el hecho de que también es un DOM cualquier documento HTML o ... XML. Por eso XML describe un DOM. Un DOM es la estructura en árbol de un HTML y HTML es un caso especial de XML. Por eso, cuando escribes un XML, estas describiendo un DOM.

Y desde luego, DOM no valida XML. Puedes procesar con SAX o DOM para procesar XML, pero si quieres validarlo, necesitas Crimson o Xerces

Saludos
n.

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #5 en: Viernes 26 de Marzo de 2004, 09:48 »
0
Hola:

Citar
Con SAX y DOM procesas pero no validas un documento XML. Creo que la confusión está en el hecho de que también es un DOM cualquier documento HTML o ... XML. Por eso XML describe un DOM. Un DOM es la estructura en árbol de un HTML y HTML es un caso especial de XML. Por eso, cuando escribes un XML, estas describiendo un DOM.

   Yo he trabajado con DOM y sí que valida un documento de acuerdo a su dtd, de hecho Xerces es un paquete que contiene una implementación en Java de DOM. Un DOM es un modo de representar un documento XML, pero eso no quiere decir que cuando escribas un XML estés describiendo un DOM, no?

Saludos

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #6 en: Viernes 26 de Marzo de 2004, 11:23 »
0
Hola:

  Exactamente. Como bien dices con su DTD. Puedes trabajar en Java con SAX y DOM sin DTD, sin realizar la validación.

Si quieres validar, se lo tienes que decir
 
Código: Text
  1.  
  2.   SAXParserFactory spfactory = SAXParserFactory.newInstance();
  3.   spfactory.setValidating(true);
  4.  
  5.  

Si pones false, no se valida pero eso no quiere decir que no puedas leer un XML y lo parsees secuencialmente con SAX o te crees un árbol DOM total o parcial a partir de tu documento.

Yo más bien diría lo contrario: Con XML representas un DOM que es um Modelo de Objetos quepuedes escribir en forma  XML. ¿Cómo pintas oescribesun DOM?

Saludos
n.

mabrev

  • Miembro MUY activo
  • ***
  • Mensajes: 126
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #7 en: Viernes 26 de Marzo de 2004, 12:46 »
0
Hola:

  Parece que en algo estamos de acuerdo, con DOM y SAX puedes validar o no un documento XML no?. Es que antes pusiste:
Citar
Y desde luego, DOM no valida XML. Puedes procesar con SAX o DOM para procesar XML, pero si quieres validarlo, necesitas Crimson o Xerces

  En lo que no acabamos de coincidir es si qué describe a qué. Yo sigo defendiendo que DOM y SAX describen documentos XML. Se supone que una determinada información estructurada en un fichero XML, pero está claro que por muy estructurada que esté la información no deja de ser un fichero de texto plano y tratar eso no es muy eficiente. Así que para tratar de forma eficiente esa información, es necesario buscar métodos de representación que permitan un tratamiento automatizado y eficiente de la misma, ahí es donde entran DOM y SAX.

  Bueno, este es mi planteamiento de porqué DOM y SAX representan documentos XML y no al revés.

  Saludos

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #8 en: Viernes 26 de Marzo de 2004, 13:26 »
0
Hola, de nuevo:

Casi. No es ni DOM ni SAX quienes validan. De hecho, si usaras JDK 1.2 o 1.3 no podrías validar un DOM si no tuvieras Xerces o parser similar. Desde JDK 1.4, los paquetes javax.xml.* incluyen Crimson, que es parecido a Xerces (y también de Apache).

Creo que el problema que tenemos es con la palabra "describir". Yo más bien diría que DOM (javax.xml.parsers.DocumentBuilder) y SAX (javax.xml.parsers.SAXParser) manejan DOMs (Documentos XML o HTML). XML describe el Modelo. Lo que también tengo claro es que no voy a tratar es un fichero XML como un fichero plano (No voy a usar FileSystemObject (VisualBasic) ni Readers o Writers de Java. Usaré en Java
Código: Text
  1.  
  2.    InputSource source = new InputSource("problema.xml");
  3.    xmlReader.parse(source);
  4.  
  5.  

Saludos
n.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #9 en: Lunes 5 de Abril de 2004, 21:39 »
0
Hablando de DOM, alguien sabe donde hay algunb ejemplo o algo por el estilo del uso de este paquete en C++??????

Salu2!!!!!

nausea

  • Miembro activo
  • **
  • Mensajes: 68
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #10 en: Martes 6 de Abril de 2004, 08:33 »
0
Hola

  Pues como parser validador tienes Xerces C++ Parser en Apache con ejemplos en Apache también.

  Con un poco de Google basta. Y para estas cosas, casi siempre en Apache

saludos
n.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #11 en: Lunes 19 de Abril de 2004, 13:44 »
0
Hola a todos de nuevo. Tengo un gran problema  y seguramente es debido a q soy demasiado nuevo con el uso de GNU/LINUX.
Estoy utilizando KDevelop 2.1 (creo) bajo la distribucion MANDRAKE LINUX 9.2 para programar en C++ .
Para parsear los docuementos XML deseo utilizar la liberia "libxml2" que me provee la distribucion q tengo.

Como es que hago para hacer un include de este tipo?? me refiero a como importo librerias con el KDevelop:

"#include <libxml/parser.h>"

ya que cuando hago esto, el programa pincha porque no lo encuentra, entonces hago esto:

"#include </usr/include/libxml2/libxml/parser.h>"

pero sigue pinchando.

A lo q voy es q por ejemplo en Visual Studio (obviamente bajo WINDOWS) en Project->Setting->blñablabla hay un cuadrito donde ponemos las librerias q vamos a utilizar, por ejemplo cuando usamos sockets o threads. Bueno, justamente eso es lo q necesito pero para KDevelop.

Si alguien me puede dar una mano, gracias

Sau2!!!!!

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Que Es El Paquete Dom?
« Respuesta #12 en: Jueves 29 de Abril de 2004, 02:41 »
0
Hola de nuevo. Hice algo, asi q miren el foro de C/C++ q escribi algo ahi

Salu2!!!!!