13 |
|
|
14 |
/** |
/** |
15 |
* <!DOCTYPE> tag class |
* <!DOCTYPE> tag class |
16 |
* |
* @package phpHtmlLib |
17 |
*/ |
*/ |
18 |
class DOCTYPEtag extends XMLTagClass { |
class DOCTYPEtag extends XMLTagClass { |
19 |
var $_tag = "!DOCTYPE"; |
var $_tag = "!DOCTYPE"; |
|
var $_close_tag_required = FALSE; |
|
|
var $_content_required = FALSE; |
|
|
var $_always_upper_case = TRUE; |
|
|
var $_no_finish_slash_xhtml = TRUE; |
|
20 |
|
|
21 |
function DOCTYPEtag( $attributes=array() ) { |
function DOCTYPEtag( $attributes=array() ) { |
22 |
$this->XMLTagClass( $this->get_tag_name(), |
$this->XMLTagClass( $this->get_tag_name(), |
26 |
for ($i=1;$i<$num_args;$i++) { |
for ($i=1;$i<$num_args;$i++) { |
27 |
$this->add(func_get_arg($i)); |
$this->add(func_get_arg($i)); |
28 |
} |
} |
29 |
|
$this->_set_flags(); |
30 |
|
} |
31 |
|
|
32 |
|
function _set_flags() { |
33 |
|
parent::_set_flags(); |
34 |
|
$this->_flags &= ~(_CONTENTREQUIRED | _CLOSETAGREQUIRED); |
35 |
|
$this->_flags |= _ALWAYS_UPPERCASE | _NOFINISHSLASHXHTML; |
36 |
} |
} |
37 |
} //!DOCTYPEtag |
} //!DOCTYPEtag |
38 |
|
|
39 |
|
|
40 |
/** |
/** |
41 |
* xml tag class |
* xml tag class |
42 |
|
* @package phpHtmlLib |
43 |
*/ |
*/ |
44 |
class XMLtag extends XMLTagClass { |
class XMLtag extends XMLTagClass { |
45 |
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; |
|
46 |
var $_tag_prefix = "<?"; |
var $_tag_prefix = "<?"; |
47 |
var $_tag_postfix = " ?>"; |
var $_tag_postfix = " ?>"; |
48 |
|
|
54 |
for ($i=1;$i<$num_args;$i++) { |
for ($i=1;$i<$num_args;$i++) { |
55 |
$this->add(func_get_arg($i)); |
$this->add(func_get_arg($i)); |
56 |
} |
} |
57 |
|
$this->_set_flags(); |
58 |
|
} |
59 |
|
function _set_flags() { |
60 |
|
parent::_set_flags(); |
61 |
|
$this->_flags &= ~(_CONTENTREQUIRED | _CLOSETAGREQUIRED); |
62 |
|
$this->_flags |= _ALWAYS_LOWERCASE | _NOFINISHSLASHXHTML; |
63 |
} |
} |
64 |
} // XMLtag |
} // XMLtag |
65 |
|
|
66 |
/** |
/** |
67 |
* xml-stylesheet tag class |
* xml-stylesheet tag class |
68 |
|
* @package phpHtmlLib |
69 |
*/ |
*/ |
70 |
class XMLSTYLESHEETtag extends XMLtag { |
class XMLSTYLESHEETtag extends XMLtag { |
71 |
var $_tag = "xml-stylesheet"; |
var $_tag = "xml-stylesheet"; |
75 |
/** |
/** |
76 |
* A simple wrapper for standard XML |
* A simple wrapper for standard XML |
77 |
* CDATA section data |
* CDATA section data |
78 |
|
* @package phpHtmlLib |
79 |
*/ |
*/ |
80 |
class CDATAtag extends XMLtag { |
class CDATAtag extends XMLtag { |
81 |
var $_tag = "CDATA["; |
var $_tag = "CDATA["; |
|
var $_close_tag_required = FALSE; |
|
|
var $_no_finish_slash_xhtml = TRUE; |
|
82 |
var $_tag_prefix = "<!["; |
var $_tag_prefix = "<!["; |
83 |
var $_tag_postfix = "]]>"; |
var $_tag_postfix = "]]>"; |
84 |
|
|
89 |
for ($i=0;$i<$num_args;$i++) { |
for ($i=0;$i<$num_args;$i++) { |
90 |
$this->add(func_get_arg($i)); |
$this->add(func_get_arg($i)); |
91 |
} |
} |
92 |
|
$this->_set_flags(); |
93 |
} |
} |
94 |
|
|
95 |
|
function _set_flags() { |
96 |
|
parent::_set_flags(); |
97 |
|
$this->_flags &= ~_CLOSETAGREQUIRED; |
98 |
|
$this->_flags |= _NOFINISHSLASHXHTML; |
99 |
|
} |
100 |
|
|
101 |
|
|
102 |
function _render_open_tag( $indent_level, $finish_slash=FALSE ) { |
function _render_open_tag( $indent_level, $finish_slash=FALSE ) { |
103 |
//get the indent level |
//get the indent level |
105 |
|
|
106 |
$xml = $indent . $this->_tag_prefix . $this->_tag; |
$xml = $indent . $this->_tag_prefix . $this->_tag; |
107 |
|
|
108 |
if ($this->newline_after_opentag) { |
if ($this->_flags & _NEWLINEAFTEROPENTAG) { |
109 |
$xml .= "\n"; |
$xml .= "\n"; |
110 |
} |
} |
111 |
return $xml; |
return $xml; |
113 |
|
|
114 |
function _render_close_tag($indent_level) { |
function _render_close_tag($indent_level) { |
115 |
$indent = ""; |
$indent = ""; |
116 |
if ($this->indent_flag && $this->newline_after_opentag) { |
if (($this->_flags & _INDENT) && ($this->_flags & _NEWLINEAFTEROPENTAG)) { |
117 |
$indent = $this->_render_indent($indent_level); |
$indent = $this->_render_indent($indent_level); |
118 |
} |
} |
119 |
$str = $indent .$this->_tag_postfix; |
$str = $indent .$this->_tag_postfix; |
120 |
|
|
121 |
if ($this->newline_after_closetag) { |
if ($this->_flags & _NEWLINEAFTERCLOSETAG) { |
122 |
$str .= "\n"; |
$str .= "\n"; |
123 |
} |
} |
124 |
return $str; |
return $str; |