Download presentation
Presentation is loading. Please wait.
1
95-733 Internet Technologies
Lecture 2: XML/XSLT Internet Technologies
2
95-733 Internet Technologies
XML/XSLT What is XML? What is XSLT? From XML to HTML using XSLT The XSLT processing model An Example from FpML Homework Internet Technologies
3
95-733 Internet Technologies
What is XML? XML is an acronym that stands for the eXtensible Markup Language. It is a flexible framework which can be used to create new customized markup languages. It’s a meta-language. XHTML, for example, is one XML markup language with a tag set: <P> <H1> …. XML, on the other hand, does not define any particular set of tags. It allows you to create your own tag set and it allows you to define how the tag set is organized. Internet Technologies
4
What is XML’s primary purpose?
Separating data from presentation: The range of internet capable devices is growing- mobile phones, pagers, TV sets, web browsers, in car computers, may have different presentation requirements. Examples include HTML 5 for browsers, Android’s UI Layout language, and MXML for Flash Players. Transmitting data between applications: The amount of data exchanged between organizations is increasing. SOAP is an XML language. Rest style web services often return XML. Ajax responses are often in XML. Internet Technologies
5
95-733 Internet Technologies
Some XML Languages EBXML RSS RDFa Atom WSDL SOAP BPEL XHTML WML Chemical Markup Language OWL VoiceXML RDF XBRL SVG Darwin Information Typing Architecture(DITA) RIF XSLT WS-CDL MXML MathML FpML CDA KML (Keyhole Markup Google Map/Earth) GML XMPP Some for display. Some for data. Some for programming. Be sure to read about each of these. SAML Internet Technologies
6
95-733 Internet Technologies
What is XSLT? XSLT stands for eXtensible Style Sheet Language : Transformations XSLT is an XML language for transforming the structure of an XML Document. Plays well with CSS. Internet Technologies
7
What is XSLT’s primary purpose?
With the widespread adoption of XML languages there is a be a need to extract and combine data from one set of XML documents to generate another set of XML documents. XSLT In this presentation we will use XSLT to convert XML documents to HTML. Other XML languages are just as easily processed – An Enterprise Service Bus, for example, makes use of XSLT for message transformation. Internet Technologies
8
95-733 Internet Technologies
XML to HTML using XSLT (1) The XML document and the associated XSL style sheet may both be transferred to the browser. (2) The server may apply the style sheet to an XML document and the result may be sent to the client. (3) The transformation may occur before the data is placed on the server. Xalan may be used for (2) or (3). All major browsers for (1). XSLT processors are callable from JavaScript or Java or … Internet Technologies
9
95-733 Internet Technologies
XML to HTML using XSLT A bibliography expressed in xml is converted to a bibliography in html Internet Technologies
10
95-733 Internet Technologies
bib.xml <?xml version="1.0" ?> <bib> </bib> <book isbn = " "> <title> XSLT Programmer's Reference </title> <author> Michael Kay </author> </book> <paper> <title> GoTo Statement Considered Harmful </title> <author> Edsger Dijkstra</author> </paper> <book isbn = " "> <title> XML and Java Developing Web Application</title> <author> Maruyama </author> <author> Tamura</author> <author> Uramoto </author> </book> Internet Technologies
11
95-733 Internet Technologies
bib.xsl <?xml version="1.0"?> <!-- XSL to produce a list of ISBN numbers in HTML --> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match = "/"> </xsl:template> <html> <title>ISBN Numbers</title> <body> <h1>ISBN Numbers</h1> <ul><xsl:apply-templates/></ul> </body> </html> Internet Technologies
12
95-733 Internet Technologies
bib.xsl (continued) <xsl:template match = "book"> <li> <xsl:value-of select = /> </li> </xsl:template> <xsl:template match = "paper"> </xsl:template> </xsl:stylesheet> Internet Technologies
13
95-733 Internet Technologies
bib.html <html> <title>ISBN Numbers</title> <body> <h1>ISBN Numbers</h1> <ul> <li> </li> <li> </li> </ul> </body> </html> Internet Technologies
14
95-733 Internet Technologies
Bib.html Internet Technologies
15
95-733 Internet Technologies
/ bib.xml bib <?xml version="1.0" ?> <bib> </bib> <book isbn = " "> <title> XSLT Programmer's Reference </title> <author> Michael Kay </author> </book> book paper book <paper> <title> GoTo Statement Considered Harmful </title> <author> Edsger Dijkstra</author> </paper> title : author : <book isbn = " "> <title> XML and Java Developing Web Application</title> <author> Maruyama </author> <author> Tamura</author> <author> Uramoto </author> </book> XSLT Prog… Michael Kay Internet Technologies
16
95-733 Internet Technologies
/ bib.html <html> <title>ISBN Numbers</title> <body> <h1>ISBN Numbers</h1> <ul> <li> </li> <li> </li> </ul> </body> </html> html title body ul ISBN.. h1 li li 1-86… Internet Technologies
17
95-733 Internet Technologies
bib2.xsl <?xml version="1.0"?> <!-- XSL to produce a list of titles and authors in HTML --> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match = "/"> <html> <title>Author(s)/Title</title> <body> <h1>Author(s)/Title</h1> <ul><xsl:apply-templates/></ul> </body> </html> </xsl:template> Internet Technologies
18
95-733 Internet Technologies
bib2.xsl (continued) <xsl:template match = "book|paper"> <li> <xsl:for-each select = "author"> <xsl:value-of select = "." /> </xsl:for-each> <i> <xsl:value-of select = "title"/> </i> </li> </xsl:template> </xsl:stylesheet> Internet Technologies
19
95-733 Internet Technologies
bib2.html <html> <title>Author(s)/Title</title> <body> <h1>Author(s)/Title</h1> <ul> <li> Michael Kay <i> XSLT Programmer's Reference </i> </li> <li> Edsger Dijkstra<i> GoTo Statement Considered Harmful </i> <li> Maruyama Tamura Uramoto <i> XML and Java Developing Web Application</i> </ul> </body> </html> Internet Technologies
20
95-733 Internet Technologies
bib2.html Internet Technologies
21
95-733 Internet Technologies
Bib3.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <!-- Printing the last three authors in reverse order --> <xsl:template match = "/"> <html> <title>Author(s)</title> <body> <h1>Author(s)</h1> <ul> <xsl:apply-templates select = "/bib/book[2]/author[3]"/> <xsl:apply-templates select = "/bib/book[2]/author[2]"/> <xsl:apply-templates select = "/bib/book[2]/author[1]"/> </ul> </body> </html> </xsl:template> Internet Technologies
22
95-733 Internet Technologies
Bib3.xsl (Continued) <xsl:template match = "author"> <li> <xsl:value-of select = "."/> </li> </xsl:template> </xsl:stylesheet> Internet Technologies
23
95-733 Internet Technologies
Bib3.html <html> <title>Author(s)</title> <body> <h1>Author(s)</h1> <ul> <li> Uramoto </li> <li> Tamura</li> <li> Maruyama </li> </ul> </body> </html> Internet Technologies
24
95-733 Internet Technologies
25
95-733 Internet Technologies
XML to HTML using XSLT A poem expressed in xml is converted to a poem expressed in html Internet Technologies
26
95-733 Internet Technologies
Poem.xml (1 of 3) <?xml version="1.0" ?> <!-- A poem in XML Example taken from "XSLT Programmer's reference Michael Kay --> <poem> <author> Rupert Brooke </author> <date> 1912 </date> <title>Song</title> Internet Technologies
27
95-733 Internet Technologies
Poem.xml (2 of 3) <stanza> <line>And suddenly the wind comes soft, </line> <line>And Spring is here again;</line> <line>And the hawthorn quickens with buds of green</line> <line>And my heart with buds of pain.</line> </stanza> <line>My heart all Winter lay so numb,</line> <line>The earth so dead and frore,</line> <line>That I never thought the Spring would come again</line> <line>Or my heart wake any more.</line> Internet Technologies
28
95-733 Internet Technologies
Poem.xml (3 of 3) <stanza> <line>But Winter's broken and earth has woken, </line> <line>And the small birds cry again;</line> <line>And the hawthorn hedge puts forth its buds,</line> <line>And my heart puts forth its pain.</line> </stanza> </poem> Internet Technologies
29
95-733 Internet Technologies
Poem.html Internet Technologies
30
95-733 Internet Technologies
Poem.xsl (1 of 4) <?xml version="1.0"?> <!-- XSL to produce an HTML encoded poem XSLT Programmer's reference, Michael Kay --> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match = "poem"> <html> <head> <title> <xsl:value-of select="title"/> </title> </head> Internet Technologies
31
95-733 Internet Technologies
Poem.xsl (2 of 4) <body> <xsl:apply-templates select = "title"/> <xsl:apply-templates select = "author"/> <xsl:apply-templates select = "stanza"/> <xsl:apply-templates select = "date"/> </body> </html> </xsl:template> Internet Technologies
32
95-733 Internet Technologies
Poem.xsl (3 of 4) <xsl:template match = "title"> <div align="center"><h1><xsl:value-of select="."/></h1></div> </xsl:template> <xsl:template match = "author"> <div align="center"><h2>By <xsl:value-of select="."/></h2></div> <xsl:template match = "date"> <p><i><xsl:value-of select="."/></i></p> Internet Technologies
33
95-733 Internet Technologies
Poem.xsl (4 of 4) <xsl:template match="stanza"> <p><xsl:apply-templates select="line"/></p> </xsl:template> <xsl:template match = "line"> <xsl:if test="position() mod 2 = 0"> </xsl:if> <xsl:value-of select="."/><br/> </xsl:stylesheet> Nonbreaking space not included automatically in xml as in html Internet Technologies
34
XSLT’s Processing Model
Consider the following XML file <person> <name>Alan</name> <age>19</age> </person> We’ll look at a way to view this tree as a set. Internet Technologies
35
95-733 Internet Technologies
/ person <person> <name>Alan</name> <age>19</age> </ > </person> name age 19 Alan This is the normal way an XSLT programmer views the document. Internet Technologies
36
95-733 Internet Technologies
<person> <name>Alan</name> <age>19</age> </person> We can represent this tree as a set. {person : { name : alan, age : 19, } A tree will be represented as a set of ordered pairs. Internet Technologies
37
95-733 Internet Technologies
Another example {biblio:{ book:{author:Smith,author:Jones,date:1976}, <biblio> <book> <author> Smith </author> <author> Jones </author> <date> 1976 </date> </book> <author> Bell </author> <date> 1999 </date> <paper> <title> Public key encryption</title> <author> Kensworth </author> </paper> </biblio> book:{author:Bell,date:1999}, paper:{title:Public key encryption, author:Kensworth} } } Internet Technologies
38
XSLT uses Structural Recursion
We apply transformation rules in a top-down manner. Non-leafs normally generate recursive calls. An XSLT stylesheet can be viewed as a function that defines a transformation. O = S(I) I is the input document S is the stylesheet O is the output document Internet Technologies
39
95-733 Internet Technologies
An example // This program replaces integers with strings. f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) Internet Technologies
40
95-733 Internet Technologies
An example f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) f({biblio:{ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999}, paper:{title:Public key encryption, author:Kensworth} } }) = Internet Technologies
41
95-733 Internet Technologies
An example f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match = {biblio: f({ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999}, paper:{title:Public key encryption, author:Kensworth} } ) Internet Technologies
42
95-733 Internet Technologies
We have a match f( t1 union t2 ) = f(t1) union f(t2) f({ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999}, paper:{title:Public key encryption, author:Kensworth} }) = f({ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999} }) union f({ paper:{title:Public key encryption, author:Kensworth} }) Internet Technologies
43
95-733 Internet Technologies
f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match f({ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999} }) = f( {book :{author:Smith, author:Jones, date:1976}}) union f( {book:{author:Bell,date:1999}} Internet Technologies
44
95-733 Internet Technologies
f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match f( {book :{author:Smith, author:Jones, date:1976}}) = { book : f({author:Smith, author:Jones, date:1976}) } Internet Technologies
45
95-733 Internet Technologies
f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match f({author:Smith, author:Jones, date:1976}) = f({author:Smith}) union f({author : Jones, date:1976}) Internet Technologies
46
95-733 Internet Technologies
f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match f({author:Smith}) = { author : f (Smith) } Internet Technologies
47
95-733 Internet Technologies
f(v) = if isInt(v) then intTwoString(v) else v f({}) = {} f({r : t }) = { r : f(t) } f( t1 union t2 ) = f(t1) union f(t2) We have a match { author : f (Smith) } = { author : Smith } … and so on … Internet Technologies
48
95-733 Internet Technologies
f({biblio:{ book:{author:Smith, author:Jones, date:1976}, book:{author:Bell,date:1999}, paper:{title:Public key encryption, author:Kensworth} } }) = {biblio:{book:{author:Smith, author:Jones, date:”1976”}, book:{author:Bell,date:”1999”}, Internet Technologies
49
An Example From The Financial World (FpML)
FpML (Financial products Markup Language) is a new protocol to enable e-commerce activities in the field of financial derivatives. It is based on XML (Extensible Markup Language), the standard meta-language for describing data shared between applications. Ultimately, it will allow for the electronic integration of a range of services, from electronic trading and confirmations to portfolio specification for risk analysis. All categories of over-the-counter (OTC) derivatives will eventually be incorporated into the standard; however, the initial release will focus on interest rate swaps and Forward Rate Agreements (FRAs). Taken from Internet Technologies
50
95-733 Internet Technologies
Who put FpML together? Goldman Sachs IBM J.P. Morgan Morgan Stanley Dean Witter PricewaterhouseCoopers Reuters SunGard Trading and Risk Systems S.W.I.F.T. Society for Worldwide Interbank Financial Telecommunication UBS Warburg webMethods Bank of America BNP Paribas Chase Manhattan Bank Citigroup Concordia Net Credit Suisse First Boston Deutsche Bank Extensibility FinancialFusion Fuji Capital Markets Internet Technologies
51
95-733 Internet Technologies
An FpML Document <?xml version="1.0" standalone="no"?> <!-- Copyright (c) 1999 by J.P.Morgan and PricewaterhouseCoopers. PricewaterhouseCoopers refers to the individual member firms of the World wide PricewaterhouseCoopers organization. All rights reserved. --> <!-- version 1.0b2 : August 6, > Internet Technologies
52
95-733 Internet Technologies
<fpml:FpML xmlns:fpml='urn:fpml-FpML' xmlns:m='urn:fpml-money' xmlns:r='urn:fpml-rate'> <fpml:Trade> <fpml:tradeIDs> <tid:TradeIDs xmlns:tid="urn:fpml-TradeID"> <tid:TradeID> <tid:partyReference>XYZ Investement Bank</tid:partyReference> <tid:transactionReferenceNumber>237732</tid:transactionReferenceNumber> </tid:TradeID> <tid:partyReference>ABC Investments</tid:partyReference> <tid:transactionReferenceNumber>1230</tid:transactionReferenceNumber> </tid:TradeIDs> </fpml:tradeIDs> Internet Technologies
53
95-733 Internet Technologies
<fpml:product> <fpswp:FXSwap xmlns:fpswp="urn:fpml-FX-Product-SwapType"> <fpswp:productID>P123908</fpswp:productID> <!-- at the moment valid value is FXSwap. it could be expanded later --> <fpswp:productType>FXSwap</fpswp:productType> <fpswp:nearLeg> <ftsl:FXLegTemplate xmlns:ftsl="urn:fpml-FX-Template-Leg" xmlns:fxs="urn:fpml-shared-FX"> <fxs:ccy1>SFC</fxs:ccy1> <fxs:ccy2>GBP</fxs:ccy2> <fxs:ccy1BuyerReference>ABC Investments</fxs:ccy1BuyerReference> <fxs:ccy2BuyerReference>XYZ Investement Bank</fxs:ccy2BuyerReference> <fxs:ccy1Amount> <m:Money> <m:ccy>SFC</m:ccy> <m:amount> </m:amount> </m:Money> </fxs:ccy1Amount> Internet Technologies
54
95-733 Internet Technologies
<fxs:ccy2Amount> <m:Money> <m:ccy>GBP</m:ccy> <m:amount> </m:amount> </m:Money> </fxs:ccy2Amount> <fxs:settlementDate> </fxs:settlementDate> <fxs:exchangeRate> <r:FXRate> <r:ccy1>SFC</r:ccy1> <r:ccy2>GBP</r:ccy2> <r:type>offer</r:type> <r:quoteBasis>CCY1PERCCY2</r:quoteBasis> <r:rate>1.56</r:rate> </r:FXRate> </fxs:exchangeRate> </ftsl:FXLegTemplate> </fpswp:nearLeg> Internet Technologies
55
95-733 Internet Technologies
<fpswp:farLeg> <ftsl:FXLegTemplate xmlns:ftsl="urn:fpml-FX-Template-Leg" xmlns:fxs="urn:fpml-shared-FX"> <fxs:ccy1>SFC</fxs:ccy1> <fxs:ccy2>GBP</fxs:ccy2> <fxs:ccy1BuyerReference>XYZ Investement Bank</fxs:ccy1BuyerReference> <fxs:ccy2BuyerReference>ABC Investments</fxs:ccy2BuyerReference> <fxs:ccy1Amount> <m:Money> <m:ccy>SFC</m:ccy> <m:amount> </m:amount> </m:Money> </fxs:ccy1Amount> <fxs:ccy2Amount> <m:ccy>GBP</m:ccy> <m:amount> </m:amount> </fxs:ccy2Amount> Internet Technologies
56
95-733 Internet Technologies
<fxs:settlementDate> </fxs:settlementDate> <fxs:exchangeRate> <r:FXRate> <r:ccy1>SFC</r:ccy1> <r:ccy2>GBP</r:ccy2> <r:type>offer</r:type> <r:quoteBasis>CCY1PERCCY2</r:quoteBasis> <r:rate>1.66</r:rate> </r:FXRate> </fxs:exchangeRate> </ftsl:FXLegTemplate> </fpswp:farLeg> </fpswp:FXSwap> </fpml:product> Internet Technologies
57
95-733 Internet Technologies
<fpml:partyInformation> <pty:PartyInformation xmlns:pty="urn:fpml-party" xmlns:a="urn:fpml-contact"> <pty:tradeParties> <pty:Party name="ABC_Trust"> <pty:partyType>COUNTERPARTY</pty:partyType> <pty:corporateInformation> <pty:CorporateInformation> <pty:shortName>ABC Investments</pty:shortName> </pty:CorporateInformation> </pty:corporateInformation> <pty:confirmInformation> <pty:ConfirmInformation> <pty:primaryConfirmContact> Internet Technologies
58
95-733 Internet Technologies
<a:Contact> <a:contactName>Jacob Smith</a:contactName> <a:contactOrganizationName>ABC Investments</a:contactOrganizationName> <a:phoneNumber> </a:phoneNumber> <a:faxNumber> </a:faxNumber> <a:contactAddress> <a:Address> <a:streetAddress> <a:StreetAddress> <a:streetLine>123, Park Avenue</a:streetLine> </a:StreetAddress> </a:streetAddress> <a:city>New York</a:city> <a:state>NY</a:state> <a:country>US</a:country> <a:postalCode>10387</a:postalCode> </a:Address> </a:contactAddress> </a:Contact> Internet Technologies
59
95-733 Internet Technologies
</pty:primaryConfirmContact> </pty:ConfirmInformation> </pty:confirmInformation> <pty:settlementInformation> <pty:SettlementInstructions> <pty:settlementContact> <a:Contact> <a:contactName>Jacob Smith</a:contactName> <a:contactOrganizationName>Trade Settlements</a:contactOrganizationName> <a:phoneNumber> </a:phoneNumber> <a:faxNumber> </a:faxNumber> </a:Contact> </pty:settlementContact> Internet Technologies
60
95-733 Internet Technologies
<pty:paymentInstructions> <pty:PaymentInstructions> <pty:settlementCurrency>GBP</pty:settlementCurrency> <pty:payFromName>ABC Bank PLC</pty:payFromName> <pty:correspondentInformation> <pty:FIRoutingInformation> <pty:fiName>ABC Bank PLC</pty:fiName> <pty:fiAddress> <a:Address> <a:city>London</a:city> <a:country>UK</a:country> </a:Address> </pty:fiAddress> <pty:fiAccountNumber>123456</pty:fiAccountNumber> <pty:fiRoutingID>ABC45678UK33</pty:fiRoutingID> <pty:fiRoutingIDType>SwiftBIC</pty:fiRoutingIDType> </pty:FIRoutingInformation> </pty:correspondentInformation> Internet Technologies
61
95-733 Internet Technologies
<pty:intermediaryInformation> <pty:FIRoutingInformation> <pty:fiName>XYZ Bank PLC</pty:fiName> <pty:fiAccountNumber>293774</pty:fiAccountNumber> </pty:FIRoutingInformation> </pty:intermediaryInformation> <pty:beneficiaryInformation> <pty:fiName>ABC Brokers</pty:fiName> <pty:fiAccountNumber>/ </pty:fiAccountNumber> <pty:fiReferenceText>For the account of Harry Smith-/ </pty:fiReferenceText> </pty:beneficiaryInformation> </pty:PaymentInstructions> </pty:paymentInstructions> </pty:SettlementInstructions> </pty:settlementInformation> </pty:Party> Internet Technologies
62
95-733 Internet Technologies
<!-- Also expected is the full settlement instructions for: <pty:partyReferenceName>XYZ Investment bank</pty:partyReferenceName> ... --> </pty:tradeParties> </pty:PartyInformation> </fpml:partyInformation> </fpml:Trade> </fpml:FpML> Internet Technologies
63
95-733 Internet Technologies
FpML to HTML using XSLT <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" xmlns:tid="urn:fpml-TradeID" version="1.0"> <!-- Display party reference data --> Internet Technologies
64
95-733 Internet Technologies
<xsl:template match = "/" > <html> <title>Foreign Exchange Swap</title> <body> <xsl:apply-templates/> </body> </html> </xsl:template> Internet Technologies
65
95-733 Internet Technologies
<xsl:template match = "* | text()"> <xsl:apply-templates/> </xsl:template> <xsl:template match="tid:partyReference"> <p> <xsl:value-of select="."/> </p> </xsl:stylesheet> Internet Technologies
66
95-733 Internet Technologies
67
95-733 Internet Technologies
XSLT Transforms Data for different devices. Internet Technologies
68
95-733 Internet Technologies
WML <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN“ " <wml> <template> <do type="back" label="Back"> <prev/> </do> </template> <card id="main" title="Welcome to my WAP"> <p align="center">I can't say much, since this screen is tiny.<br/> Why don't you visit my <a href="#fave">favorite WAP links.</a> </p> </card> Internet Technologies
69
95-733 Internet Technologies
<card id="fave" title="Favorite WAP Links"> <p align="center">These are some WAP sites I would love, if they existed.</p> <p align="left"> <a href="wap.cats.com”>Dog pictures</a><br/> <a href="wap.weather.com">The weather</a><br/> <a href="wap.jellybeans.org">One click jelly bean ordering</a> </p> </card> </wml> Internet Technologies
70
95-733 Internet Technologies
Next Up XMPP - Extensible Message and Presence Protocol Internet Technologies
71
95-733 Internet Technologies
Bibliography XSLT Programmer’s Reference, Michael Kay, Wrox Data on the Web, Abiteboul, Buneman, Suciu, Morgan Kaufmann XML Bible, Elliotte Rusty Harold, IDG Books Internet Technologies
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.