EDIT1: Renamed some stuff and added some stuff.
EDIT2: Added Remove* functions (Jose suggestion)
Renamed functions from *Attribute to *Attr

Shawn, if there's sufficient reason to, we can 'overload' these functions by allowing the source argument to be either a path\filename, an XMLDOM object, or an XML string. This raises the complexity of the functions, but also addresses performance and increases usability.

All, I'm envisioning these functions as a cross between the _profilestring functions and the registry functions. Kinda mimics real life as XML seems to be a cross between INI and a hierarchal db like the REG. Here's how I see it, please comment:

Core functions (We have a solid base on most of this already)
Code:
  

LoadXML() - Load an existing .XML file, instantiate XMLDOM object for use regardless of file existance.
SaveXML() - Saves an XMLDOM object
FormatXML() - Formats the output style of an XMLDOM object to the standard

EnumXMLElement() - Enums child elements of a given element
EnumXMLAttr() - Enums all attributes of an element

CreateXMLElement() - Creates an empty element pair
RemoveXMLElement() - Deletes an XML element (Recursively?)

WriteXMLValue() - Writes a value to an XML element
ReadXMLValue() - Reads the value of an XML element

WriteXMLAttr() - Writes an attribute to an XML element
ReadXMLAttr() - Read a specific attribute of an XML element
RemoveXMLAttr() - Deletes an XML element attribut


Secondary functions
Code:
 

ApplyXSL() - Applies an XSL template. (Much potential here for an expanded set, see
http://www.devguru.com/Technologies/xslt/quickref/xslt_index.html
or NTDOC's post above.
FilterXML() - Apply a filter to an XMLDOM object. (Search the db. XSL related.)



Edited by jtokach (2005-03-18 08:07 PM)
_________________________
-Jim

...the sort of general malaise that only the genius possess and the insane lament.