{"id":1397,"date":"2018-01-19T19:22:47","date_gmt":"2018-01-19T19:22:47","guid":{"rendered":"http:\/\/goofy-trucks.flywheelsites.com\/dynamic-xml-conversion-using-the-sax-parser-page-6\/"},"modified":"2018-01-19T19:24:45","modified_gmt":"2018-01-19T19:24:45","slug":"dynamic-xml-conversion-using-the-sax-parser-page-6","status":"publish","type":"post","link":"https:\/\/phpbuilder.com\/dynamic-xml-conversion-using-the-sax-parser-page-6\/","title":{"rendered":"Dynamic XML Conversion Using the SAX Parser Page 6"},"content":{"rendered":"<div class=\"phpbuilder-content\">\n<div class=\"phpbuilder-meta\">\n<div class=\"\">By PHP Builder Staff<\/div>\n<div class=\"\">on April 28, 2003<\/div>\n<\/p><\/div>\n<div id=\"overflow-content\">\n<div class=\"articlePara\">\nHere&#8217;s the whole script:\n<\/div>\n<div class=\"articleHeader2\">\nfile test.php:\n<\/div>\n<div class=\"articlePhpEx\">\n<font face=\"courier\"><code><span style=\"color: #000000\"><\/p>\n<p><span style=\"color: #0000BB\">&lt;?php<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/---------------\u00a0The\u00a0Stack\u00a0--------------------\/\/<\/p>\n<p><\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">=array();<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">push<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0This\u00a0function\u00a0puts\u00a0the\u00a0data\u00a0in\u00a0the\u00a0argument\u00a0onto\u00a0the\u00a0stack<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">global\u00a0<\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">array_push<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">pop<\/span><span style=\"color: #007700\">()\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0This\u00a0function\u00a0takes\u00a0the\u00a0uppermost\u00a0data<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0from\u00a0the\u00a0stack\u00a0and\u00a0returns\u00a0it<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">global\u00a0<\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Error\u00a0checking<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">if(<\/span><span style=\"color: #0000BB\">count<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">)==<\/span><span style=\"color: #0000BB\">0<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0die(<\/span><span style=\"color: #DD0000\">\"Error:\u00a0Buffer\u00a0Underflow!\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">array_pop<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$stack<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>}<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/---------------\u00a0XML\u00a0converter-----------------\/\/<\/p>\n<p><\/span><span style=\"color: #007700\">function\u00a0<\/span><span style=\"color: #0000BB\">create_xml_tag<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/returns\u00a0a\u00a0valid\u00a0XML\u00a0tag<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">\"&lt;$name\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$attributestring<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">\"\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0foreach(<\/span><span style=\"color: #0000BB\">$attrs\u00a0<\/span><span style=\"color: #007700\">as\u00a0<\/span><span style=\"color: #0000BB\">$attr<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #0000BB\">$value<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'\u00a0'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$attr<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #DD0000\">'=\"'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$value<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #DD0000\">'\"'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Is\u00a0this\u00a0tag\u00a0empty?\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">if(<\/span><span style=\"color: #0000BB\">strlen<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">)==<\/span><span style=\"color: #0000BB\">0<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'\u00a0\/&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0else\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&gt;'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #DD0000\">'&lt;\/'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #DD0000\">'&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">LoadAndExec<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$filename<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0This\u00a0function\u00a0opens\u00a0a\u00a0file,\u00a0executes\u00a0its\u00a0PHP\u00a0functions,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0and\u00a0returns\u00a0the\u00a0output.\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0start\u00a0an\u00a0output\u00a0buffer<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">ob_start<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0include\u00a0the\u00a0file\u00a0and\u00a0execute\u00a0its\u00a0PHP\u00a0code<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">include(<\/span><span style=\"color: #0000BB\">$filename<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Stop\u00a0buffer\u00a0and\u00a0return\u00a0its\u00a0contents<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$content<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">ob_get_contents<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">ob_end_clean<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">$content<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">doParse<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xml<\/span><span style=\"color: #007700\">)\u00a0<br \/>\n<br \/>{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0This\u00a0function\u00a0initializes\u00a0the\u00a0stack,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0starts\u00a0the\u00a0SAX\u00a0parser\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0and\u00a0returns\u00a0the\u00a0bottom\u00a0stack\u00a0element<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0Put\u00a0an\u00a0empty\u00a0element\u00a0onto\u00a0the\u00a0stack\u00a0-\u00a0this\u00a0will\u00a0contain\u00a0the\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0output\u00a0of\u00a0the\u00a0parsing\u00a0process.<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">push<\/span><span style=\"color: #007700\">(array(<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"\"<\/span><span style=\"color: #007700\">));<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Initialize\u00a0SAX\u00a0parser<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">xml_parser_create<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"ISO-8859-1\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Assign\u00a0element\u00a0handling\u00a0functions<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">xml_set_element_handler<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #DD0000\">\"tag_open\"<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #DD0000\">\"tag_close\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">xml_set_character_data_handler<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #DD0000\">\"cdata\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">xml_set_default_handler<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #DD0000\">\"cdata\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Start\u00a0the\u00a0parsing\u00a0process<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">if\u00a0(!<\/span><span style=\"color: #0000BB\">xml_parse<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$xml<\/span><span style=\"color: #007700\">))\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0die(<\/span><span style=\"color: #DD0000\">\"Error\u00a0parsing\u00a0XML!\"<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Destroy\u00a0the\u00a0parser<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">xml_parser_free<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xmlparser<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0return\u00a0contents\u00a0of\u00a0the\u00a0bottom\u00a0stack\u00a0element<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$first<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">pop<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">$first<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">];<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">tag_open<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$parser<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0<br \/>\n<br \/>{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/Push\u00a0the\u00a0attribute\u00a0list\u00a0onto\u00a0the\u00a0stack<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">push<\/span><span style=\"color: #007700\">(array(<\/span><span style=\"color: #DD0000\">\"attrs\"<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"\"<\/span><span style=\"color: #007700\">));<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">cdata<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$parser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$string<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Fetch\u00a0from\u00a0Stack,\u00a0insert\u00a0the\u00a0character\u00a0data,\u00a0and\u00a0put\u00a0it\u00a0back<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">pop<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">].=<\/span><span style=\"color: #0000BB\">$string<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">push<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">tag_close<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$parser<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0This\u00a0function\u00a0first\u00a0looks\u00a0for\u00a0a\u00a0handling\u00a0function\u00a0for\u00a0the\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0current\u00a0tag.\u00a0If\u00a0there\u00a0is\u00a0none,\u00a0the\u00a0tag\u00a0gets\u00a0passed\u00a0through.<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0If\u00a0a\u00a0handling\u00a0function\u00a0exists,\u00a0execute\u00a0it\u00a0and\u00a0add\u00a0its\u00a0return\u00a0data<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0to\u00a0the\u00a0contents\u00a0of\u00a0the\u00a0stack\u00a0element\u00a0under\u00a0it<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\/\/\u00a0The\u00a0name\u00a0of\u00a0the\u00a0tag\u00a0handling\u00a0function\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$function<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">\"handle_\"<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">strtolower<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Fetch\u00a0the\u00a0content\u00a0and\u00a0attributes\u00a0of\u00a0the\u00a0current\u00a0tag\u00a0from\u00a0the\u00a0stack<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">pop<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0if(<\/span><span style=\"color: #0000BB\">function_exists<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$function<\/span><span style=\"color: #007700\">))\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0The\u00a0tag\u00a0handling\u00a0function\u00a0exists.\u00a0Execute\u00a0it!<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">call_user_func<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$function<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">],<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"attrs\"<\/span><span style=\"color: #007700\">]);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0else\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0No\u00a0handling\u00a0function\u00a0for\u00a0this\u00a0tag.\u00a0Pass\u00a0it\u00a0through.<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">create_xml_tag<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$name<\/span><span style=\"color: #007700\">,\u00a0<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"attrs\"<\/span><span style=\"color: #007700\">],\u00a0<\/span><span style=\"color: #0000BB\">$data<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">]);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Create\u00a0a\u00a0string\u00a0with\u00a0the\u00a0attributes\u00a0in\u00a0XML\u00a0format<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">}<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/\u00a0Take\u00a0the\u00a0converted\u00a0tag\u00a0and\u00a0add\u00a0it\u00a0to\u00a0the\u00a0contents\u00a0of\u00a0the\u00a0tag\u00a0around\u00a0it\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$sublevel<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">pop<\/span><span style=\"color: #007700\">();<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$sublevel<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"contents\"<\/span><span style=\"color: #007700\">].=<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">push<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$sublevel<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>}<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/---------------\u00a0Tag\u00a0handling\u00a0functions\u00a0------------------\/\/<\/p>\n<p><\/span><span style=\"color: #007700\">function\u00a0<\/span><span style=\"color: #0000BB\">handle_doc<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">''<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;html&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;head&gt;&lt;title&gt;'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"TITLE\"<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'&lt;\/title&gt;&lt;\/head&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;table\u00a0border=\"1\"\u00a0bgcolor=\"'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"BGCOLOR\"<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'\"\u00a0width=\"90%\"\u00a0align=\"center\"\u00a0cellpadding=\"15\"&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;tr&gt;&lt;td&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/html&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">handle_dayofweek<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return(<\/span><span style=\"color: #0000BB\">date<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"l\"<\/span><span style=\"color: #007700\">));<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">handle_bigheadline<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return(<\/span><span style=\"color: #DD0000\">'&lt;b&gt;&lt;font\u00a0size=\"5\"\u00a0face=\"Verdana\"&gt;'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #DD0000\">'&lt;\/font&gt;&lt;\/b&gt;'<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">handle_nicebox<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">\"\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;table\u00a0border=\"0\"\u00a0cellspacing=\"0\"\u00a0cellpadding=\"1\"'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'\u00a0bgcolor=\"'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"BORDERCOLOR\"<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'\"&gt;&lt;tr&gt;&lt;td&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;table\u00a0border=\"0\"\u00a0cellspacing=\"5\"\u00a0cellpadding=\"0\"'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'\u00a0bgcolor=\"white\"&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;tr&gt;&lt;td&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #FF8000\">\/\/uncomment\u00a0this\u00a0to\u00a0get\u00a0a\u00a0dump\u00a0of\u00a0the\u00a0stack\u00a0in\u00a0action<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\/\/echo\u00a0\"&lt;pre&gt;\";var_dump($GLOBALS[\"stack\"]);echo\u00a0\"&lt;\/pre&gt;\";<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">return\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<\/p>\n<p>function\u00a0<\/span><span style=\"color: #0000BB\">handle_product<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$contents<\/span><span style=\"color: #007700\">,<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">)\u00a0{<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$names<\/span><span style=\"color: #007700\">=array(\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">0<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"Quattro\u00a0Stagioni\"<\/span><span style=\"color: #007700\">,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">1<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"Diavola\"<\/span><span style=\"color: #007700\">,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">2<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"Margherita\"<\/span><span style=\"color: #007700\">,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">3<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"Tonno\"<\/span><span style=\"color: #007700\">,<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">4<\/span><span style=\"color: #007700\">=&gt;<\/span><span style=\"color: #DD0000\">\"Capricciosa\"<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #007700\">);<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #DD0000\">\"\"<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;a\u00a0href=\"products.php?id='<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"ID\"<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'\"&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #0000BB\">$names<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #0000BB\">$attrs<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">\"ID\"<\/span><span style=\"color: #007700\">]].<\/span><span style=\"color: #DD0000\">'\u00a0-\u00a0click\u00a0here\u00a0to\u00a0buy!'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">.=<\/span><span style=\"color: #DD0000\">'&lt;\/a&gt;'<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>\u00a0\u00a0\u00a0\u00a0return\u00a0<\/span><span style=\"color: #0000BB\">$buffer<\/span><span style=\"color: #007700\">;<br \/>\n<br \/>}<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/---------------\u00a0Main\u00a0program------------------\/\/<\/p>\n<p>\/\/\u00a0Read\u00a0in\u00a0the\u00a0XML\u00a0file\u00a0and\u00a0execute\u00a0its\u00a0PHP\u00a0code<br \/>\n<br \/><\/span><span style=\"color: #0000BB\">$xml<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">LoadAndExec<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"test.pxml\"<\/span><span style=\"color: #007700\">);<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/Convert\u00a0the\u00a0XML\u00a0to\u00a0HTML\u00a0using\u00a0the\u00a0tag\u00a0handling\u00a0functions<br \/>\n<br \/><\/span><span style=\"color: #0000BB\">$html<\/span><span style=\"color: #007700\">=<\/span><span style=\"color: #0000BB\">doParse<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$xml<\/span><span style=\"color: #007700\">);<\/p>\n<p><\/span><span style=\"color: #FF8000\">\/\/\u00a0Output\u00a0the\u00a0converted\u00a0XML\u00a0to\u00a0the\u00a0browser<br \/>\n<br \/><\/span><span style=\"color: #007700\">echo\u00a0<\/span><span style=\"color: #0000BB\">$html<\/span><span style=\"color: #007700\">;<br \/>\n<br \/><\/span><span style=\"color: #0000BB\">?&gt;<br \/>\n<br \/><\/span><br \/>\n<\/span><br \/>\n<\/code><\/font><\/div>\n<\/div>\n<p><\/p>\n<div style=\"float: left; padding:15px; color:#17AAF3\">\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"scheffler20030325af4d.html?page=5\">\u00ab Previous Page<\/a><\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler20030325.html\">1<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler200303254658.html?page=2\">2<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler200303259ba9.html?page=3\">3<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler20030325fdb0.html?page=4\">4<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler20030325af4d.html?page=5\">5<\/a> <\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"background-color:#B6E5FC; font-size:16px; margin-top:1px; padding:1px 4px 1px 4px; color:#000; font-style:bold; float:left;\">6<\/div>\n<div style=\"float:left; font-size:16px; color:#FF7A22; padding:2px 2px 2px 2px; \">| <\/div>\n<div style=\"float:left; padding:2px 4px 2px 4px;\"><a class=\"pageNumber\" href=\"scheffler20030325235c.html?page=7\">7<\/a> <\/div>\n<div style=\"float:left; padding:2px;\"><a class=\"paginationPageLink\" href=\"scheffler20030325235c.html?page=7\">Next Page \u00bb<\/a><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>This article describes an alternative way of converting XML to HTML using the SAX parser. For each tag you<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1397","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/comments?post=1397"}],"version-history":[{"count":1,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1397\/revisions"}],"predecessor-version":[{"id":3267,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/posts\/1397\/revisions\/3267"}],"wp:attachment":[{"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/media?parent=1397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/categories?post=1397"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phpbuilder.com\/wp-json\/wp\/v2\/tags?post=1397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}