Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to XQuery Bob DuCharme these slides:

Similar presentations


Presentation on theme: "Introduction to XQuery Bob DuCharme these slides:"— Presentation transcript:

1 Introduction to XQuery Bob DuCharme www.snee.com/bob bob@snee.com these slides: www.snee.com/xml

2 What is XQuery? A query language that uses the structure of XML intelligently can express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. This specification describes a query language called XQuery, which is designed to be broadly applicable across many types of XML data sources. XQuery 1.0: An XML Query Language W3C Working Draft

3 History February 1998: XML (Rec) November 1999: XSLT 1.0, Xpath 1.0 (Recs) (as of 8 June 2005): XPath 2.0, XSLT 2.0, XQuery 1.0 in last call Working Draft status Steps for a W3C standard: –Working Draft –Last Call Working Draft –Candidate Recommendation –Proposed Recommendation –Recommendation

4 input1.xml sample document This is a sample file. This line really has an inline element. This line doesn't. Do you like inline elements?

5 Our first query Querying from the command line: java net.sf.saxon.Query " {doc('input1.xml')//p[emph]} " Result: This line really has an inline element. Do you like inline elements?

6 Query stored in a file xq1.xqy: (: Here is an XQuery comment. :) doc('data1.xml')//p[emph] Executing it: java net.sf.saxon.Query xq1.xqy

7 Simplifying the command line Linux shell script xquery : java net.sf.saxon.Query $1 $2 $3 $4 $5 $6 Windows batch file xquery.bat : java net.sf.saxon.Query %1 %2 %3 %4 %5 %6 (assuming saxon8.jar is in classpath) Executing either: xquery xq1.xqy

8 Data for more serious examples RecipeML: DTD and documentation http://www.formatdata.com/recipeml Squirrel's RecipeML Archive http://dsquirrel.tripod.com/recipeml/indexrecipes2.html My sample: 294 files

9 RecipeML: typical structure Walnut Vinaigrette Dressings 1 1 cup Canned No Salt Chicken Bring chicken broth to a boil.

10 Saxon and collection() function Argument to function names document in this format:

