Professional XML with PHP

        Arne Blankerts <arne@thephp.cc>, TobiasSchlitt <toby@php.net>

                        ...
Outline




 1 Overview
          Welcome
          Overview

 2 XML


 3 XML in PHP


 4 Open part




Arne Blankerts, To...
Arne Blankerts




         Arne Blankerts <arne@thephp.cc>
         PHP since 1999 (10 years of PHP!)
         Co-Founder...
Tobias Schlitt



         Tobias Schlitt <toby@php.net>
         PHP since 2001
         Freelancing consultant
         ...
So, what about you?




Arne Blankerts, Tobias Schlitt (IPC 2009)   Professional XML with PHP   2009-11-15   5 / 26
Conferences are about contacts




          That is why both begin with con. . .
          Who are you?
          What is...
What can you expect?




 Workshop                                                XPath
         Introduction to XML      ...
Rules for this workshop




         Allways Stick to your place!
         Never ask! Repeat: I will not ask anything!
   ...
Rules for this workshop




         Allways Stick to your place!
         Never ask! Repeat: I will not ask anything!
   ...
Outline




 1 Overview


 2 XML
          Overview
          Get into code. . .

 3 XML in PHP


 4 Open part




Arne Bl...
What is XML?



          General specification for creating markup languages
          Data exchange between computer syst...
XML languages by example



         XHTML                  XML variant of the popular HTML
                RSS           ...
Related technologies - Schemas

  Schema
  A schema defines the structure XML instance documents.

  XMLSchema             ...
Related technologies - Querying




  Query
  A query extracts a sub-set of information from a data source.

            X...
Practical




  Let’s get into the code




Arne Blankerts, Tobias Schlitt (IPC 2009)   Professional XML with PHP   2009-1...
Outline




 1 Overview


 2 XML


 3 XML in PHP
          DOM
          XMLReader/-Writer

 4 Open part




Arne Blankert...
Overview



  XML APIs
  PHP has quite some XML APIs.

          The most important are:
                  DOM
           ...
Overview - DOM


          Document Object Model
          Standardized API to access XML tree
                  W3C recom...
Overview - XMLReader/-Writer




          Popular approach to access XML data
          Similar implementations available...
Overview - SimpleXml




          Very simple access to XML data
          Unique (?) to PHP
          Represents XML str...
APIs compared

                                            DOM       XMLReader/-Writer     SimpleXML
             Read    ...
Practical




  Let’s get into the code




Arne Blankerts, Tobias Schlitt (IPC 2009)   Professional XML with PHP   2009-1...
Practical




  Let’s get into the code




Arne Blankerts, Tobias Schlitt (IPC 2009)   Professional XML with PHP   2009-1...
Outline




 1 Overview


 2 XML


 3 XML in PHP


 4 Open part




Arne Blankerts, Tobias Schlitt (IPC 2009)   Profession...
What would you like to do?




          Discuss a particular problem?
          See a special XML technique in PHP?
     ...
Q/A




          Are there any questions left?
          Please give us some feedback!




Arne Blankerts, Tobias Schlitt...
The end




          We hope you enjoyed the workshop!
          Slides and material
                  Delivered by Softw...
Upcoming SlideShare
Loading in …5
×

Professional XML with PHP

2,489 views
2,419 views

Published on

