{"id":2081,"date":"2003-10-06T17:04:01","date_gmt":"2003-10-06T17:04:01","guid":{"rendered":"http:\/\/bob.ryskamp.org\/brain\/?p=2081"},"modified":"2003-10-06T17:04:01","modified_gmt":"2003-10-06T17:04:01","slug":"alphabet-soup-of-web-standards","status":"publish","type":"post","link":"https:\/\/bob.ryskamp.org\/brain\/alphabet-soup-of-web-standards\/","title":{"rendered":"Alphabet soup of web standards"},"content":{"rendered":"<p>It strikes me that similarities between xml and database structure are fairly common. <a href=\"http:\/\/www.alistapart.com\/stories\/hellxml\/\">This article at A List Apart<\/a> explains the similarities and differences.<\/p>\n<p>The process of converting an XML document into something viewable by a browser (or into anything else) is handled by a &#8220;transformation language&#8221; called XSLT. Here&#8217;s a diagram: <a href=\"http:\/\/www.w3.org\/Style\/xsl-and-css1.pdf\">PDF<\/a><\/p>\n<p>XML syntax &#8211; Check out the difference in the source code for these two visually-identical documents, one run through an XSLT transformation, and one just calling an &#8220;XSL stylesheet&#8221; (like CSS but actually writes virtual code to help the browser interpret):<\/p>\n<p><a href=\"http:\/\/www.w3.org\/Style\/XSL\/\">XSLT-processed<\/a><\/p>\n<p><a href=\"http:\/\/www.w3.org\/Style\/XSL\/Overview.xml\">XML source<\/a><\/p>\n<p>So a sample flow of an intranet item would be: Data from database &#8211;> Java servlet &#8211;> XML document &#8211;> XSLT transformation or XSL linked stylesheet &#8211;> browser displays HTML-like page &#8211;> CSS local visual\/aural* style .<\/p>\n<p>See this sample transformation of XML &#8211;> HTML:<\/p>\n<p><a href=\"http:\/\/www.zvon.org\/xxl\/XSLTutorial\/Books\/Output\/example1_ch1.html\">Sample Transformation<\/a><\/p>\n<p>What is fun about this structure is that after an initial entirely-machine-programmed process, the code starts looking very human-writable. Instead of coding a giant table-based layout: <code>&lt;table class=\"metrics\">&lt;tr&gt;&lt;td&gt;blah&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;<\/code> you could just write: <code>&lt;metrics table&gt;blah&lt;\/metrics table&gt;<\/code><\/p>\n<p>One thing that would make such a transition easier&#8211;XHTML is by definition a valid XML document; it&#8217;s a good way to get existing data into this sort of structure. Plus, I like coding XHTML much better than HTML. Here&#8217;s a good intro to the differences:<\/p>\n<p><a href=\"http:\/\/www.nypl.org\/styleguide\/xhtml\/guidelines.html\">NYPL Style Guide<\/a><\/p>\n<p>That&#8217;s all for now&#8230;<\/p>\n<p>* for more on &#8220;aural&#8221; stylesheets, check out <a href=\"http:\/\/www.w3.org\/TR\/REC-CSS2\/aural.html\">the W3C&#8217;s aural stylesheet recommendation page<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It strikes me that similarities between xml and database structure are fairly common. This article at A List Apart explains the similarities and differences. The process of converting an XML document into something viewable by a browser (or into anything else) is handled by a &#8220;transformation language&#8221; called XSLT. Here&#8217;s a diagram: PDF XML syntax&#8230;<a class=\"read-more\" href=\"https:\/\/bob.ryskamp.org\/brain\/alphabet-soup-of-web-standards\/\">more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,5],"tags":[197,199,196,198,195],"class_list":["post-2081","post","type-post","status-publish","format-standard","hentry","category-design","category-technology","tag-code","tag-css","tag-style","tag-xhtml","tag-xml"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9wjHJ-xz","_links":{"self":[{"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/posts\/2081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/comments?post=2081"}],"version-history":[{"count":0,"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/posts\/2081\/revisions"}],"wp:attachment":[{"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/media?parent=2081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/categories?post=2081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob.ryskamp.org\/brain\/wp-json\/wp\/v2\/tags?post=2081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}