Session 2: Markup Language Technologies
Total Page:16
File Type:pdf, Size:1020Kb
XML for Java Developers G22.3033-002 Session 2 - Main Theme Markup Language Technologies (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Q Summary of Previous Session Q Errata: <pages> tag, XML 2.0, XML Applications !? Q History and Current State of XML Standards Q Advanced Applications of XML Q XML’s eXtensible Style Language (XSL) Q Character Encodings and Text Processing Q XML and DBMSs Q Course Approach ... Q XML Application Development Q XML References and Class Project Q Readings Q Assignment #1a (reminder?) 2 Q Assignment #1b (1 week) 1 Summary of Previous Session Q XML Generics Q Course Logistics, Structure and Objectives Q History of Meta-Markup Languages Q XML Applications: Markup Languages Q XML Information Modeling Applications Q XML-Based Architectures Q XML and Java Q XML Development Tools Q Summary Q Class Project Q Readings Q Assignment #1a 3 Old History Q Formatting Markups Q Rendition notations (e.g., LaTeX, TeX, RTF, MIF) Q Compatible with standard text editors Q Processed into presentations (printout, or electronic display) Q WYSIWYG Q What You See Is “ALL” You Get Q Meta-Markup Language Q GML (Goldfarb, Mosher, Lorie - IBM 1969) Q Generalized (i.e., indep. of systems, devices, applications) Q Markups (i.e., information related to struct. & content Q Language (i.e., methodology with formal syntax) Q Validation capabilities (1974) 4 2 SGML Q SGML (1978 - 10/15/86) Q Used by DoD for Continuous Acquisition and Lifecycle Support (CALS) Q http://www.oasis-open.org/cover/general.html Q SGML DTD or Schema <!DOCTYPE tutorials [ <!ELEMENT tutorials – (tutorial+)> <!ELEMENT tutorial – (title, intro, chap+)> <!ELEMENT title – O (#PCDATA)> <!ELEMENT intro – O (para+)> <!ELEMENT chap – O (title, para+)> <!ELEMENT para – O (#PCDATA)> ]> 5 SGML Markup <tutorials> <tutorial> <title>XML TUTORIAL <intro> <para>Required first paragraph of intro. <para>Optional second paragraph of intro. </intro> <chap> <title>CHAPTER 1 <para>Required first paragraph of first chapter. <chap> <title>CHAPTER 2 <para>Required first paragraph of optional 2nd chapter. </tutorial </tutorials> 6 3 W3C and HTML Q Tim Berners-Lee (CERN, 1989) Q W3 Hypertext System Q W3 uses HTML Q Founder of W3C in 1994 Q HTML Q Based on SGML, no DTD support) Q W3C Q HTML (http://www.w3.org/TR/html4) Q CSS + weakly extensible HTML Q XML Q XHTML (http://www.w3.org/TR/xhtml1) 7 XML Q DTD <!DOCTYPE TUTORIALS [ <!ELEMENT tutorials (tutorial+)> <!ELEMENT tutorial (title, intro, chap+)> <!ELEMENT title (#PCDATA)> <!ELEMENT intro (para+)> <!ELEMENT chap (title, para+)> <!ELEMENT para (#PCDATA)> ]> Q XML is different from SGML Q Names are case sensitive Q Non empty elements must have a start and end tag Q DTD or Schema not required 8 4 Current State of XML Standards http://www.w3.org/XML, www.w3.org/XML/Activity.html, www.w3schools.com/xml Q eXtensible Markup Language (XML) 1.0 (2nd Edition) - 10/06/00) Q Namespaces in XML - 01/14/99 Q URIs: http://www.w3.org/Addressing/ Q XML Schema Part 0: Primer - 05/02/01 Q XML Schema Part 1: Structures - 05/02/01 Q XML Schema Part 2: Datatypes - 05/02/01 Q XML Path Language (XPath) Version 1.0 - 11/16/99 Q Associating Stylesheets with XML Documents - 06/29/99 Q Use “xml:stylesheet” element in the XML document prolog Q XSL Transformations (XSLT) Version 1.0 - 11/16/99 Q Extensible Stylesheet Language (XSL) Version 1.0 (candidate rec.) 9 Current State of XML Standards (continued) Q Canonical XML Version 1.0 - 03/19/01 Q Document Object Model (DOM) Level 2 - 11/13/00 Q Core, Views, Events, Style, Traversal & Range Q Web Content Accessibility Guidelines 1.0 - 05/05/99 Q Resource Description Framework (RDF) - 02/22/99 Q Microsoft Validator: Q http://msdn.microsoft.com/downloads/samples/Internet/xml/xml_validator/sample.asp Q W3C Schema Validator Q http://www.w3.org/2001/03/webdata/xsv 10 5 Advanced Applications of XML Q Ancestors: SGML with Annex K, HyTime, DSSS Q Alternatives: HTML 4.01, CSS Q HTML-Based Q XHTML 1.0, XForms 1.0 Q POP-Based Q e.g., XHTML, CML, MathML, SMIL, SVG, P3P, RDF, WML Q MOM-Based Q e.g., ebXML, RosettaNet, cXML, fpML, FIXML Q Web Services-Based Q Protocols (SOAP, WSDL, UDDI) 11 Q Services & Facilities (XAML) Logical Structure of XML Documents: Namespaces 1.0 • Namespaces: provides a simple method to qualify element and attribute names used in XML documents by associating them with namespaces identified by URIs – Example: <price> is borrowed from the “edi” schema <?xml version=“1.0”?> <order:x xmlns:order=‘http://ecommerce.org/order’> xmlns:edi=‘http://ecommerce.org/edi’> <edi:price>14.95</edi:price> </order:x> • See http://www.w3.org/TR/1999/REC-xml-names-19990114/ 12 6 eXtensible Style Language (XSL) Q DSSSL & DSSSL-O Q CSS 1, 2, 3 … Q http://www.w3.org/Style/CSS/ Q XSLT Q XPath Q XSL-FO Q XSLT Processors Q Stylus Studio XSL development environment Q IBM XSL Editor Q Saxon and Xalan XSLT processors Q XSL-FO Processors Q Antenna House 13 Q fop XSL Processing Q http://www.w3.org/Style/XSL/ Q Processing Alternatives: Q HTML + CSS -> Presentation Q XML + CSS -> Presentation Q XML + XSLT -> XSL-FO -> Presentation Q XML + XSLT -> XML/HTML + CSS -> Presentation Q Client or Server Processing ? Q See Session 2 handout on IE5’s implementation Q Examples Q See Session 2 Sub-Topic 1 Presentation: Beginning XML Q See Session 2 handouts on XSL Tree Transformation Language Q See Session 2 handout on Cascading Stylesheets 14 Q See Session 2 handout on Styling Documents Using XSL 7 Character Encodings & Text Processing Q ASCII, ISO 8859, and Unicode Q http://www.bbsinc.com/iso8859.html Q http://www.oasis-open.org/cover/unicode-xml.html Q www.unicode.org Q http://www.oasis-open.org/cover/unicode-xml.html Q http://home.att.net/~jameskass • Using Unicode characters in XML/HTML – U+ (4 digit min) hex number (e.g., "U+1234”) – Specify as: "ሴ" or "􏿽". Q White space processing ?! 15 XML & DBMSs Comparison Q Both separate data from rendition/presentation info Q Similar languages Q DBMSs: Forms and Reporting, DDL, DQL, DCL Q XML: XSL, XQL, and processing instructions Q No DML in XML Q XML is paired with a scripting or programming language Q Validation capabilities Q DBMSs: datatyping, relationship constraints Q XML: data type validity and semantic consistency checks Q XML can handle data too complex for some databases Q XML interchangeable form of data vs. multidatabases16 8 Course Approach ... Q IBM XML Certification Test 140 Q http://www-4.ibm.com/software/ad/certify/obj140.html Q Proficiency Objectives – Information Modeling – XML Processing – XML Rendering –XML Query – Architecture Design – Implementation Testing 17 XML Application Development Q Applications of XML: Markup Languages Q XML Applications Today Q POP (Java becoming optional) Q Web Content Programming Q Web Application Development Q Web-Enabled Enterprise Application Development Q MOM Q EDI v.s. IEC/B2B Q EAI Applications Q e.g., ERP, SCM, CRM integration Q XML Applications Tomorrow 18 Q MOM & POP become Web Services 9 XML POP Application Development Q Java Independent Component Models Q JSP Custom Tags Q XML/XSLT Q XML/Servlet Frameworks (e.g., Cocoon) Q XML/Servlet Filters Q XML/JavaScript Q XML Data Bindings Q Java Intensive Component Models Q JSP/Java Q JSP/JavaBeans Q Applets/JWS Q Servlets 19 XML MOM Application Development Q Java Independent Component Models Q Scripting Languages Q Non J2EE Platforms (e.g., CORBA 3 & DNA) and PLs Q Web Services Platforms Q Sun Open Net Environment (ONE) Q HP NetAction Q Oracle Dynamic Services Q IBM WebSphere Platform Q Microsoft .NET Q Java Intensive Component Models Q EJBs Q JSP/JavaBeans Q Applets/JWS Q Servlets 20 10 XML References Q Information – www.learnthenet.com/english/index.html – http://www.xml.com – http://www.xml.org – http://www.xmlu.com – http://www.ucc.ie/xml – http://www.oasis-open.org/cover – http://msdn/microsoft.com/xml – http://xml.about.com Q Software – http://xml.apache.org – http://www.alphaworks.ibm.com/tech/xml – http://www.microsoft.com/xml – http://technet.oracle.com/tech/xml – http://java.sun.com/xml – http://www.xmlsoftware.com – http://www.xmlcenter.com/tools/ 21 Class Project Q Project Description Q The project will focus on “multi-channel online community platforms”, and will consist of providing custom XML-based services to support the various aspects of a chosen eBusiness application implemented on such platforms (e.g., “community-based shopping”). Examples of useful services to support these platforms may include synchronized multimedia presentation viewing, and “offline” chat capabilities. A sample specification of an online community platform for a virtual university eBusiness application will be provided for illustration purpose. Q A sample community platform for online discussions: www.onchat.com 22 11 Readings Q Readings Q XML Development with Java 2: Chapters 1, 4, and 5 Q Professional Java XML: Chapters 1, 7, 8, App. A & G Q XML and Java: Chapter 1, App. C & E Q Handouts posted on the course web site Q Review Xpath 1.0, XSLT 1.0, XSL 1.0 W3C Recs Q Project Frameworks Setup (ongoing) Q Apache’s Web Server, TomCat, and Cocoon Q Apache’s Xerces, Xalan 23 Assignment Q Assignment #1b: Q Review the class project description, and the virtual university sample eBusiness application specification Q Come up with your own variant of a an eBusiness application that would benefit from being implemented on top of a “multi- channel online community platform” Q Specify a set of services or facilities that would need to be provided on top of an online community platform to support your specific eBusiness application 24 12 Assignment (continued) Q Assignment #1b (continued): Q Provide a written specification of your overall framework (i.e., platform and services), and propose a staged development approach that would demonstrate the use of XML to support the modern approach at building comprehensive business applications suggested in this course.