versión 2004 (Modificado)
DOM Parse XML variable (variable{; validacion{; dtd}}) Cadena
Parámetro | Tipo | Descripción | |
variable | BLOB/Texto | Nombre de la variable | |
validacion | Booleano | True = Validación por la DTD, | |
False = No validacion | |||
dtd | Cadena | Ubicación de la DTD | |
Resultado | Cadena | Referencia del elemento XML (16 caracteres) |
Descripción
El comando DOM Parse XML variable analiza una variable de tipo BLOB o Texto que contiene una estructura XML y devuelve una referencia para esta variable. El comando puede validar o no el documento.
Pase en el parámetro variable el nombre de la variable BLOB o Texto que contiene el objeto XML.
El parámetro booleano validacion permite indicar si validar o no la estructura utilizando la DTD.
Si validacion es igual a True, la estructura se validará. En este caso, el analizador intentará validar la estructura XML del documento basado en la DTD definida o referenciada en la variable, o la designada por el parámetro dtd.
Si validacion es igual a False, la estructura no se validará.
El tercer parámetro, dtd, se utiliza para indicar la DTD específica para el análisis del documento. Si utiliza este parámetro, el comando no tendrá en cuenta la DTD referenciada en la variable XML.
Hay dos formas de especificar un DTD:
Como una referencia. Para hacer esto, pase la ruta de acceso completa de la nueva DTD en el parámetro dtd. Si el documento indicado no contiene una DTD válida, el parámetro dtd se ignora y se genera un error.
Directamente en un texto. En este caso, si el contenido del parámetro comienza por "<?xml", 4D lo considerará como la DTD; de lo contrario, 4D lo considerará como una ruta de acceso.
Si no se puede efectuar la validación (no DTD, URL a DTD incorrecto, etc.), se genera un error. La variable sistema Error indica el número del error. Puede interceptar este error con la ayuda de un método instalado por el comando ON ERR CALL.
El comando devuelve una cadena de 16 caracteres (RefElement) que constituye la referencia en memoria de la estructura virtual de la variable. Esta referencia debe utilizarse con otros comandos de análisis XML.
Importante: una vez no lo necesite más, recuerde llamar al comando DOM CLOSE XML con esta referencia con el fin de liberar memoria.
Ejemplos
1. Apertura sin validación de un objeto XML ubicado en una variable Texto 4D:
C_TEXT(miVarText) C_TIME(vDoc) C_STRING(16;$xml_Ref_Estruct) vDoc:=Open document ("Documento.xml") If (OK=1) RECEIVE PACKET(vDoc;miVarText;32000) CLOSE DOCUMENT(vDoc) $xml_Ref_Estruct:=DOM Parse XML variable(miVarText) End if
2. Apertura sin validación de un documento XML ubicado en un BLOB 4D:
C_BLOB(miVarBlob) C_STRING(16;$xml_Ref_Estruct) DOCUMENT TO BLOB("c:\\importar.xml";miVarBlob) $xml_Ref_Estruct:=DOM Parse XML variable(miVarBlob)
Ver también
DOM CLOSE XML, DOM Parse XML source.
Variables y conjuntos sistema
Si el comando se ejecuta correctamente, la variable sistema OK toma el valor 1. Si ocurre un error, toma el valor 0.