11 |
* |
* |
12 |
*/ |
*/ |
13 |
|
|
|
/** |
|
|
* <!DOCTYPE> tag class |
|
|
* |
|
|
*/ |
|
|
class DOCTYPEtag extends XMLTagClass { |
|
|
var $_tag = "!DOCTYPE"; |
|
|
var $_close_tag_required = FALSE; |
|
|
var $_content_required = FALSE; |
|
|
var $_always_upper_case = TRUE; |
|
|
var $_no_finish_slash_xhtml = TRUE; |
|
|
|
|
|
function DOCTYPEtag( $attributes=array() ) { |
|
|
$this->XMLTagClass( $this->get_tag_name(), |
|
|
$attributes); |
|
|
|
|
|
$num_args = func_num_args(); |
|
|
for ($i=1;$i<$num_args;$i++) { |
|
|
$this->add(func_get_arg($i)); |
|
|
} |
|
|
} |
|
|
} //!DOCTYPEtag |
|
|
|
|
14 |
|
|
15 |
/** |
/** |
16 |
* xml tag class |
* xml tag class |
17 |
|
* @package phpHtmlLib |
18 |
*/ |
*/ |
19 |
class XMLtag extends XMLTagClass { |
class XMLtag extends XMLTagClass { |
20 |
var $_tag = "xml"; |
var $_tag = "xml"; |
|
var $_close_tag_required = FALSE; |
|
|
var $_content_required = FALSE; |
|
|
var $_no_finish_slash_xhtml = TRUE; |
|
|
var $_always_lower_case = TRUE; |
|
21 |
var $_tag_prefix = "<?"; |
var $_tag_prefix = "<?"; |
22 |
var $_tag_postfix = " ?>"; |
var $_tag_postfix = " ?>"; |
23 |
|
|
29 |
for ($i=1;$i<$num_args;$i++) { |
for ($i=1;$i<$num_args;$i++) { |
30 |
$this->add(func_get_arg($i)); |
$this->add(func_get_arg($i)); |
31 |
} |
} |
32 |
|
$this->_set_flags(); |
33 |
|
} |
34 |
|
function _set_flags() { |
35 |
|
parent::_set_flags(); |
36 |
|
$this->_flags &= ~(_CONTENTREQUIRED | _CLOSETAGREQUIRED); |
37 |
|
$this->_flags |= _ALWAYS_LOWERCASE | _NOFINISHSLASHXHTML; |
38 |
} |
} |
39 |
} // XMLtag |
} // XMLtag |
40 |
|
|
41 |
/** |
/** |
42 |
* xml-stylesheet tag class |
* xml-stylesheet tag class |
43 |
|
* @package phpHtmlLib |
44 |
*/ |
*/ |
45 |
class XMLSTYLESHEETtag extends XMLtag { |
class XMLSTYLESHEETtag extends XMLtag { |
46 |
var $_tag = "xml-stylesheet"; |
var $_tag = "xml-stylesheet"; |
50 |
/** |
/** |
51 |
* A simple wrapper for standard XML |
* A simple wrapper for standard XML |
52 |
* CDATA section data |
* CDATA section data |
53 |
|
* @package phpHtmlLib |
54 |
*/ |
*/ |
55 |
class CDATAtag extends XMLtag { |
class CDATAtag extends XMLtag { |
56 |
var $_tag = "CDATA["; |
var $_tag = "CDATA["; |
|
var $_close_tag_required = FALSE; |
|
|
var $_no_finish_slash_xhtml = TRUE; |
|
57 |
var $_tag_prefix = "<!["; |
var $_tag_prefix = "<!["; |
58 |
var $_tag_postfix = "]]>"; |
var $_tag_postfix = "]]>"; |
59 |
|
|
64 |
for ($i=0;$i<$num_args;$i++) { |
for ($i=0;$i<$num_args;$i++) { |
65 |
$this->add(func_get_arg($i)); |
$this->add(func_get_arg($i)); |
66 |
} |
} |
67 |
|
$this->_set_flags(); |
68 |
} |
} |
69 |
|
|
70 |
|
function _set_flags() { |
71 |
|
parent::_set_flags(); |
72 |
|
$this->_flags &= ~_CLOSETAGREQUIRED; |
73 |
|
$this->_flags |= _NOFINISHSLASHXHTML; |
74 |
|
} |
75 |
|
|
76 |
|
|
77 |
function _render_open_tag( $indent_level, $finish_slash=FALSE ) { |
function _render_open_tag( $indent_level, $finish_slash=FALSE ) { |
78 |
//get the indent level |
//get the indent level |
80 |
|
|
81 |
$xml = $indent . $this->_tag_prefix . $this->_tag; |
$xml = $indent . $this->_tag_prefix . $this->_tag; |
82 |
|
|
83 |
if ($this->newline_after_opentag) { |
if ($this->_flags & _NEWLINEAFTEROPENTAG) { |
84 |
$xml .= "\n"; |
$xml .= "\n"; |
85 |
} |
} |
86 |
return $xml; |
return $xml; |
88 |
|
|
89 |
function _render_close_tag($indent_level) { |
function _render_close_tag($indent_level) { |
90 |
$indent = ""; |
$indent = ""; |
91 |
if ($this->indent_flag && $this->newline_after_opentag) { |
if (($this->_flags & _INDENT) && ($this->_flags & _NEWLINEAFTEROPENTAG)) { |
92 |
$indent = $this->_render_indent($indent_level); |
$indent = $this->_render_indent($indent_level); |
93 |
} |
} |
94 |
$str = $indent .$this->_tag_postfix; |
$str = $indent .$this->_tag_postfix; |
95 |
|
|
96 |
if ($this->newline_after_closetag) { |
if ($this->_flags & _NEWLINEAFTERCLOSETAG) { |
97 |
$str .= "\n"; |
$str .= "\n"; |
98 |
} |
} |
99 |
return $str; |
return $str; |