static public function attributes($attributes)
    {
        $compiled = '';
        foreach($attributes as $key => $value) {
            if ($value === NULL) {
                // Skip attributes that have NULL values
                continue;
            }
            if (is_numeric($key)) {
                // Assume non-associative keys are mirrored attributes
                $key = $value;
            }
            // Add the attribute value
            $compiled .= ' '.$key.'="' . htmlspecialchars( (string) $value, ENT_QUOTES, self::$charset, true) . '"';
        }
        return $compiled;
    }