Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Introduction to XML Patrice Bonhomme & Laurent Romary Lucid-ITLORIA eXtensible Markup Language version 1.0 Recommendation,

Similar presentations


Presentation on theme: "An Introduction to XML Patrice Bonhomme & Laurent Romary Lucid-ITLORIA eXtensible Markup Language version 1.0 Recommendation,"— Presentation transcript:

1 An Introduction to XML Patrice Bonhomme & Laurent Romary Lucid-ITLORIA bonhomme@lucid-it.com romary@loria.fr eXtensible Markup Language version 1.0 Recommendation, February 1998

2 Objectives Understanding the basic concepts of XML Elements, attributes and content DTD (, Schemas) Namespaces An overview of the main associated recommendations: XML path language ( XPath) XML pointers and links ( Xpointer and XLink) The transformation language of XSL (eXtensible Stylesheet Language)

3 XML in the document chain Edition XML Data Transformation XML XSL/XSLT Data processing Consultation HTML XHTML User perspective Conception DTD/ Schema Structures

4 A quick historical overview 1986 SGML (Standard Generalized Markup Language) ISO standard: ISO:8879:1986 1987 TEI (Text Encoding Initiative) 1990 HTML 1.0 (HyperText Markup Language) 1997/1998 XML 1.0 (eXtensible Markup Language)

5 What XML is: XML: eXtended Markup Language A W3C (World Wide Web Consortium) Recommendation A meta-language: it allows one to define his own markup language A simplification of the SGML standard SGML was intended to represent the “logical” structure of a document HTML was conceived as an application of SGML

6 A simplified SGML An XML document is an SGML document With some slight (but essential) differences... XML has the expressive power of SGML without its complexity Opens the door to the transmission of structured documents on the web Databases also entered the game...

7 What can we do with it? Data modeling (in complement to UML for instance) Publication of structured data on the web Separation of the logical structure of a document from its actual presentation Distributed applications (cf. well-formed vs. valid documents) Integrating data from heterogeneous sources

8 Why can’t we avoid it? Simplicity, which makes it simple to integrate into any kind of application XML specifications = 36 pages SGML standard, ISO-8879 = 250 pages Wide variety of application already implemented Industry: Publishing, Databases, Cataloguing, e-business etc. Science, research: genomics, astronomy, maths, etc. Consequence: a lot of software available: editors, parsers, bridges from and to existing editing environment or DBMSs

9 From HTML to XML - 1 A simple HTML document: Patrice Bonhomme Patrice.Bonhomme@loria.fr tél : 03 83 59 30 52 fax : 03 83 41 30 79 équipe : Langue et Dialogue ( LORIA )

10 From HTML to XML - 2 The XML way: BONHOMME Patrice Patrice.Bonhomme@loria.fr 03 83 59 30 52 03 83 41 30 79 Langue et Dialogue

11 Some properties of XML Emphasis should be put on the “semantics” of a document Underlying model: tree structure Possibility to imagine a script language to access any part of an XML document e.g.: DB/MEMBRE[28]/MEL/text() XML supports Unicode character encodings

12 Elements and their content BONHOMME Patrice Patrice.Bonhomme@loria.fr 03 83 59 30 52 03 83 41 30 79 Langue et Dialogue Opening tag Closing tag Textual content Empty element Element

13 Elements and their attribute BONHOMME Patrice Patrice.Bonhomme@loria.fr 03 83 59 30 52 03 83 41 30 79 Langue et Dialogue Attribut name Attribut value

14 Other features XML declaration Commentaries CDATA section Processing instruction (application specific)

15 From one document to a class… How do I know the structure of my document? How may I share this structure with others?

16 Document Type Definition Expresses constraints on: Allowed element and attribute names Possible content of a given element (“content model”) To which elements a given attribute can be attached Similar to the traditional SGML approach, but: Simplified syntax The DTD is optional for a document

17 Example <!ELEMENT MEMBRE (LOGIN, NOM?, PRENOM?,MEL, TEL+, FAX*, EQUIPE)>......

