tag:blogger.com,1999:blog-6518178949464059542024-03-13T16:20:37.628-07:00PORDLWebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-651817894946405954.post-59936022790412613802012-04-18T04:30:00.002-07:002012-04-18T04:39:27.185-07:00MXSL Framework for VB.NET<strong>MXSL Framwork: Object Model + XSL</strong><br/><br />to render html, xml, PDF, ..whatever in a read-only format on the web.<br/><br/><br />I started work on a framework that allows a strong-typed List object in .NET to be easily transformed to html with an XSL stylesheet. <br/><br/><br />Advantages:<br/><br />A User Control can have a public property of XSLURL which can be set to point to different XSL stylesheets on the fly. <br/><br />XML is stored in memory or on a hard drive.<br/><br />XML or XSL can come cross domain from a remote server.<br/><br />Strong type objects can be embedded to create a nested XML document.<br/><br/><br />If you would like to help with framework construction, hit me up.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-57472449920655672822011-06-11T07:24:00.001-07:002011-06-11T07:25:34.069-07:00Preceding-Sibling | The Easy Way<p>Keeping on track with my previous post regarding the preceding-sibling approach to getting unique values with XSL, I prefer to not have to do the Muench method whenever possible. I like to keep it simple. Here is a really simple way to get a unique or distinct list of categories and sub-categories from an xml file:</p><br /><p><pre><br /><br /><xsl:for-each select="item"><br /> <xsl:variable name="thisNodeCategory" select="Category"/><br /> <xsl:if test="not(preceding-sibling::item[Category=$thisNodeCategory])"><br /> <span class="Category"><br /> <a href=""><br /> <xsl:value-of select="Category" /><br /> </a><br /> </span><br /> <br/><br /> </xsl:if><br /> <xsl:if test="SubCategory > ''"><br /> <span class="subCategory"><br /> - <a href=""><br /> <xsl:value-of select="SubCategory" />subcategory<br /> </a><br /> </span><br /> <br/><br /> </xsl:if><br /></xsl:for-each><br /></pre></p>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com1tag:blogger.com,1999:blog-651817894946405954.post-14352322063443623052011-06-10T09:51:00.001-07:002011-06-11T07:32:09.917-07:00Easier than preceding-sibling::<p>I don't like to use preceeding-sibling. It doesn't work when I want it to. So, I created a method that works just like it:</p><br /><p><br />This method is a lot easier to implement. But, it doesn't work with <xsl:sort>. It requires the XML be in the correct sort order before doing the XSL Transform. If you don't have this luxury, you can use the method I will post in the following blog post. Or, if you are really brave, you can use the Muench Method. I think I posted how to do that in a previous post. Well, anyway you decide to do it, good luck.<br /></p><br /><p><br /><p><pre><br /><xsl:variable name="thisChildNode" select="Category"/><br /><xsl:variable name="lastNodePosition" select="position() - 1"/><br /><xsl:if test="not(/grandParentNode/parentNode[$lastNodePosition]/childNode = $thisChildNode)"><br /> <h2><xsl:value-of select="childNode" /></h2><br /></xsl:if></pre></p>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-69575688745400986392011-03-13T16:57:00.000-07:002011-03-13T17:04:10.726-07:00PORDL Mobile Pages ReleasedBy request, every XSL transform on PORDL now comes with its own mobile-ready webpage.<br /><br />Example:<br /><a href="http://pordl.com/mobile.aspx?id=543" target="_blank">Pastor's Blog</a><br /><br />You can point your cell phone directly to the page or setup a sub-domain for your website to point to the page.<br /><br />It is also really easy to create a mobile website by adding html navigation to the top or bottom of your XSL stylesheets and pointing the nav links to other PORDL transforms.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com1tag:blogger.com,1999:blog-651817894946405954.post-13806198344299815402011-02-27T11:07:00.000-08:002011-02-27T11:13:25.826-08:00Nested List Sitemap From a Flat XML FileI needed to build a Sitemap where each sub-level is indented more than the top levels...a very typical sitemap. However, my XML file was not in the order it needed to be output to the page and it was a flat XML file, so I couldn't pull the hierarchy from the XML. <br /><br />I decided to do a template for each level of the sitemap and trigger each template recursively at each level till no more items were available on the level.<br /><br />It took about 15 hours of staring at code that didn't work till I got it right.<br /><br />Here is my solution:<br /><br /><a href="http://pordl.com/transform.aspx?id=539" target="_blank">Nested Sitemap from a Flat XML File</a>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-51553862295168394782011-02-17T05:34:00.001-08:002011-02-17T05:40:55.742-08:00Creating SQL Statements from an XML FileI worked up an XSL Stylesheet to transform a two-column Excel file into a SQL Update Statement.<br /><br />Here is my order of events:<br /><br />I saved the Excel File as a .csv file.<br /><br />I used <a href="http://creativyst.com/Prod/15/" target="_blank">creativyst.com</a> to change the .csv to an XML file.<br /><br />I put a XML header on the file: <?xml version="1.0" ?> <br /><br />I saved the XML file to a web server where I could access it with a URL.<br /><br />I used PORDL to create a new feed transform with the following XSL:<br /><br /><script src='http://pastie.org/1574581.js'></script><br /><br />The output was a clean SQL Update Statement I could use to do a mass update of records on an OsCommerce database.<br /><br /><script type='text/javascript' src='http://pordl.com/js.aspx?id=538' ></script>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-89334281764369773902011-02-11T12:50:00.000-08:002011-02-19T11:06:05.129-08:00Grouping XSL Search Results<strong>How to group XML items using the Muenchian Method</strong><br /><br />It took a while to figure this out because no one on the internet had a really good example that was easy to port over for my uses. So, I created an XSL sheet that can easily be ported to most any application.<br /><br /><script src='http://pastie.org/1583167.js'></script>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-1248048432764553892011-01-29T15:42:00.000-08:002011-01-29T15:47:34.220-08:00Embed Any Google News Search Result on Any Website or BlogUsing PORDL.com, you can easily embed any Google News Search result on any website or blog. Create your RSS feed using the following format:<br /><br /><a href="http://news.google.com/news?q=web&output=rss" target="_blank">http://news.google.com/news?q=web&output=rss</a><br /><br />where the "web" portion of the string is your web search terms.<br /><br />The output can look like the following example, or any way you desire:<br /><br /><a href="http://pordl.com/transform.aspx?id=528" target="_blank">http://pordl.com/transform.aspx?id=528</a><br /><br />depending on the XSL template you use.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-38218818120872049272011-01-18T16:25:00.000-08:002011-02-04T10:55:05.286-08:00Site Map XSL : Valid for SiteMap.org Specification XMLI was chasing my tail for a while trying to figure out why my XSL stylesheets were not working with every XML sitemap I tried. The problem was, every XML sitemap I tried was using an invalid XML namespace. They were using a namespace hosted on Google at <a href="http://www.google.com/schemas/sitemap/0.84">http://www.google.com/schemas/sitemap/0.84</a>. This namespace is invalid. Some were referencing <a href="http://www.google.com/schemas/sitemap/0.9">http://www.google.com/schemas/sitemap/0.9</a> which is also invalid. The correct working namespace to use is <a href="http://www.sitemaps.org/schemas/sitemap.0.9">http://www.sitemaps.org/schemas/sitemap.0.9</a> .<br /><br />Here is a really simple version of the XSL required to render the Site Map XML (with valid namespace) as HTML:<br /><br /><script src='http://pastie.org/1529111.js'></script><br /><br />I, also, added this XSL as one of the many default XSL choices when setting up feed transforms on PORDL.com.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-83427933686850238032011-01-10T16:58:00.000-08:002011-01-10T17:31:05.411-08:00PORDL Site SearchPORDL.com now uses Google's AJAX API web search as a full site search tool.<br /><br /><a href="http://pordl.com/sitesearch.aspx" target="_blank">PORDL Site Search</a>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-80526051526149232642011-01-07T21:11:00.000-08:002011-01-07T21:21:20.729-08:00Scrolling Feeds are Now AvailableUntil now, there was only one really reliable way to embed an RSS feed as a scrolling news ticker on a site. That was Googles Ajax Feed Scroller. Google's code could not be customized in any possible configuration. It couldn't handle any RSS/Atom/XML feed. And it was really hard to implement... requiring two large javascript files, an Google API key, a Google Ajax call, and an confusing script to embed on the site.<br /><br />Now, you also have PORDL's feed scroller. It's everything Google's code doesn't do and more. Here is a sample:<br /><a href="http://pordl.com/scroller_demo.aspx">http://pordl.com/scroller_demo.aspx</a>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-70164381577645248602011-01-05T19:45:00.000-08:002011-01-05T19:49:05.794-08:00New Generic RSS XSLT SheetI created a new generic XSL stylesheet for RSS feeds. It handles more types of feeds, looks more professional, and is easier to customize. I did a mass-update of about 350 feeds on the site with this new stylesheet.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-60484876900463277992011-01-05T19:43:00.000-08:002011-01-05T19:44:40.811-08:00Twitter XSLT StylesheetI uploaded a new generic XSL Stylesheet for Twitter feeds. It looks far better than the previous stylesheet.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-9826121878294695752010-12-23T21:29:00.000-08:002011-02-04T10:59:50.618-08:00Two Simple Ways to XSL an RSS FeedThere are two really common methods to format an XSL stylesheet for an RSS feed. They both do the same thing but in different ways.<br /><br />Either of these methods could be used as a default XSL stylesheet that works for most RSS feeds on the net.<br /><br /><span style="font-weight: bold;">Method 1:</span><br /><script src='http://pastie.org/1529119.js'></script><br /><br /><span style="font-weight: bold;">Method 2:</span><br /><span style="font-style: italic;">NOTE: with this method, you can easily drop an xsl:if type statement inside the xsl:for-each.</span><br /><script src='http://pastie.org/1529124.js'></script>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-54065357418435466892010-12-23T20:46:00.000-08:002010-12-23T20:49:00.607-08:00PORDL - How to XSLI setup a page of XSL terms, XSL examples, and links to get more information. <a href="http://pordl.com/XSLCheatsheet.html" target="_blank">Here it is</a>.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-28874859211084351522010-10-13T09:28:00.001-07:002010-10-13T09:28:50.508-07:00PORDL Version 0.7 Launched<p>The latest version of PORDL has been launched. Updates include: feed quantities in the navigation, style changes to the feed page and navigation, and enhancements to the Administrative section. Please have fun embedding stuff.</p> <p>-Jason</p> WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-48549575670726008682010-09-19T10:40:00.001-07:002010-12-23T20:46:28.057-08:00New Picasa Slideshow Gallery XSL SheetI created a new XSL stylesheet that renders a Picasa RSS feed as an Picasa Photo Gallery.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-16525084816049591772010-08-27T13:57:00.000-07:002010-12-23T20:45:22.260-08:00New XSL Stylesheet - Ticker Style RSS Feed<p>I created a new XSLT stylesheet for PORDL that allows you to embed a ticker-style feed on a site or blog. It wraps the feed in a styleable box. The ticker pauses when you hover over it with your mouse.</p>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-38595663071312283362010-08-27T13:43:00.000-07:002010-12-23T20:45:02.681-08:00New XSL Stylesheets for FlickR RSS feeds<p>I worked up a new XSLT sheet that ouputs a rotating gallery of image thumbnails from a FlickR feed. Hover over the image and the rotation stops. Click on the image and it opens in a new window. Pretty basic. You can use the default stylesheet on the Edit Stylesheet page or use it as a base for your own XSLT idea.</p>WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0tag:blogger.com,1999:blog-651817894946405954.post-35029273051756197902010-08-25T19:09:00.000-07:002010-08-25T19:13:59.645-07:00How to Embed an RSS Feed in a Blog or WebsitePORDL.com makes it easy to embed a feed in a blog or website with just one line of code. Register on the site with only your name and email address. Provide a url to the RSS, Atom, or other XML feed you want to embed, select from one of the prebuilt generic XSL stylesheets or edit one of your own, copy the embed code and place it in your blog or website. It is super simple.WebProgrammerGuyhttp://www.blogger.com/profile/10894420302970917028noreply@blogger.com0