<<

XML for Developers G22.3033-002

Session 2 - Main Theme 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: 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 ]> 5

SGML Markup

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></p><p>6</p><p>3 W3C and HTML</p><p>Q Tim Berners-Lee (CERN, 1989)</p><p>Q W3 <a href="/tags/Hypertext/" rel="tag">Hypertext</a> System</p><p>Q W3 uses HTML</p><p>Q Founder of W3C in 1994</p><p>Q HTML</p><p>Q Based on SGML, no DTD support)</p><p>Q W3C</p><p>Q HTML (http://www.w3.org/TR/html4)</p><p>Q CSS + weakly extensible HTML</p><p>Q XML</p><p>Q XHTML (http://www.w3.org/TR/xhtml1) 7</p><p>XML</p><p>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)> ]></p><p>Q XML is different from SGML</p><p>Q Names are case sensitive</p><p>Q Non empty elements must have a start and end tag</p><p>Q DTD or Schema not required 8</p><p>4 Current State of XML Standards http://www.w3.org/XML, www.w3.org/XML/Activity.html, www.w3schools.com/xml</p><p>Q eXtensible Markup Language (XML) 1.0 (2nd Edition) - 10/06/00)</p><p>Q Namespaces in XML - 01/14/99</p><p>Q URIs: http://www.w3.org/Addressing/</p><p>Q XML Schema Part 0: Primer - 05/02/01</p><p>Q XML Schema Part 1: Structures - 05/02/01</p><p>Q XML Schema Part 2: Datatypes - 05/02/01</p><p>Q XML Path Language (XPath) Version 1.0 - 11/16/99</p><p>Q Associating Stylesheets with XML Documents - 06/29/99</p><p>Q Use “<a href="/tags/XML/" rel="tag">xml</a>:stylesheet” element in the XML document prolog</p><p>Q XSL Transformations (XSLT) Version 1.0 - 11/16/99</p><p>Q Extensible Stylesheet Language (XSL) Version 1.0 (candidate rec.) 9</p><p>Current State of XML Standards (continued)</p><p>Q Canonical XML Version 1.0 - 03/19/01</p><p>Q <a href="/tags/Document_Object_Model/" rel="tag">Document Object Model</a> (DOM) Level 2 - 11/13/00</p><p>Q Core, Views, Events, Style, Traversal & Range</p><p>Q Web Content Accessibility Guidelines 1.0 - 05/05/99</p><p>Q Resource Description Framework (RDF) - 02/22/99</p><p>Q <a href="/tags/Microsoft/" rel="tag">Microsoft</a> Validator:</p><p>Q http://msdn.microsoft.com/downloads/samples/Internet/xml/xml_validator/sample.asp</p><p>Q W3C Schema Validator</p><p>Q http://www.w3.org/2001/03/webdata/xsv</p><p>10</p><p>5 Advanced Applications of XML</p><p>Q Ancestors: SGML with Annex K, HyTime, DSSS</p><p>Q Alternatives: HTML 4.01, CSS</p><p>Q HTML-Based</p><p>Q XHTML 1.0, XForms 1.0</p><p>Q POP-Based</p><p>Q e.g., XHTML, CML, MathML, SMIL, SVG, <a href="/tags/P3P/" rel="tag">P3P</a>, RDF, WML</p><p>Q MOM-Based</p><p>Q e.g., ebXML, RosettaNet, cXML, fpML, FIXML</p><p>Q Web Services-Based</p><p>Q Protocols (SOAP, WSDL, UDDI) 11 Q Services & Facilities (XAML)</p><p>Logical Structure of XML Documents: Namespaces 1.0</p><p>• 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/</p><p>12</p><p>6 eXtensible Style Language (XSL)</p><p>Q DSSSL & DSSSL-O</p><p>Q CSS 1, 2, 3 …</p><p>Q http://www.w3.org/Style/CSS/</p><p>Q XSLT</p><p>Q XPath</p><p>Q XSL-FO</p><p>Q XSLT Processors</p><p>Q <a href="/tags/Stylus_Studio/" rel="tag">Stylus Studio</a> XSL development environment</p><p>Q IBM XSL Editor</p><p>Q Saxon and Xalan XSLT processors</p><p>Q XSL-FO Processors</p><p>Q Antenna House 13 Q fop</p><p>XSL Processing</p><p>Q http://www.w3.org/Style/XSL/</p><p>Q Processing Alternatives:</p><p>Q HTML + CSS -> Presentation</p><p>Q XML + CSS -> Presentation</p><p>Q XML + XSLT -> XSL-FO -> Presentation</p><p>Q XML + XSLT -> XML/HTML + CSS -> Presentation</p><p>Q Client or Server Processing ?</p><p>Q See Session 2 handout on IE5’s implementation</p><p>Q Examples</p><p>Q See Session 2 Sub-Topic 1 Presentation: Beginning XML</p><p>Q See Session 2 handouts on XSL <a href="/tags/Tree_(data_structure)/" rel="tag">Tree</a> <a href="/tags/Transformation_language/" rel="tag">Transformation Language</a></p><p>Q See Session 2 handout on Cascading Stylesheets 14 Q See Session 2 handout on Styling Documents Using XSL</p><p>7 Character Encodings & Text Processing</p><p>Q ASCII, ISO 8859, and <a href="/tags/Unicode/" rel="tag">Unicode</a></p><p>Q http://www.bbsinc.com/iso8859.html</p><p>Q http://www.oasis-open.org/cover/unicode-xml.html</p><p>Q www.unicode.org</p><p>Q http://www.oasis-open.org/cover/unicode-xml.html</p><p>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 "􏿽".</p><p>Q White space processing ?! 15</p><p>XML & DBMSs Comparison</p><p>Q Both separate data from rendition/presentation info</p><p>Q Similar languages</p><p>Q DBMSs: Forms and Reporting, DDL, DQL, DCL</p><p>Q XML: XSL, XQL, and processing instructions</p><p>Q No DML in XML</p><p>Q XML is paired with a scripting or <a href="/tags/Programming_language/" rel="tag">programming language</a></p><p>Q Validation capabilities</p><p>Q DBMSs: datatyping, relationship constraints</p><p>Q XML: data type validity and semantic consistency checks</p><p>Q XML can handle data too complex for some databases</p><p>Q XML interchangeable form of data vs. multidatabases16</p><p>8 Course Approach ...</p><p>Q IBM XML Certification Test 140</p><p>Q http://www-4.ibm.com/software/ad/certify/obj140.html</p><p>Q Proficiency Objectives – Information Modeling – XML Processing – XML Rendering –XML Query – Architecture Design – Implementation Testing</p><p>17</p><p>XML Application Development</p><p>Q Applications of XML: Markup Languages</p><p>Q XML Applications Today</p><p>Q POP (Java becoming optional)</p><p>Q Web Content Programming</p><p>Q Web Application Development</p><p>Q Web-Enabled Enterprise Application Development</p><p>Q MOM</p><p>Q EDI v.s. IEC/B2B</p><p>Q EAI Applications</p><p>Q e.g., ERP, SCM, CRM integration</p><p>Q XML Applications Tomorrow</p><p>18 Q MOM & POP become Web Services</p><p>9 XML POP Application Development</p><p>Q Java Independent Component Models</p><p>Q JSP Custom Tags</p><p>Q XML/XSLT</p><p>Q XML/Servlet Frameworks (e.g., Cocoon)</p><p>Q XML/Servlet Filters</p><p>Q XML/JavaScript</p><p>Q XML Data Bindings</p><p>Q Java Intensive Component Models</p><p>Q JSP/Java</p><p>Q JSP/JavaBeans</p><p>Q Applets/JWS</p><p>Q Servlets 19</p><p>XML MOM Application Development</p><p>Q Java Independent Component Models</p><p>Q Scripting Languages</p><p>Q Non J2EE Platforms (e.g., CORBA 3 & DNA) and PLs</p><p>Q Web Services Platforms</p><p>Q Sun Open Net Environment (ONE)</p><p>Q HP NetAction</p><p>Q Oracle Dynamic Services</p><p>Q IBM WebSphere Platform</p><p>Q Microsoft .NET</p><p>Q Java Intensive Component Models</p><p>Q EJBs</p><p>Q JSP/JavaBeans</p><p>Q Applets/JWS</p><p>Q Servlets 20</p><p>10 XML References</p><p>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</p><p>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</p><p>Class Project</p><p>Q Project Description</p><p>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.</p><p>Q A sample community platform for online discussions: www.onchat.com</p><p>22</p><p>11 Readings</p><p>Q Readings</p><p>Q XML Development with Java 2: Chapters 1, 4, and 5</p><p>Q Professional Java XML: Chapters 1, 7, 8, App. A & G</p><p>Q XML and Java: Chapter 1, App. <a href="/tags/C_(programming_language)/" rel="tag">C</a> & E</p><p>Q Handouts posted on the course web site</p><p>Q Review Xpath 1.0, XSLT 1.0, XSL 1.0 W3C Recs</p><p>Q Project Frameworks Setup (ongoing)</p><p>Q Apache’s Web Server, TomCat, and Cocoon</p><p>Q Apache’s Xerces, Xalan</p><p>23</p><p>Assignment</p><p>Q Assignment #1b:</p><p>Q Review the class project description, and the virtual university sample eBusiness application specification</p><p>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”</p><p>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</p><p>24</p><p>12 Assignment (continued)</p><p>Q Assignment #1b (continued):</p><p>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. Your proposed approach should include the use of XML Markup Language technologies, XML information modeling, XML information processing, XML information rendering, XML information retrieval, XML-Based frameworks, and XML application implementation and testing methodologies and tools 25</p><p>Next Session: XML Information Modeling (Part I)</p><p>Q XML Physical Entities</p><p>Q Logical Structure of XML Documents</p><p>Q XML Document Navigation</p><p>Q Custom Markup Languages</p><p>26</p><p>13</p> </div> </div> </div> </div> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" integrity="sha512-aVKKRRi/Q/YV+4mjoKBsE4x3H+BkegoM/em46NNlCqNTmUYADjBbeNefNxYV7giUp0VxICtqdrbqU7iVaeZNXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script src="/js/details118.16.js"></script> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> <noscript><div class="statcounter"><a title="Web Analytics" href="http://statcounter.com/" target="_blank"><img class="statcounter" src="//c.statcounter.com/11552861/0/b956b151/1/" alt="Web Analytics"></a></div></noscript> </body> </html>