18 Using a DTD … <!DOCTYPE MEMBRE [ … ]> …

19 Valid vs. Well-formed Well-formed documents Syntactic bracketing is preserved, without a DTD Empty element: = Valid documents With a DTD (à la SGML) Essential difference with SGML Extracting and re-using document fragments One usually produce valid document and distribute well- formed ones

20 XML namespaces Objectives: avoid conflicts between element and attribute names coming from various sources Composite documents XSLT instructions, Schema declarations Declaration: <DOC xmlns:mml="http://www.w3.org/Math/MathML/" xmlns="http://www.ua99.net/DOC/1.0"> blah blah : … re blah blah

21 Reserved namespaces The xml: prefix is reserved by the W3C for specific attributes:... …

22 XPath XML Path Language 1.0 REC 29012000 Wide purpose syntax for addressing sub-parts of an XML document Joint specification used by XML Pointers ( XPointer recommendation) and the XSLT transformation language Allows one to access, select and filter XML fragments (cf. Tree representation of an XML document)

23 Addressing nodes in XPath Absolute addressing Given: a URL id(M28), root() Relative addressing along axes Given: a node ancestor, child descendant psibling, fsibling

24 An XML document represents a hierarchical structure The only view you should ever, ever have of an XML document

25 XPath - Exemples... Langue et Dialogue... /DB/MEMBRE[@ID=‘M28’]/EQUIPE[1]/text() /DB/MEMBRE[2] /DB/MEMBRE/LOGIN[@ID=‘romary’]/../@ID / ou /DB/DB/MEMBRE

26 XPointer Cf. HTML, anchors are needed: http://www.titi.fr/index.html#toto In XML, pointers can directly address a document component: http://…/doc.xml#xptr(id(M28)) http://…/doc.xml#xptr(/DB/MEMBRE[28]/MEL) Advantage: no need to modify the target document (notion of primary source)

27 XLink In HTML: the elements which may carry links are known:,,... In XML: any element may carry a simple or complex link This is done by using pre-defined attributes: W3C

28 Visualizing XML documents Basically, an XML document does not provide any information about its presentation Visualizing a document may depend on the target audience, device etc. Stylesheets: Casdading Style Sheets (CSS 1 et 2) Extensible Style Language (XSL) >> XSLT

29 eXtensible Style Language Describes the way a document will be shown, printed or verbalized… XML XSL +

30 XSL: a two-fold proposal XSL = Transformations + Visualizing properties XSLT : Transformation of XML documents Allows one to transform an XML document into another XML document Use this to produce well-formed (!) HTML documents XSL FO: formatting XML data FO = Formatting Objects Is supposed to be application independent (Word/RTF, PS, PDF, MIF, …) Not a recommendation yet:-(

31 General structure of an XSL document … … …

32 Declarative approach Sequence of rules (templates) specifying: The pattern (XPath) of nodes to which the rule can be applied Actions to be undertaken: Elements to be generated in the target document Selection of the elements to be further explored in the source document Additional functionalities: testing, sorting, etc.

33 A simple rule pattern (XPath) The content of will be the one produced by the instruction HTML element to be produced

34 Creating a HTML core document My directory

35 Selecting the nodes to be explored <xsl:apply-templates select=“NOM”/> - <xsl:apply-templates select=“EQUIPE”/>

36 Conclusion XML - a practical format (protocol) Next steps: Sharing DTD, resources tools Generic mechanisms for handling families of documents (cf. Nancy’s presentation)

37 References www.oasis-open.org/cover/ www.w3.org/XML/ www.w3.org/TR www.w3.org/TR/REC-xml babel.alis.com/web_ml/xml/REC-xml.fr.html www.xml.com www.xmlinfo.com xml.apache.org


Download ppt "An Introduction to XML Patrice Bonhomme & Laurent Romary Lucid-ITLORIA eXtensible Markup Language version 1.0 Recommendation,"

Similar presentations


Ads by Google