{"id":86,"date":"2012-08-10T22:58:48","date_gmt":"2012-08-10T22:58:48","guid":{"rendered":"http:\/\/tregner.com\/flare-blog\/?p=86"},"modified":"2012-10-11T00:12:24","modified_gmt":"2012-10-11T00:12:24","slug":"use-xslt-to-create-a-flare-topic-from-xml-data","status":"publish","type":"post","link":"https:\/\/tregner.com\/flare-blog\/use-xslt-to-create-a-flare-topic-from-xml-data\/","title":{"rendered":"Use XSLT to create a Flare Topic from XML Data"},"content":{"rendered":"<p>XSLT is language for transforming XML documents. The World Wide Web Consortium (W3C) published XSL Transformations (XSLT)<\/p>\n<p>Version 1.0 as recommendation in 1999 and XSL Transformations (XSLT) Version 2.0 in 2007. The W3C recommendations are posted at:<\/p>\n<p><a href=\"http:\/\/www.w3.org\/TR\/xslt\/\" target=\"_blank\">http:\/\/www.w3.org\/TR\/xslt\/<\/a><\/p>\n<p><a href=\"http:\/\/www.w3.org\/TR\/xslt20\/\" target=\"_blank\">http:\/\/www.w3.org\/TR\/xslt20\/<\/a><\/p>\n<p>If you are lucky enough to have information housed as XML, you are just one transformation away from a Flare topic.\u00a0XSLT can be used to create XHTML files from XML files. Suppose you have this XML:<\/p>\n<div class=\"CodeIndent\">\n<pre xml:space=\"preserve\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;root&gt;\r\n  &lt;jellybeans&gt;\r\n    &lt;jellybean&gt;\r\n      &lt;flavor&gt;coffee&lt;\/flavor&gt;\r\n      &lt;color&gt;brown&lt;\/color&gt;\r\n    &lt;\/jellybean&gt;\r\n    &lt;jellybean&gt;\r\n      &lt;flavor&gt;orange&lt;\/flavor&gt;\r\n      &lt;color&gt;orange&lt;\/color&gt;\r\n    &lt;\/jellybean&gt;\r\n    &lt;jellybean&gt;\r\n      &lt;flavor&gt;mint&lt;\/flavor&gt;\r\n      &lt;color&gt;green&lt;\/color&gt;\r\n    &lt;\/jellybean&gt;\r\n  &lt;\/jellybeans&gt;\r\n&lt;\/root&gt;<\/pre>\n<\/div>\n<p>You can use XSLT\u00a0to create this Flare topic:<\/p>\n<div class=\"CodeIndent\">\n<pre xml:space=\"preserve\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;html xmlns:MadCap=\"http:\/\/www.madcapsoftware.com\/Schemas\/MadCap.xsd\"&gt;\r\n  &lt;head \/&gt;\r\n  &lt;body&gt;\r\n    &lt;h1&gt;Jellybeans&lt;\/h1&gt;\r\n    &lt;p&gt;This is the Jellybeans table generated with an XML transformation.&lt;\/p&gt;\r\n    &lt;table style=\"width: 100%;border-collapse: separate;\"&gt;\r\n      &lt;caption&gt;Jellybeans&lt;\/caption&gt;\r\n      &lt;col style=\"width: 33%;\" \/&gt;\r\n      &lt;col style=\"width: 33%;\" \/&gt;\r\n      &lt;thead&gt;\r\n        &lt;tr&gt;\r\n          &lt;th&gt;Flavor&lt;\/th&gt;\r\n          &lt;th&gt;Color&lt;\/th&gt;\r\n        &lt;\/tr&gt;\r\n      &lt;\/thead&gt;\r\n      &lt;tbody&gt;\r\n        &lt;tr&gt;\r\n          &lt;td&gt;coffee&lt;\/td&gt;\r\n          &lt;td&gt;brown&lt;\/td&gt;\r\n        &lt;\/tr&gt;\r\n        &lt;tr&gt;\r\n          &lt;td&gt;orange&lt;\/td&gt;\r\n          &lt;td&gt;orange&lt;\/td&gt;\r\n        &lt;\/tr&gt;\r\n        &lt;tr&gt;\r\n          &lt;td&gt;mint&lt;\/td&gt;\r\n          &lt;td&gt;green&lt;\/td&gt;\r\n        &lt;\/tr&gt;\r\n      &lt;\/tbody&gt;\r\n    &lt;\/table&gt;\r\n  &lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<\/div>\n<p>The XSLT used is:<\/p>\n<div class=\"CodeIndent\">\n<pre xml:space=\"preserve\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\"\r\n    xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\" exclude-result-prefixes=\"msxsl\"\r\n&gt;\r\n    &lt;xsl:output method=\"xml\" indent=\"yes\"\/&gt;\r\n\r\n    &lt;xsl:template match=\"root\/jellybeans\"&gt;\r\n       &lt;html xmlns:MadCap=\"http:\/\/www.madcapsoftware.com\/Schemas\/MadCap.xsd\"&gt;\r\n        &lt;head&gt;\r\n        &lt;\/head&gt;\r\n        &lt;body&gt;\r\n          &lt;h1&gt;Jellybeans&lt;\/h1&gt;\r\n          &lt;p&gt;This is the Jellybeans table generated with an XML transformation.&lt;\/p&gt;\r\n          &lt;table style=\"width: 100%;border-collapse: separate;\"&gt;\r\n            &lt;caption&gt;Jellybeans&lt;\/caption&gt;\r\n            &lt;col style=\"width: 33%;\" \/&gt;\r\n            &lt;col style=\"width: 33%;\" \/&gt;\r\n            &lt;thead&gt;\r\n              &lt;tr&gt;\r\n                &lt;th&gt;Flavor&lt;\/th&gt;\r\n                &lt;th&gt;Color&lt;\/th&gt;\r\n              &lt;\/tr&gt;\r\n            &lt;\/thead&gt;\r\n            &lt;tbody&gt;\r\n              &lt;xsl:for-each select=\"jellybean\"&gt;\r\n                &lt;tr&gt;\r\n                  &lt;td&gt;\r\n                    &lt;xsl:value-of select=\"flavor\"\/&gt;\r\n                  &lt;\/td&gt;\r\n                  &lt;td&gt;\r\n                    &lt;xsl:value-of select=\"color\"\/&gt;\r\n                  &lt;\/td&gt;\r\n                &lt;\/tr&gt;\r\n              &lt;\/xsl:for-each&gt;\r\n            &lt;\/tbody&gt;\r\n          &lt;\/table&gt;\r\n        &lt;\/body&gt;\r\n      &lt;\/html&gt;\r\n    &lt;\/xsl:template&gt;\r\n&lt;\/xsl:stylesheet&gt;<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>XSLT is language for transforming XML documents. The World Wide Web Consortium (W3C) published XSL Transformations (XSLT) Version 1.0 as recommendation in 1999 and XSL Transformations (XSLT) Version 2.0 in 2007. The W3C recommendations are posted at: http:\/\/www.w3.org\/TR\/xslt\/ http:\/\/www.w3.org\/TR\/xslt20\/ If you are lucky enough to have information housed as XML, you are just one transformation&hellip; <a class=\"more-link\" href=\"https:\/\/tregner.com\/flare-blog\/use-xslt-to-create-a-flare-topic-from-xml-data\/\">Continue reading <span class=\"screen-reader-text\">Use XSLT to create a Flare Topic from XML Data<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[41],"_links":{"self":[{"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/posts\/86"}],"collection":[{"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/comments?post=86"}],"version-history":[{"count":3,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/posts\/86\/revisions"}],"predecessor-version":[{"id":665,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/posts\/86\/revisions\/665"}],"wp:attachment":[{"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/media?parent=86"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/categories?post=86"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tregner.com\/flare-blog\/wp-json\/wp\/v2\/tags?post=86"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}