Subject: [xsl] XSLT for Mashups From: "Alex Clark" <alex@xxxxxxxxxxx> Date: Tue, 2 Mar 2010 18:32:55 -0800 |
Hello all, I am the CTO of Bit Stew Systems and we offer a mashup technology that is loosely based on extending XSLT, and leverages the capabilities of XPath 2.0 across any data source. We've created a mashup language that we call Mix, which has similar syntax and constructs to XSLT, and combined it with powerful capabilities for discovering and using the vast amounts of information on the Internet and the Enterprise. This approach has worked very well for us because developers that are already familiar with XSLT and XPath can create mashup solutions right away. Mashups are becoming an increasingly important part of the technology industry for data integration, transformation, and analytics. The Open Mashup Alliance is in the early stages of establishing a standard XML-based mashup language called EMML. However, it seems their approach reinvents the wheel. They have constructs such as if, for-each, etc. that are already defined in XSLT but they've changed them to be just different enough to add confusion. It seems to me that a natural progression is to extend XSLT from generally one input (XML) and one output (XML, HTML, etc) to include numerous input sources of varying types to numerous output targets. This type of approach would allow the XSLT language (XSLT 3.0?) to be used as an industry standard language for enterprise mashup solutions. I believe it would make more sense to extend XSLT and add expressions that support building mashups rather than to define a new language with similar constructs. This would be a better standard for the technology community because of the familiarity many have with XSLT and the availability of processors in the market. Plus, learning yet another language is a burden on developers-especially when a perfectly suitable one already exists. I've included a simple example that illustrates some of the constructs we've added to XSLT that enables the language to be used for Mashups. The example below fetches data from two sources (a REST service and a relational database) and returns an XML document. I'd be very interested to hear everyone's thoughts about leveraging XSLT to create an industry standard mashup language. More examples can be found: http://www.bitstew.com/docs/mix/stl/index.html Thank you all for your thoughts, Alex Clark <!-- Begin contrived example --> <mix:template xmlns:mix="http://bitstew.com/schemas/1.0/xml-template"> <!-- Define our JDBC Source --> <mix:include href="settings.xml"/> <MatchingCustomers> <!-- Get a list of customers from a partner's web service (REST service that returns XML). --> <mix:xml-source name="theirCustomers" url="http://bitstew.com/example/getCustomers?partnerID={$ourID}"/> <!-- Get the list of customers that have our parnter's ID. --> <mix:query name="ourCustomers" source="customerDB">select * from customer where partner_id = {$partnerID}</mix:query> <!-- For each of our customers --> <mix:for-each select="$ourCustomers"> <!-- If the customer ID matches the partner's customer ID, then return the match. --> <mix:if test="./partner_id = {$partnerID}"> <Customer id="{./id}"> <Name><mix:value-of select="./name"/></Name> </Customer> </mix:if> </mix:for-each> </MatchingCustomers> </mix:template> <!-- End contrived example -->
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] same content refuses to c, Michael Kay | Thread | Re: [xsl] XSLT for Mashups, Liam R E Quin |
Re: [xsl] How to prevent "question , Michael Ludwig | Date | Re: [xsl] XSLT for Mashups, Liam R E Quin |
Month |