11 Looking for some sugar collection('recipeml/docs.xml')/recipeml/ recipe/head/title [//ingredients/ing/item[contains(.,'sugar')]]

12 A more SQL-like approach for $ingredient in collection('recipeml/docs.xml')// ingredients/ing/item[contains(.,'sugar')] return $ingredient/../../../head/title

13 Outputting well-formed XML { let $target := 'sugar' for $ingredient in collection('recipeml/docs.xml')// ingredients/ing/item[contains(., $target )] return $ingredient/../../../head/title }

14 FLWOR expressions for let where order by return "a FLWOR expression... supports iteration and binding of variables to intermediate results. This kind of expression is often useful for computing joins between two or more documents and for restructuring data."

15 Extracting subsets: XPath vs. FLWOR approach Get the title element for each recipe whose yield is greater than 20: collection('recipeml/docs.xml')/recipeml/ recipe/head/title[../yield > 20] Go through all the documents in the collection, and for any with a yield of more than 20, get the title: for $doc in collection('recipeml/docs.xml')/recipeml where $doc/recipe/head/yield > 20 return $doc/recipe/head/title

16 Doing more with the for clause variable (: Create an HTML page linking to recipes that serve more than 20 people. :) Food for a Crowd Food for a Crowd { for $doc in collection('recipeml/docs.xml') where $doc /recipeml/recipe/head/yield > 20 return { $doc /recipeml/recipe/head/title/text()} }

17 Calling functions from a let clause (: Which recipe(s) serves the most people? :) let $maxYield := max(collection('recipeml/docs.xml')/recipeml/ recipe/head/yield) return collection('recipeml/docs.xml')/recipeml/ recipe[head/yield = $maxYield]

18 distinct-values and order by (: A unique, sorted list of all unique ingredients in the recipe collection, with URLS to link to the recipes. :) { for $ingr in distinct-values( collection('recipeml/docs.xml')/ recipeml/recipe/ingredients/ing/item ) order by $ingr return { for $doc in collection('recipeml/docs.xml') where $doc/recipeml/recipe/ ingredients/ing/item = $ingr

19 distinct-values and order by, continued return {$doc/recipeml/recipe/head/title/ text() } } }

20 Excerpt from output "Best Ever" Pizza Sauce <title url="file:/c:/dat/recipeml/ _Blondie__Brownies.xml"> "Blondie" Brownies <title url="file:/c:/dat/recipeml/ Walnut_Pound_Cake.xml"> Walnut Pound Cake <title url="file:/c:/dat/recipeml/ _Faux__Sourdough.xml"> "Faux" Sourdough <title url="file:/c:/dat/recipeml/ _Indian_Chili_.xml"> "Indian Chili" <title url="file:/c:/dat/recipeml/ _Best__Apple_Nut_Pudding.xml"> "Best" Apple Nut Pudding <title url="file:/c:/dat/recipeml/ _Gold_Room__Scones.xml"> "Gold Room" Scones <title url="file:/c:/dat/recipeml/ _Outrageous_Chocolate_Chipper.xml"> "Outrageous" Chocolate-Oatmeal Chipper (Cooki <title url="file:/c:/dat/recipeml/ _First__Ginger_Cookies.xml"> "First" Ginger Molasses Cookies <title url="file:/c:/dat/recipeml/ _Foot_in_the_Cake.xml"> "Foot in the Fire" Chocolate Cake <title url="file:/C:/dat/recipeml/ Crawfish_Etouff'ee.xml"> "Frank's Place" Crawfish Etouff'ee <title url="file:/C:/dat/recipeml/ Hamburger____Ground_Meat_Balti.xml"> "Hamburger" / Ground Meat Balti <title url="file:/C:/dat/recipeml/ Indian_Chili_.xml"> "Indian Chili" <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_20.jpg", "name": "Excerpt from output <title url= file:/C:/dat/recipeml/ _Best_Ever__Pizza_Sauce.xml > Best Ever Pizza Sauce <title url= file:/c:/dat/recipeml/ _Blondie__Brownies.xml > Blondie Brownies <title url= file:/c:/dat/recipeml/ Walnut_Pound_Cake.xml > Walnut Pound Cake <title url= file:/c:/dat/recipeml/ _Faux__Sourdough.xml > Faux Sourdough <title url= file:/c:/dat/recipeml/ _Indian_Chili_.xml > Indian Chili <title url= file:/c:/dat/recipeml/ _Best__Apple_Nut_Pudding.xml > Best Apple Nut Pudding <title url= file:/c:/dat/recipeml/ _Gold_Room__Scones.xml > Gold Room Scones <title url= file:/c:/dat/recipeml/ _Outrageous_Chocolate_Chipper.xml > Outrageous Chocolate-Oatmeal Chipper (Cooki <title url= file:/c:/dat/recipeml/ _First__Ginger_Cookies.xml > First Ginger Molasses Cookies <title url= file:/c:/dat/recipeml/ _Foot_in_the_Cake.xml > Foot in the Fire Chocolate Cake <title url= file:/C:/dat/recipeml/ Crawfish_Etouff ee.xml > Frank s Place Crawfish Etouff ee <title url= file:/C:/dat/recipeml/ Hamburger____Ground_Meat_Balti.xml > Hamburger / Ground Meat Balti <title url= file:/C:/dat/recipeml/ Indian_Chili_.xml > Indian Chili", "description": "Excerpt from output <title url= file:/C:/dat/recipeml/ _Best_Ever__Pizza_Sauce.xml > Best Ever Pizza Sauce <title url= file:/c:/dat/recipeml/ _Blondie__Brownies.xml > Blondie Brownies <title url= file:/c:/dat/recipeml/ Walnut_Pound_Cake.xml > Walnut Pound Cake <title url= file:/c:/dat/recipeml/ _Faux__Sourdough.xml > Faux Sourdough <title url= file:/c:/dat/recipeml/ _Indian_Chili_.xml > Indian Chili <title url= file:/c:/dat/recipeml/ _Best__Apple_Nut_Pudding.xml > Best Apple Nut Pudding <title url= file:/c:/dat/recipeml/ _Gold_Room__Scones.xml > Gold Room Scones <title url= file:/c:/dat/recipeml/ _Outrageous_Chocolate_Chipper.xml > Outrageous Chocolate-Oatmeal Chipper (Cooki <title url= file:/c:/dat/recipeml/ _First__Ginger_Cookies.xml > First Ginger Molasses Cookies <title url= file:/c:/dat/recipeml/ _Foot_in_the_Cake.xml > Foot in the Fire Chocolate Cake <title url= file:/C:/dat/recipeml/ Crawfish_Etouff ee.xml > Frank s Place Crawfish Etouff ee <title url= file:/C:/dat/recipeml/ Hamburger____Ground_Meat_Balti.xml > Hamburger / Ground Meat Balti <title url= file:/C:/dat/recipeml/ Indian_Chili_.xml > Indian Chili", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_20.jpg" width="800" align="left" alt="Excerpt from output <title url= file:/C:/dat/recipeml/ _Best_Ever__Pizza_Sauce.xml > Best Ever Pizza Sauce <title url= file:/c:/dat/recipeml/ _Blondie__Brownies.xml > Blondie Brownies <title url= file:/c:/dat/recipeml/ Walnut_Pound_Cake.xml > Walnut Pound Cake <title url= file:/c:/dat/recipeml/ _Faux__Sourdough.xml > Faux Sourdough <title url= file:/c:/dat/recipeml/ _Indian_Chili_.xml > Indian Chili <title url= file:/c:/dat/recipeml/ _Best__Apple_Nut_Pudding.xml > Best Apple Nut Pudding <title url= file:/c:/dat/recipeml/ _Gold_Room__Scones.xml > Gold Room Scones <title url= file:/c:/dat/recipeml/ _Outrageous_Chocolate_Chipper.xml > Outrageous Chocolate-Oatmeal Chipper (Cooki <title url= file:/c:/dat/recipeml/ _First__Ginger_Cookies.xml > First Ginger Molasses Cookies <title url= file:/c:/dat/recipeml/ _Foot_in_the_Cake.xml > Foot in the Fire Chocolate Cake <title url= file:/C:/dat/recipeml/ Crawfish_Etouff ee.xml > Frank s Place Crawfish Etouff ee <title url= file:/C:/dat/recipeml/ Hamburger____Ground_Meat_Balti.xml > Hamburger / Ground Meat Balti <title url= file:/C:/dat/recipeml/ Indian_Chili_.xml > Indian Chili" title="Excerpt from output <title url= file:/C:/dat/recipeml/ _Best_Ever__Pizza_Sauce.xml > Best Ever Pizza Sauce <title url= file:/c:/dat/recipeml/ _Blondie__Brownies.xml > Blondie Brownies <title url= file:/c:/dat/recipeml/ Walnut_Pound_Cake.xml > Walnut Pound Cake <title url= file:/c:/dat/recipeml/ _Faux__Sourdough.xml > Faux Sourdough <title url= file:/c:/dat/recipeml/ _Indian_Chili_.xml > Indian Chili <title url= file:/c:/dat/recipeml/ _Best__Apple_Nut_Pudding.xml > Best Apple Nut Pudding <title url= file:/c:/dat/recipeml/ _Gold_Room__Scones.xml > Gold Room Scones <title url= file:/c:/dat/recipeml/ _Outrageous_Chocolate_Chipper.xml > Outrageous Chocolate-Oatmeal Chipper (Cooki <title url= file:/c:/dat/recipeml/ _First__Ginger_Cookies.xml > First Ginger Molasses Cookies <title url= file:/c:/dat/recipeml/ _Foot_in_the_Cake.xml > Foot in the Fire Chocolate Cake <title url= file:/C:/dat/recipeml/ Crawfish_Etouff ee.xml > Frank s Place Crawfish Etouff ee <title url= file:/C:/dat/recipeml/ Hamburger____Ground_Meat_Balti.xml > Hamburger / Ground Meat Balti <title url= file:/C:/dat/recipeml/ Indian_Chili_.xml > Indian Chili"> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_21.jpg" target="_blank" title="RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste" class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">21</a> </span> RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_21.jpg", "name": "RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste", "description": "RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_21.jpg" width="800" align="left" alt="RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste" title="RecipeML: varying markup richness One way to do it: (12-oz) tomato paste Another way: 12 oz tomato paste"> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_22.jpg" target="_blank" title="Normalizing data with declared functions (: A unique, sorted list of all unique ingredients in the recipe collection, with URLs to link to them." class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">22</a> </span> Normalizing data with declared functions (: A unique, sorted list of all unique ingredients in the recipe collection, with URLs to link to them. Ingredient names get normalized by functions declared in the query prolog. :) declare namespace sn = "http://www.snee.com/ns/misc/" ; declare function sn:normIngName($ingName) as xs:string { (: Normalize ingredient name. :) (: remove parenthesized expression that may begin string, e.g. in "(10 ozs) Rotel diced tomatoes":) let $normedName := replace($ingName,"^\(.*?\)\s*","") (: convert to all lower-case :) let $normedName := lower-case($normedName) (: replace multiple spaces with a single one :) let $normedName := normalize-space($normedName) return $normedName }; <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_22.jpg", "name": "Normalizing data with declared functions (: A unique, sorted list of all unique ingredients in the recipe collection, with URLs to link to them.", "description": "Ingredient names get normalized by functions declared in the query prolog. :) declare namespace sn = http://www.snee.com/ns/misc/ ; declare function sn:normIngName($ingName) as xs:string { (: Normalize ingredient name. :) (: remove parenthesized expression that may begin string, e.g. in (10 ozs) Rotel diced tomatoes :) let $normedName := replace($ingName, ^\(.* \)\s* , ) (: convert to all lower-case :) let $normedName := lower-case($normedName) (: replace multiple spaces with a single one :) let $normedName := normalize-space($normedName) return $normedName };.", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_22.jpg" width="800" align="left" alt="Normalizing data with declared functions (: A unique, sorted list of all unique ingredients in the recipe collection, with URLs to link to them." title="Ingredient names get normalized by functions declared in the query prolog. :) declare namespace sn = http://www.snee.com/ns/misc/ ; declare function sn:normIngName($ingName) as xs:string { (: Normalize ingredient name. :) (: remove parenthesized expression that may begin string, e.g. in (10 ozs) Rotel diced tomatoes :) let $normedName := replace($ingName, ^\(.* \)\s* , ) (: convert to all lower-case :) let $normedName := lower-case($normedName) (: replace multiple spaces with a single one :) let $normedName := normalize-space($normedName) return $normedName };."> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_23.jpg" target="_blank" title="Normalizing data with functions, part 2 of 3 declare function sn:normIngList($ingList) as item()* { (: Normalize a list of ingredient names." class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">23</a> </span> Normalizing data with functions, part 2 of 3 declare function sn:normIngList($ingList) as item()* { (: Normalize a list of ingredient names. :) for $ingName in $ingList return sn:normIngName($ingName) }; { let $normIngNames := sn:normIngList(collection('recipeml/docs.xml')// ing/item) <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_23.jpg", "name": "Normalizing data with functions, part 2 of 3 declare function sn:normIngList($ingList) as item()* { (: Normalize a list of ingredient names.", "description": ":) for $ingName in $ingList return sn:normIngName($ingName) }; { let $normIngNames := sn:normIngList(collection( recipeml/docs.xml )// ing/item).", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_23.jpg" width="800" align="left" alt="Normalizing data with functions, part 2 of 3 declare function sn:normIngList($ingList) as item()* { (: Normalize a list of ingredient names." title=":) for $ingName in $ingList return sn:normIngName($ingName) }; { let $normIngNames := sn:normIngList(collection( recipeml/docs.xml )// ing/item)."> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_24.jpg" target="_blank" title="Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection( recipeml/docs.xml ), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } }" class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">24</a> </span> Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection('recipeml/docs.xml'), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } } <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_24.jpg", "name": "Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection( recipeml/docs.xml ), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } }", "description": "Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection( recipeml/docs.xml ), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } }", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_24.jpg" width="800" align="left" alt="Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection( recipeml/docs.xml ), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } }" title="Normalizing data with functions, part 3 of 3 for $ingr in distinct-values($normIngNames) order by $ingr return { for $doc in collection( recipeml/docs.xml ), $i in $doc/recipeml/recipe/ingredients/ing/item where sn:normIngName($i) = $ingr return {$doc/recipeml/recipe/head/title/text()} } }"> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_25.jpg" target="_blank" title="Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases" class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">25</a> </span> Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_25.jpg", "name": "Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases", "description": "Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_25.jpg" width="800" align="left" alt="Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases" title="Specs at http://www.w3.org/tr XQuery 1.0: An XML Query Language XQuery 1.0 and XPath 2.0 Formal Semantics the XQuery 1.0 and XPath 2.0 Data Model XSLT 2.0 and XQuery 1.0 Serialization XQuery 1.0 and XPath 2.0 Functions and Operators XML Query Use Cases"> </noscript> <br /></p> <p class="uk-text-justify uk-nbfc uk-margin "> <span class="uk-badge uk-margin-small-right"> <a href="http://images.slideplayer.com/5/1499922/slides/slide_26.jpg" target="_blank" title="Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text" class="image_link uk-text-large uk-margin-small-left uk-margin-small-right">26</a> </span> Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/5/1499922/slides/slide_26.jpg", "name": "Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text", "description": "Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text", "width": "800" } </script> <noscript> <img src="http://images.slideplayer.com/5/1499922/slides/slide_26.jpg" width="800" align="left" alt="Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text" title="Other resources eXist: http://www.exist-db.org http:ww/w3.org/TR: MarkLogic: http://www.marklogic.com Mike Kay Comparing XSLT and XQuery: http://idealliance.org/proceedings/xtech05/pap ers/02-03-01/ http:ww/w3.org/TR: –XQuery Update Requirements –XQuery 1.0 and XPath 2.0 Full-Text"> </noscript> <br /></p> </div> <hr class="uk-article-divider"> <div class="uk-article"> <div id="JJLFWWK7MUFQY" class="LNPES LNPESZKSKNPF4X2U uk-text-center"></div> <div class="uk-article uk-margin-top"> <a href="javascript:;" id="download_pres_btn" data-toggle="modal" data-target="#download-modal" class="uk-margin">Download ppt "Introduction to XQuery Bob DuCharme these slides:"</a> <!-- <a href="javascript:document.getElementById('download_form_2').submit();" class="uk-margin">--><!--</a>--> </div> <hr class="uk-article-divider"> <ul class="uk-comment-list"> <li> <article class="uk-comment uk-comment-primary"> <header class="uk-comment-header"> <p class="uk-margin-top uk-margin-bottom-remove"> <a style="font-size: 14px; margin-right: 20px;" href="/theme/ppt-on-phonetic-transcription-ipa-9549.html">Ppt on phonetic transcription ipa</a> <a style="font-size: 13px; margin-right: 20px;" href="/theme/ppt-on-writing-process-4606.html">Ppt on writing process</a> <a style="font-size: 19px; margin-right: 20px;" href="/theme/ppt-on-arunachal-pradesh-culture-of-india-4427.html">Ppt on arunachal pradesh culture of india</a> <a style="font-size: 20px; margin-right: 20px;" href="/theme/ppt-on-effect-of-global-warming-on-weather-today-1354.html">Ppt on effect of global warming on weather today</a> <a style="font-size: 10px; margin-right: 20px;" href="/theme/ppt-on-nature-and-human-development-5981.html">Ppt on nature and human development</a> <a style="font-size: 21px; margin-right: 20px;" href="/theme/ppt-on-applied-operational-research-notes-11253.html">Ppt on applied operational research notes</a> <a style="font-size: 24px; margin-right: 20px;" href="/theme/ppt-on-nuclear-family-and-joint-family-images-5533.html">Ppt on nuclear family and joint family images</a> <a style="font-size: 21px; margin-right: 20px;" href="/theme/ppt-on-bond-length-of-n2-9781.html">Ppt on bond length of n2</a> <a style="font-size: 15px; margin-right: 20px;" href="/theme/ppt-on-tsunami-2004-in-india-5120.html">Ppt on tsunami 2004 in india</a> <a style="font-size: 23px; margin-right: 20px;" href="/theme/ppt-on-world-book-day-2016-17224.html">Ppt on world book day 2016</a> </p> </header> </article> </li> </ul> <div id="bottom-line" class="uk-margin"></div> </div> </div> </div> </div> <div class="uk-width-small-1-1 uk-width-medium-4-4 uk-width-large-3-10 right-sidebar"> <div id="JJLFWWK7MUFQQAQ" class="LNPES LNPESZKSKNPF4X2U uk-text-center uk-margin-small-bottom uk-margin-top"></div> <div class="similar-sidebar uk-margin-bottom uk-margin-top uk-panel uk-panel-box uk-panel-box-secondary uk-margin"> <h3 class="tm-text-dark"> <span class="uk-icon-list uk-margin-small-right"></span>Similar presentations </h3> <hr class="uk-article-divider"> <div id="JJLFWWK7MUFQQDA" class="LNPES LNPESZKSKNPF4X2U uk-text-center uk-margin-bottom"></div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/1/676685/big_thumb.jpg" title="1 Roger L. Costello 16 June 2010 XQuery" alt="1 Roger L. Costello 16 June 2010 XQuery"> <a href="/slide/676685/" title="1 Roger L. Costello 16 June 2010 XQuery" class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>1 Roger L. Costello 16 June 2010 XQuery</p> </div> </a> </div> </div> </div> <div id="JJLFWWK7MUFQQ" class="LNPES LNPESZKSKNPF4X2U sidebar-item uk-text-center uk-margin-bottom"></div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/3/782955/big_thumb.jpg" title="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined." alt="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined."> <a href="/slide/782955/" title="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.</p> </div> </a> </div> </div> </div> <div id="JJLFWWK7MUFQS" class="LNPES LNPESZKSKNPF4X2U sidebar-item uk-text-center uk-margin-bottom"></div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/5/1499788/big_thumb.jpg" title="XML Data Management 8. XQuery Werner Nutt. Requirements for an XML Query Language David Maier, W3C XML Query Requirements: Closedness: output must be." alt="XML Data Management 8. XQuery Werner Nutt. Requirements for an XML Query Language David Maier, W3C XML Query Requirements: Closedness: output must be."> <a href="/slide/1499788/" title="XML Data Management 8. XQuery Werner Nutt. Requirements for an XML Query Language David Maier, W3C XML Query Requirements: Closedness: output must be." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XML Data Management 8. XQuery Werner Nutt. Requirements for an XML Query Language David Maier, W3C XML Query Requirements: Closedness: output must be.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/1/238789/big_thumb.jpg" title="Chungnam National University DataBase System Lab. 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014." alt="Chungnam National University DataBase System Lab. 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014."> <a href="/slide/238789/" title="Chungnam National University DataBase System Lab. 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Chungnam National University DataBase System Lab</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/5/1500530/big_thumb.jpg" title="Querying on the Web: XQuery, RDQL, SparQL Semantic Web - Spring 2006 Computer Engineering Department Sharif University of Technology." alt="Querying on the Web: XQuery, RDQL, SparQL Semantic Web - Spring 2006 Computer Engineering Department Sharif University of Technology."> <a href="/slide/1500530/" title="Querying on the Web: XQuery, RDQL, SparQL Semantic Web - Spring 2006 Computer Engineering Department Sharif University of Technology." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Querying on the Web: XQuery, RDQL, SparQL Semantic Web - Spring 2006 Computer Engineering Department Sharif University of Technology.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/16/5079575/big_thumb.jpg" title="1 COS 425: Database and Information Management Systems XML and information exchange." alt="1 COS 425: Database and Information Management Systems XML and information exchange."> <a href="/slide/5079575/" title="1 COS 425: Database and Information Management Systems XML and information exchange." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>1 COS 425: Database and Information Management Systems XML and information exchange.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/3/782950/big_thumb.jpg" title="Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey." alt="Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey."> <a href="/slide/782950/" title="Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Transforming XML XMLNamespaces, XSLT. XML Namespaces Sometimes it is necessary to mix XML elements –Different types of content –Use of markup to convey.</p> </div> </a> </div> </div> </div> <div id="JJLFWWK7MUEAWAY" class="LNPES LNPESZKSKNPF4X2U sidebar-item uk-text-center uk-margin-bottom"></div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/5/1537618/big_thumb.jpg" title="XML Examples. Bank Information Basic structure: A-101 Downtown 500 … Johnson Alma Surrey … A-101 Johnson …" alt="XML Examples. Bank Information Basic structure: A-101 Downtown 500 … Johnson Alma Surrey … A-101 Johnson …"> <a href="/slide/1537618/" title="XML Examples. Bank Information Basic structure: A-101 Downtown 500 … Johnson Alma Surrey … A-101 Johnson …" class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XML Examples. Bank Information Basic structure: A-101 Downtown 500 … Johnson Alma Surrey … A-101 Johnson …</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/14/4346828/big_thumb.jpg" title="1 XQuery Web and Database Management System. 2 XQuery XQuery is to XML what SQL is to database tables XQuery is designed to query XML data What is XQuery?" alt="1 XQuery Web and Database Management System. 2 XQuery XQuery is to XML what SQL is to database tables XQuery is designed to query XML data What is XQuery?"> <a href="/slide/4346828/" title="1 XQuery Web and Database Management System. 2 XQuery XQuery is to XML what SQL is to database tables XQuery is designed to query XML data What is XQuery?" class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>1 XQuery Web and Database Management System. 2 XQuery XQuery is to XML what SQL is to database tables XQuery is designed to query XML data What is XQuery?</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/5/1500044/big_thumb.jpg" title="XQuery How to handle databases with the XML standard? Peter van Keeken Industrial trainee, Evitech 4 th period 2002." alt="XQuery How to handle databases with the XML standard? Peter van Keeken Industrial trainee, Evitech 4 th period 2002."> <a href="/slide/1500044/" title="XQuery How to handle databases with the XML standard? Peter van Keeken Industrial trainee, Evitech 4 th period 2002." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XQuery How to handle databases with the XML standard? Peter van Keeken Industrial trainee, Evitech 4 th period 2002.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/3/783155/big_thumb.jpg" title="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined." alt="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined."> <a href="/slide/783155/" title="Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/12/3415614/big_thumb.jpg" title="ISO 19757 - DSDL ISO 19757 – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1." alt="ISO 19757 - DSDL ISO 19757 – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1."> <a href="/slide/3415614/" title="ISO 19757 - DSDL ISO 19757 – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>ISO DSDL ISO – Document Schema Definition Languages (DSDL) Martin Bryan Convenor, JTC1/SC18 WG1.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/3/799515/big_thumb.jpg" title="Dr. Alexandra I. Cristea CS 253: Topics in Database Systems: XPath, NameSpaces." alt="Dr. Alexandra I. Cristea CS 253: Topics in Database Systems: XPath, NameSpaces."> <a href="/slide/799515/" title="Dr. Alexandra I. Cristea CS 253: Topics in Database Systems: XPath, NameSpaces." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Dr. Alexandra I. Cristea CS 253: Topics in Database Systems: XPath, NameSpaces.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/29/9456719/big_thumb.jpg" title="XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its." alt="XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its."> <a href="/slide/9456719/" title="XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XPath --XML Path Language Motivation of XPath Data Model and Data Types Node Types Location Steps Functions XPath 2.0 Additional Functionality and its.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/12/3385202/big_thumb.jpg" title="©CSW Group Ltd 2005 Intermediate XSLT Bob DuCharme these slides: 1.0." alt="©CSW Group Ltd 2005 Intermediate XSLT Bob DuCharme these slides: 1.0."> <a href="/slide/3385202/" title="©CSW Group Ltd 2005 Intermediate XSLT Bob DuCharme these slides: 1.0." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>©CSW Group Ltd 2005 Intermediate XSLT Bob DuCharme these slides: 1.0.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/14/4346552/big_thumb.jpg" title="XQuery John Annechino Steven Pow. Agenda What is XQuery? Uses of XQuery XQuery vs. XSLT Syntax –Built-In Functions –FLWOR –if-then-else –User-Defined." alt="XQuery John Annechino Steven Pow. Agenda What is XQuery? Uses of XQuery XQuery vs. XSLT Syntax –Built-In Functions –FLWOR –if-then-else –User-Defined."> <a href="/slide/4346552/" title="XQuery John Annechino Steven Pow. Agenda What is XQuery? Uses of XQuery XQuery vs. XSLT Syntax –Built-In Functions –FLWOR –if-then-else –User-Defined." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XQuery John Annechino Steven Pow. Agenda What is XQuery? Uses of XQuery XQuery vs. XSLT Syntax –Built-In Functions –FLWOR –if-then-else –User-Defined.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/30/9543456/big_thumb.jpg" title=" Packages:  Scrapy, Beautiful Soup  Scrapy  Website  " alt=" Packages:  Scrapy, Beautiful Soup  Scrapy  Website  "> <a href="/slide/9543456/" title=" Packages:  Scrapy, Beautiful Soup  Scrapy  Website  " class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p> Packages:  Scrapy, Beautiful Soup  Scrapy  Website  </p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/14/4346814/big_thumb.jpg" title="XQUERY. What is XQuery? XQuery is the language for querying XML data The best way to explain XQuery is to say that XQuery is to XML what SQL is to database." alt="XQUERY. What is XQuery? XQuery is the language for querying XML data The best way to explain XQuery is to say that XQuery is to XML what SQL is to database."> <a href="/slide/4346814/" title="XQUERY. What is XQuery? XQuery is the language for querying XML data The best way to explain XQuery is to say that XQuery is to XML what SQL is to database." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>XQUERY. What is XQuery? XQuery is the language for querying XML data The best way to explain XQuery is to say that XQuery is to XML what SQL is to database.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/24/6961962/big_thumb.jpg" title="VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation An Introduction to XQuery." alt="VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation An Introduction to XQuery."> <a href="/slide/6961962/" title="VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation An Introduction to XQuery." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation An Introduction to XQuery.</p> </div> </a> </div> </div> </div> <div class="sidebar-item"> <div class="similar-wrapper"> <div class="uk-overlay uk-margin-bottom"> <img src="/2/684538/big_thumb.jpg" title="Copyright © 2003 Pearson Education, Inc. Slide 6-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide." alt="Copyright © 2003 Pearson Education, Inc. Slide 6-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide."> <a href="/slide/684538/" title="Copyright © 2003 Pearson Education, Inc. Slide 6-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide." class="uk-overlay-area"> <div class="uk-overlay-area-content"> <p>Copyright © 2003 Pearson Education, Inc. Slide 6-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.</p> </div> </a> </div> </div> </div> </div> </div> <div class="uk-width-4-4" id="bot-similar-bl"> <div class="uk-margin-bottom uk-panel uk-panel-box uk-panel-box-secondary"> <div id="bottom-similars" class="uk-grid"> <div class="heading uk-margin-bottom"> <p class="tm-text-dark uk-h3"> <span class="uk-icon-list uk-margin-small-right"></span>Similar presentations </p> <hr> </div> </div> </div> </div> </div> </div> </div> </section> </div><!-- .assets --> <script type="text/javascript"> var embed_template = '<div style="width:{width}px"> <strong style="display:block;margin:12px 0 4px"><a href="'+(document.location.toString().replace(/(\?|\#).*$/, ''))+'" title="Introduction to XQuery Bob DuCharme these slides:" target="_blank">Introduction to XQuery Bob DuCharme these slides:</a></strong><iframe src="http://player.slideplayer.com/5/1499922/" width="{width}" height="{height}" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe><div style="padding:5px 0 12px"></div></div>'; </script> <div class="tm-container tm-grey" > <div class="uk-container uk-container-center uk-width-large-3-10 uk-h1" style="opacity: 0 ;display:none; font-weight: 300;" id="next_slide_prefetcher_progressbar" > <div class="uk-grid uk-text-center"> <div style="width: 100%;"> Presentation is loading. Please wait.... <br> <img src="/static/blue_design/img/prefetch2.gif"> <div id="next_slide_prefetcher_progressbar_done" style="width: 100%; display: none"> OK<br> <div class="uk-h3"> <br> Chungnam National University DataBase System Lab. 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014 1 4 2014. </div> </div> <br><br> </div> </div> </div> </div> <div id="footer" class="tm-container tm-dark"> <div class="uk-container uk-container-center"> <div class="uk-navbar"> <div class="uk-navbar-nav"> <div class="uk-float-right uk-margin uk-margin-large-left" id="about-project"> <h5 class="uk-margin-remove">About project</h5> <a href="/support/project/" class="uk-text-small">SlidePlayer</a><br> <a href="/support/terms/" class="uk-text-small">Terms of Service</a> </div> <div class="uk-float-right uk-margin uk-margin-large-left"> <h5 class="uk-margin-remove">Feedback</h5> <a href="/support/privacy/" class="uk-text-small">Privacy Policy</a><br> <a href="/support/feedback/" class="uk-text-small">Feedback</a> </div> <div class="uk-float-left copyright"> <p class="uk-text-small uk-margin-top">© 2017 SlidePlayer.com Inc. <br />All rights reserved.</p> </div> </div> <div class="uk-navbar-flip"> <div class="uk-navbar-nav"> <div class="uk-navbar-content"> <form method="get" action="/search/" id="search_form" class="search_form uk-form uk-margin-top uk-display-inline-block"> <input type="text" required="required" name="q" id="search_query_bottom" value="" placeholder="Search..." autocomplete="off" class="tm-form-width-footer"> <button class="uk-button uk-button-primary">Search</button> </form> </div> </div> </div> </div> </div> </div> <div id="ads_text">Ads by Google</div> <!--<script src="/static/js/--><!--/total_blue.js" type="text/javascript"></script>--> <script> function loadScript(url, callback) { var head; if (typeof(document.getElementsByTagName)!='undefined' && document.getElementsByTagName('head') && document.getElementsByTagName('head')[0]) { head = document.getElementsByTagName('head')[0]; } else { if (typeof(setTimeout)=='undefined') { window.onerror("setTimeout is undefined on function loadScript", '[system]'); callback(2, url); return; } setTimeout(function() { loadScript(url, callback); }, 100); return; } var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; if (typeof(callback)!='undefined' && typeof(script.onload)!='undefined') { script.onload = function() { callback(0, url); }; } if (typeof(script.async)!='undefined') { script.async = true; } if (typeof(callback)!='undefined' && typeof(script.onerror)!='undefined') { script.onerror = function(){ callback(1, url); }; } head.appendChild(script); } window.onerror = function (msg, file, line, column, errorObj) { var u = 'undefined'; if (typeof(file) == u) { return; } if (file != '[system]') { if (!file || msg == "Script error." || msg == 'Script error') { return; } if (typeof(file.indexOf) != u && file.indexOf(document.domain) == -1) { return; } if (typeof(file.substr) != u && file.substr(0, 4) != 'http') { return; } if (typeof(file.substring) != u && file.substring(0, 4) != 'http') { return; } } var data = { 'url' : document.location.toString(), 'page_id' : '2', 'design_id':3, 'l' : navigator.language, 'p' : navigator.platform }; if (typeof(msg) != u) { if (typeof(errorObj) != u && typeof(errorObj.stack) != u) { msg += ' ' + errorObj.stack; } data.msg = msg; } if (typeof(file) !== u) { data.file = file; } if (typeof(line) !== u) { data.line = line; } if (typeof(column) !== u) { data.column = column; } if (typeof(page_data) !== u && page_data.req_id) { data.req_id = page_data.req_id; } if (typeof(page_data) !== u && page_data.rev) { data.rev = page_data.rev; } var img = new Image(), uri = ''; for (var index in data) { uri += index + '=' + encodeURIComponent(data[index]) + '&'; } img.src = 'http://slideplayer.com/cache/' + Math.random() + '/report/pixel.gif?type=js_error&domain_id=1&' + uri; } var u = 'undefined'; if (typeof(JSON)==u || typeof(JSON.stringify)==u) { document.write('<scr'+'ipt src="http://slideplayer.com/static/js/json.js" type="text/javascript"><'+'/'+'s'+'cript>'); } if (typeof(Object.keys)==u || typeof(Object.toString)==u || typeof(String.prototype.indexOf)==u || navigator.userAgent.toString().match(/(MSIE|Opera|Firefox\/3\.|Edge|Trident|Chrome\/1\d+\.|OPR\/[123]|WOW64|NokiaBrowser)/i) || navigator.platform.toString().match(/(Win32|Linux armv7l)/)) { document.write('<scr'+'ipt src="http://slideplayer.com/cloud/js/es5-shim.js" type="text/javascript"><'+'/'+'s'+'cript>'); } var page_data = {"page_id":2,"domain_id":1,"design_id":3,"rev":"78e5","window_load":0,"host":"slideplayer.com","mapper_key":"39e68ff57b795"}; page_data.req_id = Math.abs(Math.round(Math.random() * 9007199254740990)); page_data.is_bot = 0; page_data.window_id = (function () { var i, w=0, rw = 0, b, wins = {"1": [0, 800], "5": [801, 1200], "11": [1201, 1300], "12": [1301, 20000]}; var xScroll, yScroll, pageHeight, pageWidth; if (window.innerHeight && window.scrollMaxY) { xScroll = document.body.scrollWidth; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; } else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight){ xScroll = document.documentElement.scrollWidth; yScroll = document.documentElement.scrollHeight; } else { if (typeof(document.body.offsetWidth)=='undefined' || typeof(document.body.offsetHeight)=='undefined') { xScroll = 0; yScroll = 0; } else { xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } } var windowWidth, windowHeight; if (self.innerHeight) { windowWidth = self.innerWidth; windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } if(yScroll < windowHeight){ pageHeight = windowHeight; } else { pageHeight = yScroll; } if(xScroll < windowWidth){ pageWidth = windowWidth; } else { pageWidth = xScroll; } w = page_data.pageWidth = pageWidth; page_data.pageHeight = pageHeight; if (w > 1300) { return 12; } for (i=1; i<12; i++) { if (wins.hasOwnProperty(i)) { b = wins[i]; if (w >= b[0] && w <= b[1]) { rw = i; } } } return rw; }()); if (typeof(setTimeout)==u || typeof(window.setTimeout)==u || ! navigator.userAgent || ! navigator.platform) { window.onerror('user bot detected???', '[system]'); page_data.is_bot = 1; } else { (function(){ var img = new Image(); img.src = 'http://slideplayer.com/cache/'+Math.random()+'/report/pixel.gif?type=pageview&domain_id=1&page_id=2&design_id=3&l='+encodeURIComponent(navigator.language)+'&p='+encodeURIComponent(navigator.platform)+'&req_id='+page_data.req_id+'&url='+encodeURIComponent(document.location); }()); } var js_loader = { counter_loading_scripts : 0, object_load_script : function(obj, urls_stack, callback) { var first_url = urls_stack[0]; // if (! callback) { // js_loader.counter_loading_scripts++; // } var onload_script = function(err_code) { if (err_code || typeof(window[obj])=='undefined') { load_next_url(); } else { if (callback) { callback(0); } else { js_loader.counter_loading_scripts--; js_loader.onload(); } } }; var load_next_url = function() { var url = urls_stack.splice(0,1)[0]; if (typeof(url)=='undefined' || ! url) { //window.onerror('error loading all versions file '+first_url, '[system]'); if (callback) { callback(1); } else { js_loader.counter_loading_scripts--; js_loader.onload(); } } else { window.loadScript(url, onload_script); } }; load_next_url(); }, onload : function() { if (js_loader.counter_loading_scripts > 0) { return; } if (typeof(window.on_load_jquery)!='undefined' && window.on_load_jquery) { window.on_load_jquery(); } else { window.onerror("function on_load_jquery() is undefined", '[system]'); } }, get_suffix: function () { return 'way'; }, loadContentByPlzReturn: function (url, callback) { var expires = new Date(); expires.setSeconds(expires.getSeconds() + 5); document.cookie = 'plz_return=' + url + '; expires=' + expires.toUTCString() + "; domain=." + document.domain.toString().replace(/^www\./i, '') + '; path=' + window.location.pathname; try { var needCleanCookie = true; x = new (XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0'); x.open('POST', window.location, 1); x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); x.onreadystatechange = function () { if (needCleanCookie && x.readyState > 1) { needCleanCookie = false; document.cookie = "plz_return=133" + "; expires=Thu, 01 Jan 1970 00:00:01 GMT" + "; domain=." + document.domain.toString().replace(/^www\./i, '') + '; path= ' + window.location.pathname; } x.readyState > 3 && callback && callback(x.responseText, x); }; x.send([]); } catch (e) { console.log(e); } }, loadScript: function (urlPostfix) { if (page_data.page_id > 0 && !page_data.is_bot) { var d = new Date(), h = d.getHours(), day = d.getDate(), m = d.getMonth(); var surls = [], uriRealPart = '/1_' + page_data.window_id + '_2_3' + urlPostfix; surls.push('http://slideplayer.com/static/' + js_loader.get_suffix() + '/' + day + '' + h + uriRealPart + '.js'); surls.push('http://slideplayer.com/static/' + js_loader.get_suffix() + '/10' + uriRealPart + '.js'); js_loader.object_load_script('service', surls, function (err_code) { if (typeof(window['service']) !== 'undefined' && window['service'].show_after_load) { window['service'].show_after_load(); } else { if (urlPostfix === '') { uriRealPart += '_b'; window.force_service_mode = 1; } js_loader.loadContentByPlzReturn( '/static/' + js_loader.get_suffix() + '/00042' + uriRealPart + '.js' , function (responseText, xhr) { if (xhr.status !== 200) { window.onerror("bad xhr status: " + xhr.status + ' for ' + uriRealPart + '.js', '[system]'); } var script_code = document.createElement('script'); script_code.type = 'text/javascript'; script_code.text = responseText + '\n service.show_after_load();'; document.body.appendChild(script_code); }); } }); } }, init : function() { this.loadScript(''); js_loader.counter_loading_scripts = 2; js_loader.object_load_script('jQuery', ['/static/blue_design/js/vendor/jquery-1.11.1.min.js', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.js']); js_loader.object_load_script('on_load_jquery', ['http://slideplayer.com/static/js/78e5/total_blue.js', '/static/js/total_blue.js']); } }; js_loader.init(); </script> <script> var nextSlideUrl="\/slide\/238789\/", nextSlidePrecacheUrls=[]; </script> <script> (function(){ if (typeof (nextSlideUrl) != 'undefined' && nextSlideUrl) { var bottomEvent, wasNotOnBottom = false, footer = document.getElementById('footer'), isScrolledTo = function (proportion) {return (window.innerHeight + window.pageYOffset ) >= (footer.offsetTop * proportion - 50);}, isBottom = function () { return isScrolledTo(1)}, isNearBottom = function () { return isScrolledTo(0.9)}, isHalfPage = function () {return isScrolledTo(0.2)}, preloaded = false, preloadUrl = function (url) { var res = document.createElement("link"); res.rel = "prefetch"; res.href = url; document.head.appendChild(res); }, progressbar = document.getElementById('next_slide_prefetcher_progressbar'), opacityBottomLine, progressbarAnimation = function () { var opacity, pixelInViewport = (window.innerHeight + window.pageYOffset) - progressbar.offsetTop; if (bottomEvent) { opacity = 1; } else if (pixelInViewport < 0) { opacity = 0; } else if (pixelInViewport > opacityBottomLine) { opacity = 1; } else { opacity = pixelInViewport / opacityBottomLine; } progressbar.style.opacity = opacity; }, prevWindowOnload = window.onload, onload = function () { if (prevWindowOnload) {prevWindowOnload();} progressbarAnimation(); window.onscroll = function () { progressbarAnimation(); if (!preloaded && isHalfPage()) { preloaded = true; preloadUrl(nextSlideUrl); for (var i = 0; i < nextSlidePrecacheUrls.length; i++) { preloadUrl(nextSlidePrecacheUrls[i]) } console.log('start preload next slides'); } if (!wasNotOnBottom && !isNearBottom()) { wasNotOnBottom = true; progressbar.style.display = 'block'; opacityBottomLine = progressbar.offsetHeight + 200; } if (wasNotOnBottom && !bottomEvent && isBottom()) { bottomEvent = window.setTimeout(function () { bottomEvent = null; if (isBottom()) { document.getElementById('next_slide_prefetcher_progressbar_done').style.display = 'block'; window.setTimeout(function () {document.location = nextSlideUrl;}, 200); } }, 500); } }; }; if (window.addEventListener) { window.addEventListener('load', onload); } } })(); </script> </body> </html>