spring naar de tekst
spring naar het nieuws
terug naar huis woordbeeld van de NLLGG tux home zoeken sitemap contact
U bent: bezoeker <== Klik op bezoeker om in te loggen 4 februari 2012 Afdrukken
NLLGG > Wat doet de NLLGG? > Landelijke Bijeenkomsten > Vorige jaren > 2003 > XML 'DATA'base Servers (Hans Wolters)
Wat is de NLLGG?
Over Linux
Wat doet de NLLGG?
   Landelijke Bijeenkomsten
     2011
     2010
     2009
     Vorige jaren
       2008
       2007
       2006
       2005
       2004
       2003
         Zomer-activiteit
       2002
       2001
       2000
       1995
   Cursussen (LPI, OOo, ..)
   Evenementen
   Community Dagen
   Linux Zelfstudie Groepen
   Special Interest Groups
   Discussielijsten (E-mail)
   Linux Forum (publiek)
   Acties
Van de redactie
Lid worden?
Webchat


sponsor logo
(partner)

XML 'DATA'base Servers (Hans Wolters)

Introductie

  • XML (DTD en Document)
  • XML 'database' servers
  • RDBMS systemen en XML
  • XML waar en wanneer
  • Bronnen en documentatie
  • Vragen

Wat is een DTD

  • Document Type Definition
    • definitie volgens de regels van de 'Standard Generalized Markup Language' (SGML).
    • Extern (remote) en server.
    • Eigen DTD's
    • Bestaande DTD's
    • Validatie mogelijkheden
    • Wereldwijde afspraken

Voorbeeld DTD

  • <!ELEMENT book (title, isbn, pages, language, publishername, publisherurl, writers)>
  • <!ELEMENT writers (writername+)>
  • <!ATTLIST book
  • title CDATA #REQUIRED
  • isbn ID #REQUIRED
  • pages CDATA #REQUIRED
  • language CDATA #REQUIRED
  • publishername CDATA #REQUIRED>
  • <!ATTLIST writers
  • writername CDATA #REQUIRED>

    Remote DTD's

    • <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
    • "http://my.netscape.com/publish/ formats/rss-0.91.dtd">

      Voorbeeld XML

      • <?xml version="1.0" encoding="UTF-8"?>
      • <!DOCTYPE book SYSTEM
      • "http://phpreview.nl.linux.org/phpreview-book.dtd">
      • <book>
      • <language>US</language>
      • <publishername>O'Reilly</publishername>
      • <publisherurl>http://www.oreilly.com</publisherurl>
      • <isbn>0596000022</isbn>
      • <title>Understanding the Linux Kernel</title>
      • <writer>
      • <writername>Cesati, Marco</writername>
      • </writer>
      • <pages>632</pages>
      • </book>

        Bestaande DTD's

        • RSS / RDF (Netscape Channels)
        • Linuxdoc
        • Boeken
        • Journalistiek
        • E-Commerce

        XML Database Servers

        • Documenten opgeslagen op het filesystem
        • Validatie via XML-Shema
        • Object oriented. (meestal boomstructuur)
        • Query mogelijkheden
          • Xpath, XML-QL en Xquery
        • Resultaten worden vaak opgeslagen in cache
        • Interfaces via DOM en/of SAX
          • Bindings naar talen als Java, Python, C/C++

        RDBMS en XML

        • XML Shema gebaseerde tabellen (XMLTYPE)
        • Stored procedures om de data te verwerken
          • Java
          • C++
        • Oracle, DB2

        Xpath

        • Taal om te navigeren in XML documenten
        • Selecteren van elementen binnen het document
        • Selecteren van attributen in elementen

        Xquery, XML-QL

        • Query language voor het opzoeken van de inhoud van elementen.
        • Simpele control structures (for $foo in doc....)
        • WHERE Clausules
        • Mogelijkheden om functies te defineren

        XML, wanneer

        • Heterogene netwerken
        • Onbekende data aanvoer
        • Gebruik maken van bestaande XML data

        Voorbeeld situatie

        • Applicatie met drivers voor PostgreSQL en MySQL
          • Applicatie is uit te breiden met andere drivers
          • Bevat informatie over boeken
            • Titel, ISBN, uitgever, schrijvers, pagina's
        • Ascii data van uitgevers.
          • Importeren in de main database
          • Distribueren over gebruikers van de applicatie
          • Onafhankelijk van de gebruikte database driver

        Omzetten van asci naar xml

        • Data komt via ftp binnen
        • Omzetten via een commandline applicatie van asci naar xml.
        • Naamsgeving voor de bestanden (ISBN)

        Importeren van data

        • Applicatie is voorzien van een import module
          • Inlezen
          • Valideren
          • Opslaan in rdbms
        • Onafhankelijk van de gebruikte driver
        • Data is herbruikbaar binnen andere applicatie

        Technische verschillen

        • Ongeindexeerde XML data is over het algemeen zo'n 20% groter (in omvang) dan geindexeerde data in een RDBMS
        • Aanpassingen in het datamodel zijn lastiger door te voeren binnen native XML databases.
        • Native XML databases consumeren over het algemeen meer geheugen en hebben meer werk om mutaties te realiseren dan een RDBMS
        • Transacties zijn zeer moeilijk te realiseren binnen Native XML databases.

        PhpChannel

        • PhpChannel is een voorbeeld van een kleine parser/creator waarmee men xml bestanden (RSS channels) kan aanmaken en zichtbaar maken. Zie de volgende sheet.

        Links

      • Ga naar begin pagina
        Linux© is een geregistreerd handelsmerk van Linus Torvalds. NLLGG site design made by KovoKs.