function getDocTypeDeclaration($root, $uri = null, $internalDtd = null)
    {
        if (is_array($uri)) {
            $ref = sprintf(' PUBLIC "%s" "%s"', $uri['id'], $uri['uri']);
        } elseif (!empty($uri)) {
            $ref = sprintf(' SYSTEM "%s"', $uri);
        } else {
            $ref = '';
        }

        if (empty($internalDtd)) {
            return sprintf('<!DOCTYPE %s%s>', $root, $ref);
        } else {
            return sprintf("<!DOCTYPE %s%s [\n%s\n]>", $root, $ref, $internalDtd);
        }
    }
function getDocTypeDeclaration($root, $uri = null, $internalDtd = null)
    {
        if (is_array($uri)) {
            $ref = sprintf(' PUBLIC "%s" "%s"', $uri['id'], $uri['uri']);
        } elseif (!empty($uri)) {
            $ref = sprintf(' SYSTEM "%s"', $uri);
        } else {
            $ref = '';
        }

        if (empty($internalDtd)) {
            return sprintf('<!DOCTYPE %s%s>', $root, $ref);
        } else {
            return sprintf("<!DOCTYPE %s%s [\n%s\n]>", $root, $ref, $internalDtd);
        }
    }
function getDocTypeDeclaration ( $ root , $ uri = null , $ internalDtd = null ) { if ( is_array ( $ uri ) ) { $ ref = sprintf ( ' PUBLIC "%s" "%s"' , $ uri [ 'id' ] , $ uri [ 'uri' ] ) ; } elseif ( ! empty ( $ uri ) ) { $ ref = sprintf ( ' SYSTEM "%s"' , $ uri ) ; } else { $ ref = '' ; } if ( empty ( $ internalDtd ) ) { return sprintf ( '<!DOCTYPE %s%s>' , $ root , $ ref ) ; } else { return sprintf ( "<!DOCTYPE %s%s [\n%s\n]>" , $ root , $ ref , $ internalDtd ) ; } }
build a document type declaration

<code>
require_once 'XML/Util.php';

// get a doctype declaration:
$xmlDecl = XML_Util::getDocTypeDeclaration('rootTag','myDocType.dtd');
</code>

@param string $root        name of the root tag
@param string $uri         uri of the doctype definition
(or array with uri and public id)
@param string $internalDtd internal dtd entries

@return string doctype declaration
@access public
@static
@since 0.2
build a document type declaration