proc template;
   define tagset Tagsets.sasxmog1;
   notes "SAS-XML generic XML-Data";
   define event doc;
      start:
         put '<HTML>' NL;
         put '<BODY>' NL;
         put '<XML id=sortName src="class2.xsl"></XML>' NL;
         put '<XML id=sortNumber src="class3.xsl"></XML>' NL;
         put '<XML id=getAtoM src="getAtoM.xsl"></XML>' NL;
         put '<SCRIPT>' NL;
         put 'function sort(xsldoc){' NL;
         put 'var xmldoc = xmldso.cloneNode(true);' NL;
         put 'xmldoc.documentElement.transformNodeToObject(xsldoc.documentElement,xmldso.XMLDocument);' NL;
         put '}' NL;
         put 'function syncChanges(){' NL;
         put ' for (var i=0;i<xmldso.documentElement.childNodes.length;i++)' NL;
         put ' {' NL;
         put '  var currentNode = xmldso.documentElement.childNodes(i).cloneNode(true);' NL;
         put '  var query = "CLASS[Name = '" + currentNode.childNodes.item(0).text + "']";' NL;
         put '  var origNode = xmldoc.documentElement.selectSingleNode(query);' NL;
         put '   if (currentNode != origNode) ' NL;
         put '  {' NL;
         put '   xmldoc.documentElement.replaceChild(currentNode,origNode);' NL;
         put '  }' NL;
         put '}' NL;
         put '}' NL;
         put '</SCRIPT>' NL;
         put '<xml id=xmldso>' NL;
      finish:
         put "</xml>" NL;
         put  '<h2 align=center>  Database application to that sorts and filters data</h2>';
         put  '<TABLE align=center DATASRC="#xmldso" BORDER CELLPADDING=3>' NL;
         put  '<THEAD style="color:tan;background:brown;font-size:18">';
         put  '<TH>NAME</TH><TH>Sex</TH><TH>Age</TH><TH>Height</TH><th>Weight</th></THEAD>' NL;
         put  '<TR style="background:tan;font-size:20">' NL;
         put  '<TD><SPAN DATAFLD="Name"></SPAN></TD>' NL;
         put  '<TD><SPAN DATAFLD="Sex"></SPAN></TD>' NL;
         put  '<TD><SPAN DATAFLD="Age"></SPAN></TD>' NL;
         put  '<TD><SPAN DATAFLD="Height"></SPAN></TD>' NL;
         put  '<TD><SPAN DATAFLD="Weight"></SPAN></TD>' NL;
         put '</TABLE>' NL;
         put '<div align=center><INPUT TYPE=BUTTON VALUE="Sort By Name" onclick="sort(sortName.XMLDocument);">' NL;
         put '<INPUT TYPE=BUTTON VALUE="Sort By Sex" onclick="sort(sortNumber.XMLDocument);">' NL;
         put '<INPUT TYPE=BUTTON VALUE="Get Males only" onclick="sort(getAtoM.XMLDocument);"></div>' NL;
         put '</BODY>' NL;
         put '</HTML>' NL;
   end;
   define event XMLversion;
   break;
   end;
   parent = tagsets.sasxmog;
   end;
run;

libname temp xml 'c:\temp4.html' Tagset=tagsets.sasxmog1;

data temp.class;
  set sashelp.class;
run;