4D v14.3DOM Parse XML variable |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
DOM Parse XML variable
|
DOM Parse XML variable ( variable {; validation {; dtd | schema}} ) -> Function result | ||||||||
Parameter | Type | Description | ||||||
variable | BLOB, Text |
![]() |
Name of the variable | |||||
validation | Boolean |
![]() |
True = Validation by the DTD, False = No validation | |||||
dtd | schema | String |
![]() |
Location of the DTD or XML schema | |||||
Function result | String |
![]() |
Reference of XML element (16 characters) | |||||
The DOM Parse XML variable command parses a BLOB or Text type variable containing an XML structure and returns a reference for this variable. The command can validate (or not) the structure via a DTD or an XML schema (XML Schema Definition (XSD) document).
Pass the name of the BLOB or Text variable containing the XML object in the variable parameter.
The Boolean parameter validation indicates whether or not to validate the structure.
If you pass True in validation and omit the third parameter, the command attempts to validate the XML structure via a DTD or XSD reference found in the structure itself. Validation can be indirect: if the structure contains a reference to a DTD file that itself contains a reference to an XSD file, the command attempts to carry out both validations.
The third parameter indicates a specific DTD or an XML schema for document parsing. If you use this parameter, the command does not take the DTD referred to in the XML document into account.
Validation by DTD
There are two ways to specify a DTD:
Validation by schema
To validate the document via an XML schema, you just need to pass a file or URL with an “xsd” extension instead of a “dtd” one in the third parameter. Validation by XML schema is considered to be more flexible and more powerful than validation by DTD. The language of XSD documents is based on XML language. More particularly, XML schemas support data types. For more information about XML schemas, please refer to the following address: http://www.w3.org/XML/Schema.
If validation cannot be performed (no DTD or XSD, incorrect URL, etc.), an error is generated. The Error system variable indicates the error number. You can intercept this error using a method installed by the ON ERR CALL command.
The command returns a character string (ElementRef) making up the reference in the memory of the document virtual structure. This reference should be used with other XML parsing commands.
Important: Once you no longer have any need for it, remember to call the DOM CLOSE XML command with this reference in order to free up the memory.
Opening an XML object located in a 4D Text variable, without validation:
C_TEXT(myTextVar)
C_TIME(vDoc)
C_TEXT($xml_Struct_Ref)
vDoc:=Open document("Document.xml")
If(OK=1)
RECEIVE PACKET(vDoc;myTextVar;32000)
CLOSE DOCUMENT(vDoc)
$xml_Struct_Ref:=DOM Parse XML variable(myTextVar)
End if
Opening an XML document located in a 4D BLOB, without validation:
C_BLOB(myBlobVar)
C_TEXT($ref_XML_Struct)
DOCUMENT TO BLOB(c\\import.xml;myBlobVar)
$xml_Struct_Ref:=DOM Parse XML variable(myBlobVar)
If the command has been correctly executed, the system variable OK is set to 1. Otherwise, it is set to 0.
Product: 4D
Theme: XML DOM
Number:
720
Modified: 4D 2004
Modified: 4D v11 SQL
DOM CLOSE XML
DOM Parse XML source
4D Language Reference ( 4D v11 SQL Release 6)
4D Language Reference ( 4D v12.4)
4D Language Reference ( 4D v14 R2)
4D Language Reference ( 4D v14 R3)
4D Language Reference ( 4D v13.5)
4D Language Reference ( 4D v14.3)
4D Language Reference ( 4D v14 R4)