uw Sun Feb 18 08:59:52 2001 EDT
Modified files:
/php4/pear/PHPDoc/xmlwriter PhpdocXMLWriter.php
Log:
Sorry, whitespace only changes to follow the PEAR Coding conventions. Replaced tabs
with spaces.
Index: php4/pear/PHPDoc/xmlwriter/PhpdocXMLWriter.php
diff -u php4/pear/PHPDoc/xmlwriter/PhpdocXMLWriter.php:1.3
php4/pear/PHPDoc/xmlwriter/PhpdocXMLWriter.php:1.4
--- php4/pear/PHPDoc/xmlwriter/PhpdocXMLWriter.php:1.3 Sun Dec 3 14:37:39 2000
+++ php4/pear/PHPDoc/xmlwriter/PhpdocXMLWriter.php Sun Feb 18 08:59:52 2001
@@ -6,170 +6,169 @@
* not much what this class can do but it provides some simple
* functions to handle attributes and hides file handling tasks.
*
-* @author Ulf Wendel <[EMAIL PROTECTED]>
-* @version $Id: PhpdocXMLWriter.php,v 1.3 2000/12/03 22:37:39 uw Exp $
+* @version $Id: PhpdocXMLWriter.php,v 1.4 2001/02/18 16:59:52 uw Exp $
*/
class PhpdocXMLWriter extends PhpdocObject {
-
- /**
- * Generated XML document.
- *
- * @var string $xml
- */
- var $xml = "";
-
- /**
- * PHPDoc Warning object
- *
- * @var object PhpdocWarning
- */
- var $warn;
-
- /**
- * Filehandler used for IO operations
- *
- * @var object PhpdocFilehandler
- * @see PhpdocXMLWriter()
- */
- var $fileHandler;
-
- /**
- * Creates a new PhpdocFileHandler
- *
- * @see $filehandler
- */
- function PhpdocXMLWriter() {
- $this->fileHandler = new PhpdocFileHandler;
- } // end constructor
-
- /**
- * Clears the internal xml data buffer so that a new document can be passed to
the object.
- * @access public
- */
- function free() {
- $this->xml = "";
- } // end func free
-
- /**
- * Adds xml to the generated xml.
- *
- * @param string xml to append
- * @access public
- */
- function addXML($xml) {
-
- $this->xml.= $xml;
-
- } // end func addXML
+
+ /**
+ * Generated XML document.
+ *
+ * @var string $xml
+ */
+ var $xml = "";
+
+ /**
+ * PHPDoc Warning object
+ *
+ * @var object PhpdocWarning
+ */
+ var $warn;
+
+ /**
+ * Filehandler used for IO operations
+ *
+ * @var object PhpdocFilehandler
+ * @see PhpdocXMLWriter()
+ */
+ var $fileHandler;
+
+ /**
+ * Creates a new PhpdocFileHandler
+ *
+ * @see $filehandler
+ */
+ function PhpdocXMLWriter() {
+ $this->fileHandler = new PhpdocFileHandler;
+ } // end constructor
+
+ /**
+ * Clears the internal xml data buffer so that a new document can be passed to the
+object.
+ * @access public
+ */
+ function free() {
+ $this->xml = "";
+ } // end func free
+
+ /**
+ * Adds xml to the generated xml.
+ *
+ * @param string xml to append
+ * @access public
+ */
+ function addXML($xml) {
+
+ $this->xml.= $xml;
+
+ } // end func addXML
- /**
- * Saves the xml to the specified file.
- *
- * @param string Name of the target file
- * @access public
- */
- function export($filename) {
- return $this->fileHandler->createFile($filename, $this->xml);
- } // end func export
-
- /**
- * Adds an open (or single) xml tag to the generated xml.
- *
- * Use this function to add new elements/tags to the xml document.
- * The tagname and all attributenames will be converted to lowercase.
- *
- * @param string elementname (tagname)
- * @param string value of the container: <name>value
- * @param array Array of attributes: $attribs[n][type] =
boolean|cdata, $attribs[n][value] = value
- * @param boolean Flag indication that you want an empty tag like
<name/>.
- * @access public
- * @see endElement()
- */
- function startElement($name, $value="", $attribs="", $close = false) {
-
- $xml = "<".strtolower($name);
-
- if (is_array($attribs)) {
-
- reset($attribs);
- while (list($attrib, $data)=each($attribs)) {
-
- $attrib = strtolower($attrib);
- $type = strtolower($data["type"]);
-
- switch($type) {
- case "boolean":
- $xml.= sprintf(' %s="%s"', $attrib,
($data["value"]) ? "true" : "false");
- break;
-
- case "cdata":
- $xml.= sprintf(' %s="%s"', $attrib,
$this->xmlencode($data["value"]) );
- break;
- }
- }
-
- }
-
- if ($close) {
-
- $xml.= "/>";
-
- } else {
-
- $xml.= ">";
- if (""!=$value)
- $xml.= $this->xmlencode($value);
-
- }
-
- $this->xml.= $xml;
-
- } // end func startElement
-
- /**
- * Adds a closing xml tag to the generated xml document.
- *
- * @param string Elementname (tagname)
- * @access public
- * @see startElement()
- */
- function endElement($name) {
- $this->xml.= sprintf("</%s>", strtolower($name) );
- } // end func endElement
-
- /**
- * Adds a complete xml container to the generated xml document.
- *
- * @param string Elementname (tagname)
- * @param string Value
- * @param array Attributes
- * @access public
- * @see startElement(), endElement()
- */
- function addElement($name, $value="", $attribs="") {
-
- if (""==$value) {
-
- $this->startElement($name, $value, $attribs, true);
-
- } else {
-
- $this->startElement($name, $value, $attribs, false);
- $this->endElement($name);
-
- }
-
- } // end func addElement
-
- /**
- * Encodes XML values.
- * @param string $value
- * @return string $value
- */
- function xmlencode($value) {
-# return preg_replace( array("@<@", "@>@", "@'@", '@"@', "@&@", "@" .
PHPDOC_LINEBREAK ."@", "@\n@", "@\r@"), array("<", ">", "'", """,
"&", '
', '
', '
'), $value);
- return utf8_encode(preg_replace( array("@<@", "@>@", "@'@", '@"@',
"@&@", "@" . PHPDOC_LINEBREAK . "@", "@\n@", "@\r@"), array("<", ">", "'",
""", "&", '
', '
', '
'), $value));
- } // end func xmlencode
-
+ /**
+ * Saves the xml to the specified file.
+ *
+ * @param string Name of the target file
+ * @access public
+ */
+ function export($filename) {
+ return $this->fileHandler->createFile($filename, $this->xml);
+ } // end func export
+
+ /**
+ * Adds an open (or single) xml tag to the generated xml.
+ *
+ * Use this function to add new elements/tags to the xml document.
+ * The tagname and all attributenames will be converted to lowercase.
+ *
+ * @param string elementname (tagname)
+ * @param string value of the container: <name>value
+ * @param array Array of attributes: $attribs[n][type] = boolean|cdata,
+$attribs[n][value] = value
+ * @param boolean Flag indication that you want an empty tag like <name/>.
+ * @access public
+ * @see endElement()
+ */
+ function startElement($name, $value = "", $attribs = "", $close = false) {
+
+ $xml = "<" . strtolower($name);
+
+ if (is_array($attribs)) {
+
+ reset($attribs);
+ while (list($attrib, $data) = each($attribs)) {
+
+ $attrib = strtolower($attrib);
+ $type = strtolower($data["type"]);
+
+ switch($type) {
+ case "boolean":
+ $xml.= sprintf(' %s="%s"', $attrib, ($data["value"]) ? "true"
+: "false");
+ break;
+
+ case "cdata":
+ $xml.= sprintf(' %s="%s"', $attrib,
+$this->xmlencode($data["value"]) );
+ break;
+ }
+ }
+
+ }
+
+ if ($close) {
+
+ $xml .= "/>";
+
+ } else {
+
+ $xml .= ">";
+ if ("" != $value)
+ $xml .= $this->xmlencode($value);
+
+ }
+
+ $this->xml .= $xml;
+
+ } // end func startElement
+
+ /**
+ * Adds a closing xml tag to the generated xml document.
+ *
+ * @param string Elementname (tagname)
+ * @access public
+ * @see startElement()
+ */
+ function endElement($name) {
+ $this->xml .= sprintf("</%s>", strtolower($name));
+ } // end func endElement
+
+ /**
+ * Adds a complete xml container to the generated xml document.
+ *
+ * @param string Elementname (tagname)
+ * @param string Value
+ * @param array Attributes
+ * @access public
+ * @see startElement(), endElement()
+ */
+ function addElement($name, $value = "", $attribs = "") {
+
+ if ("" == $value) {
+
+ $this->startElement($name, $value, $attribs, true);
+
+ } else {
+
+ $this->startElement($name, $value, $attribs, false);
+ $this->endElement($name);
+
+ }
+
+ } // end func addElement
+
+ /**
+ * Encodes XML values.
+ * @param string $value
+ * @return string $value
+ */
+ function xmlencode($value) {
+# return preg_replace( array("@<@", "@>@", "@'@", '@"@', "@&@", "@" .
+PHPDOC_LINEBREAK ."@", "@\n@", "@\r@"), array("<", ">", "'", """,
+"&", '
', '
', '
'), $value);
+ return utf8_encode(preg_replace( array("@<@", "@>@", "@'@", '@"@', "@&@", "@"
+. PHPDOC_LINEBREAK . "@", "@\n@", "@\r@"), array("<", ">", "'", """,
+"&", '
', '
', '
'), $value));
+ } // end func xmlencode
+
} // end class PhpdocXMLWriter
?>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]