diff --git a/www/account.php b/www/account.php index 0b17cfd..78487b9 100644 --- a/www/account.php +++ b/www/account.php @@ -1,6 +1,6 @@ "; $abstract = htmlspecialchars($row['abstract'], ENT_QUOTES); $date = date("M d, Y", $row['modify_date']); - if ($row['is_published'] == 0) - $title .= " "; - html_start_row(); print("
");
- Current Release: v1.3, December 21, 2003 | "
+ ." Current Release: v1.3, " + ."December 21, 2003 \n" + ."Mini-XML is a small XML parsing library that you can use to " + ."read XML and XML-like data files in your application without " + ."requiring large non-standard libraries. Mini-XML only requires " + ."an ANSI C compatible compiler (GCC works, as do most vendors' " + ."ANSI C compilers) and a 'make' program. \n" + ."Mini-XML provides the following functionality: \n" + ."
| ");
+html_end_row();
+html_end_table();
-" + ." | ");
- Mini-XML is a small XML parsing library that you can use to -read XML and XML-like data files in your application without -requiring large non-standard libraries. Mini-XML only requires -an ANSI C compatible compiler (GCC works, as do most vendors' -ANSI C compilers) and a "make" program. +$result = db_query("SELECT * FROM article WHERE is_published = 1 " + ."ORDER BY modify_date DESC LIMIT 4"); +$count = db_count($result); -Mini-XML provides the following functionality: - -
Mini-XML doesn't do validation or other types of processing -on the data based upon schema files or other sources of -definition information, nor does it support character entities -other than those required by the XML specification. Also, since -Mini-XML does not support the UTF-16 encoding, it is technically -not a conforming XML consumer/client. - -Building Mini-XML- -Mini-XML comes with an autoconf-based configure script; just -type the following command to get things going: - --./configure -- - The default install prefix is /usr/local, which can be -overridden using the --prefix option: - --./configure --prefix=/foo -- - Other configure options can be found using the --help -option: - --./configure --help -- - Once you have configured the software, type "make" to do the -build and run the test program to verify that things are -working, as follows: - --make -- - Installing Mini-XML- -The "install" target will install Mini-XML in the lib and -include directories: - --make install -- - Once you have installed it, use the "-lmxml" option to link -your application against it. - -Documentation- -The documentation is currently a work in progress. Aside from -the information that follows, the documentation page provides a -handy reference and is automatically generated using Mini-XML. -You can also look at the testmxml.c and mxmldoc.c source files for examples of -using Mini-XML. - -The Basics- -Mini-XML provides a single header file which you include: - --#include <mxml.h> -- - Nodes are defined by the mxml_node_t -structure; the type member -defines the node type (element, integer, opaque, real, or text) -which determines which value you want to look at in the value -union. New nodes can be created using the mxmlNewElement(), -mxmlNewInteger(), -mxmlNewOpaque(), -mxmlNewReal(), -and mxmlNewText() -functions. Only elements can have child nodes, and the top node -must be an element, usually "?xml". - -Each node has pointers for the node above (parent), below (child), -to the left (prev), and to the right (next) of the current -node. If you have an XML file like the following: - -- <?xml version="1.0"?> - <data> - <node>val1</node> - <node>val2</node> - <node>val3</node> - <group> - <node>val4</node> - <node>val5</node> - <node>val6</node> - </group> - <node>val7</node> - <node>val8</node> - <node>val9</node> - </data> -- - the node tree returned by mxmlLoadFile() would look -like the following in memory: - -- ?xml - | - data - | - node - node - node - group - node - node - node - | | | | | | | - val1 val2 val3 | val7 val8 val9 - | - node - node - node - | | | - val4 val5 val6 -- - where "-" is a pointer to the next node and "|" is a pointer -to the first child node. - -Once you are done with the XML data, use the mxmlDelete() -function to recursively free the memory that is used for a -particular node or the entire tree: - --mxmlDelete(tree); -- - Loading and Saving XML Files- -You load an XML file using the mxmlLoadFile() -function: - --FILE *fp; -mxml_node_t *tree; - -fp = fopen("filename.xml", "r"); -tree = mxmlLoadFile(NULL, fp, MXML_NO_CALLBACK); -fclose(fp); -- - The third argument specifies a callback function which -returns the value type of the immediate children for a new -element node: MXML_INTEGER, MXML_OPAQUE, -MXML_REAL, or MXML_TEXT. This function is -called after the element and its attributes have been -read, so you can look at the element name, attributes, and -attribute values to determine the proper value type to return. -The default value type is MXML_TEXT if no callback is used. - -Similarly, you save an XML file using the mxmlSaveFile() -function: - --FILE *fp; -mxml_node_t *tree; - -fp = fopen("filename.xml", "w"); -mxmlSaveFile(tree, fp, MXML_NO_CALLBACK); -fclose(fp); -- - Callback functions for saving are used to optionally insert -whitespace before and after elements in the node tree. Your -function will be called up to four times for each element node -with a pointer to the node and a "where" value of -MXML_WS_BEFORE_OPEN, MXML_WS_AFTER_OPEN, -MXML_WS_BEFORE_CLOSE, or MXML_WS_AFTER_CLOSE. -The callback function should return 0 if no whitespace should be -added and the character to insert (space, tab, newline) -otherwise. - -The mxmlLoadString(), -mxmlSaveAllocString(), -and mxmlSaveString() -functions load XML node trees from and save XML node trees to -strings: - --char buffer[8192]; -char *ptr; -mxml_node_t *tree; - -... -tree = mxmlLoadString(NULL, buffer, MXML_NO_CALLBACK); - -... -mxmlSaveString(tree, buffer, sizeof(buffer), MXML_NO_CALLBACK); - -... -ptr = mxmlSaveAllocString(tree, MXML_NO_CALLBACK); -- - Finding and Iterating Nodes- -The mxmlWalkPrev() -and mxmlWalkNext()functions -can be used to iterate through the XML node tree: - --mxml_node_t *node = mxmlWalkPrev(current, tree, MXML_DESCEND); - -mxml_node_t *node = mxmlWalkNext(current, tree, MXML_DESCEND); -- - In addition, you can find a named element/node using the mxmlFindElement() -function: - --mxml_node_t *node = mxmlFindElement(tree, tree, "name", "attr", - "value", MXML_DESCEND); -- - The name, attr, and value -arguments can be passed as NULL to act as wildcards, -e.g.: - --/* Find the first "a" element */ -node = mxmlFindElement(tree, tree, "a", NULL, NULL, MXML_DESCEND); - -/* Find the first "a" element with "href" attribute */ -node = mxmlFindElement(tree, tree, "a", "href", NULL, MXML_DESCEND); - -/* Find the first "a" element with "href" to a URL */ -node = mxmlFindElement(tree, tree, "a", "href", - "http://www.easysw.com/~mike/mxml/", MXML_DESCEND); - -/* Find the first element with a "src" attribute*/ -node = mxmlFindElement(tree, tree, NULL, "src", NULL, MXML_DESCEND); - -/* Find the first element with a "src" = "foo.jpg" */ -node = mxmlFindElement(tree, tree, NULL, "src", "foo.jpg", MXML_DESCEND); -- - You can also iterate with the same function: - --mxml_node_t *node; - -for (node = mxmlFindElement(tree, tree, "name", NULL, NULL, MXML_DESCEND); - node != NULL; - node = mxmlFindElement(node, tree, "name", NULL, NULL, MXML_DESCEND)) +if ($count == 0) + print("- The MXML_DESCEND argument can actually be one of three constants: +db_free($result); -
Getting Help and Reporting Problems- -You can email me at "mxml at easysw dot com" to -report problems and/or ask for help. Just don't expect an -instant response, as I get a lot of email... - -Legal Stuff- -The Mini-XML library is Copyright 2003-2004 by Michael Sweet. - -This library is free software; you can redistribute it -and/or modify it under the terms of the GNU Library General -Public License as published by the Free Software Foundation; -either version 2 of the License, or (at your option) any -later version. - -This library is distributed in the hope that it will be -useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. See the GNU Library General Public License for -more details. - -You should have received a copy of the GNU Library General -Public License along with this library; if not, write to the -Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA -02139, USA. - - |
Logins are currently only available to Mini-XML developers. " + ."If you are not a Mini-XML developer, please return to the " + ."home page and choose a different " + ."link.
\n" ."" ." | "); diff --git a/www/style.css b/www/style.css index 5eb1eba..425f303 100644 --- a/www/style.css +++ b/www/style.css @@ -10,10 +10,6 @@ P, TD, TH { font-family: serif; } -P.center { - text-align: center; -} - H1, H2, H3, H4, H5, H6 { color: #000000; font-family: sans-serif;
---|