Slides from our XML workshop on the International PHP Conference 2009 in Karlsruhe. Not that much information in here, since we did a lot of live stuff. But hopefully still valueable.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,489
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
70
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Professional XML with PHP

  1. 1. Professional XML with PHP Arne Blankerts <arne@thephp.cc>, TobiasSchlitt <toby@php.net> IPC 2009 2009-11-15 Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 1 / 26
  2. 2. Outline 1 Overview Welcome Overview 2 XML 3 XML in PHP 4 Open part Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 2 / 26
  3. 3. Arne Blankerts Arne Blankerts <arne@thephp.cc> PHP since 1999 (10 years of PHP!) Co-Founder of thePHP.cc ballyhoo. werbeagentur. Open source addicted Inventor and lead developer of fCMS site system Contributor and translator for the PHP manual Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 3 / 26
  4. 4. Tobias Schlitt Tobias Schlitt <toby@php.net> PHP since 2001 Freelancing consultant Qualified IT Specialist Studying CS at TU Dortmund (finishing 2010) OSS addicted PHP eZ Components PHPUnit Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 4 / 26
  5. 5. So, what about you? Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 5 / 26
  6. 6. Conferences are about contacts That is why both begin with con. . . Who are you? What is your business? What is your intention behind coming to IPC? What do you expect from this workshop? Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 6 / 26
  7. 7. What can you expect? Workshop XPath Introduction to XML Tuesday, 13:45 - 14:45 Working on XML data with XPath in depth PHP Validating XML Practical tips and tricks Tuesday, 15:15 - 16:15 Interactive: What would you like DTD, XML Schema and to know? RelaxNG Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 7 / 26
  8. 8. Rules for this workshop Allways Stick to your place! Never ask! Repeat: I will not ask anything! We are not here to show you anything useful! The only correct solution is told by us! Do not give feedback on http://joind.in/1041 Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 8 / 26
  9. 9. Rules for this workshop Allways Stick to your place! Never ask! Repeat: I will not ask anything! We are not here to show you anything useful! The only correct solution is told by us! Do not give feedback on http://joind.in/1041 Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 8 / 26
  10. 10. Outline 1 Overview 2 XML Overview Get into code. . . 3 XML in PHP 4 Open part Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 9 / 26
  11. 11. What is XML? General specification for creating markup languages Data exchange between computer systems System independent Human readable Most used on the web Successor of SGML W3C recommendation 1.0 1998 (last update 2008-11-26) 1.1 2004 (last update 2006-08-16) Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 10 / 26
  12. 12. XML languages by example XHTML XML variant of the popular HTML RSS Really Simply Syndication Provide news / updates / ... of websites Read by special clients Aggregation on portals / planets SVG Scalable Vector Graphics Describe vector graphics in XML Potentially interactive / animated (via ECMAScript) Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 11 / 26
  13. 13. Related technologies - Schemas Schema A schema defines the structure XML instance documents. XMLSchema Written in XML W3C recommendation Popular RelaxNG 2 syntax variants XML based Short plain text based OASIS / ISO standard Popular DTD Plain text W3C recommendation Deprecated Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 12 / 26
  14. 14. Related technologies - Querying Query A query extracts a sub-set of information from a data source. XPath W3C recommendation Navigation in XML documents more on that later... XQuery Functional programming language Allows complex queries Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 13 / 26
  15. 15. Practical Let’s get into the code Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 14 / 26
  16. 16. Outline 1 Overview 2 XML 3 XML in PHP DOM XMLReader/-Writer 4 Open part Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 15 / 26
  17. 17. Overview XML APIs PHP has quite some XML APIs. The most important are: DOM XMLReader / XMLWriter SimpleXML Deprecated are: DOM XML XML Parser Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 16 / 26
  18. 18. Overview - DOM Document Object Model Standardized API to access XML tree W3C recommendation Level 1 in 1999 Currently: Level 3 (2004) Available in many languages C Java Perl Python ... Represents XML nodes as objects Loads full XML tree into memory Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 17 / 26
  19. 19. Overview - XMLReader/-Writer Popular approach to access XML data Similar implementations available in Java C# Pull / push based Does not load XML fully into memory Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 18 / 26
  20. 20. Overview - SimpleXml Very simple access to XML data Unique (?) to PHP Represents XML structures as objects Initial implementation hackish Loads full XML tree into memory You don’t want to use SimpleXML, seriously! Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 19 / 26
  21. 21. APIs compared DOM XMLReader/-Writer SimpleXML Read • Write ◦ Manipulate • • Full control - Namespaces ◦ XPath - Validate DTD DTD - Schema Schema RelaxNG RelaxNG Comfort • ◦ Fully supported • Supported but not nice ◦ Poorly supported - Not supported at all Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 20 / 26
  22. 22. Practical Let’s get into the code Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 21 / 26
  23. 23. Practical Let’s get into the code Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 22 / 26
  24. 24. Outline 1 Overview 2 XML 3 XML in PHP 4 Open part Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 23 / 26
  25. 25. What would you like to do? Discuss a particular problem? See a special XML technique in PHP? Get to know related techniques? Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 24 / 26
  26. 26. Q/A Are there any questions left? Please give us some feedback! Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 25 / 26
  27. 27. The end We hope you enjoyed the workshop! Slides and material Delivered by Software & Support http://schlitt.info/opensource On Slideshare (http://slideshare.net) Contact us: Arne Blankerts <arne@thephp.cc> Tobias Schlitt <toby@php.net> Give us feedback on http://joind.in/1041 Arne Blankerts, Tobias Schlitt (IPC 2009) Professional XML with PHP 2009-11-15 26 / 26

×