Prerrequisito: Conceptos básicos de XML
La función xml_parser_set_option() es una función incorporada en PHP que se usa para configurar las opciones en un analizador XML.
Sintaxis:
bool xml_parser_set_option( resource $parser, int $specified_option, mixed $option_value)
Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:
- $parser: es un parámetro obligatorio que especifica el analizador XML cuyas opciones se van a configurar.
- $specified_option: es un parámetro obligatorio que especifica las opciones que se establecerán para el analizador especificado.
Los posibles valores de este parámetro son:- XML_OPTION_CASE_FOLDING: Se utiliza para verificar si el plegado de casos está habilitado o no. El valor 1 representa habilitar y 0 representa el valor de deshabilitar.
- XML_OPTION_TARGET_ENCODING: especifica la codificación de destino en el analizador XML especificado. Establezca el nombre de la codificación (US-ASCII, UTF-8 o ISO-8859-1, etc.).
- XML_OPTION_SKIP_TAGSTART: Especifica el número de caracteres que se saltan al principio del nombre de una etiqueta.
- XML_OPTION_SKIP_WHITE: Se utiliza para comprobar si se saltan o no los caracteres de espacio en blanco. El valor 1 se utiliza para saltar y 0 en caso contrario.
- $option_value: es un parámetro obligatorio que especifica que se establecerá un nuevo valor para la opción especificada.
Valor devuelto: Devuelve True en caso de éxito o False en caso de fallo.
Nota: Esta función está disponible para PHP 4.0.0 y versiones posteriores.
Programa 1:
<?php // Creating XML parser $parser = xml_parser_create(); // Set the option XML_OPTION_CASE_FOLDING $res = xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); if( $res ){ // On success echo "option XML_OPTION_CASE_FOLDING has successfully been set!<br>"; } else { // On failure echo "error while setting option XML_OPTION_CASE_FOLDING!<br>"; } // Setting the option XML_OPTION_TARGET_ENCODING $res = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8'); if($res) { // On success echo "option XML_OPTION_TARGET_ENCODING has successfully been set!"; } else { // On failure echo "error while setting option XML_OPTION_TARGET_ENCODING!"; } // Free to XML parser xml_parser_free($parser); ?>
Producción:
option XML_OPTION_CASE_FOLDING has successfully been set! option XML_OPTION_TARGET_ENCODING has successfully been set!
Programa 2: Este programa muestra el resultado en un valor incorrecto.
<?php // Creating an XML parser $parser = xml_parser_create(); // Setting the option XML_OPTION_TARGET_ENCODING $res = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, '0'); if($res) { // On success echo "option XML_OPTION_TARGET_ENCODING has successfully been set!"; } else { // On failure echo "error while setting option XML_OPTION_TARGET_ENCODING!"; } // Free to XML parser xml_parser_free($parser); ?>
Nota: se producirá un error de tiempo de ejecución para este ejemplo, ya que el valor no es válido para la opción.
Producción:
error while setting option XML_OPTION_TARGET_ENCODING!
Referencia: https://www.php.net/manual/en/function.xml-parser-set-option.php