Fall 2006 Florida Atlantic University Department of Computer Science & Engineering COP 4814 – Web Services Dr. Roy Levow Part 4 - XML
Web Services – Fall 2006 XML, XPath, XSLT XML support generally limited to IE and Firefox XML in IE Microsoft.XmlDom in IE4.0 MSXML ActiveX in IE 5.0+ But only on Windows; not on MAC Text uses createDocument() for cross-IE compatability XML DOM object created from string
Web Services – Fall 2006 XML DOM Navigation DOM object properties childNodes, firstChild, lastChild, parentNode, nextSibling, previousSibling, nodeName, nodeType, nodeValue text, attributes xml ownerDocument – root node Navigate tree with these functions
Web Services – Fall 2006 IE XML DOM Navigation Examples Examples: IE DOMIE DOM DOM creation Get Elements by Tag Name Create Node Insert Node Remove Child Replace Child
Web Services – Fall 2006 IE XML DOM Error Handling Creates and propagates exception object parseError parseError object provides details errorCode, reason filePos, line, linePos srcText url
Web Services – Fall 2006 XML DOM in Firefox Uses createDocument() method to generate DOM object Empty From string From url load() method loads from a url String version of XML subtree is produced by XMLSerializer object
Web Services – Fall 2006 XML DOM in Firefox - 2 Error handling Firefox produces an error document Not the error object of IE It can be parsed to get the same information
Web Services – Fall 2006 Firefox XML DOM - 3 Examples: Firefox DOMFirefox DOM DOM Dreation DOM Parser Get text Serialize Error handling
Web Services – Fall 2006 Cross-Browser XML Requires library to create standard calls for operations Text provides zXml library zXmlDom.createDocument() Examples: Cross-Browser DOMCross-Browser DOM Processing Book List
Web Services – Fall 2006 XML Namespaces XML uses namespace concept to resolve naming conflicts between documents from different sources Tag name has form ns:tagName Declared as xmlsn:ns-prefix=“nsURI” URI has same syntax as URL but need not be real address Should be unique Declarations in root tag of document
Web Services – Fall 2006 XPath XPath expressions Context node is partial path from which selection begins book/author – this parent-child sequence Selection pattern specifies which nodes to include Expressions have own syntax and can be quite complex
Web Services – Fall 2006 XPath in IE and Firefox IE uses two functions selectSingleNode() selectNodes() Examples: IE XPathIE XPath Firefox uses two objects XPathEvaluator XPathResult Examples: Firefox XPathFirefox XPath
Web Services – Fall 2006 Cross-Browser XPath Use zXml library Same functions as IE Examples: Cross-Browser XPathCross-Browser XPath
Web Services – Fall 2006 XSL Transformations Transformation is done with xsl:stylesheet with XML specific elements xsl:template to select XMLnodes to process xsl:variable to select attributes from nodes Examples: XSLTXSLT
Web Services – Fall 2006 XSLT in IE Browser becomes an issue when DOM is used in conjunction with XSLT Must create ActiveX XSLTemplate object Create processor object from template object transform() method does transformation Result is output property of processor Examples: XSLT in IEXSLT in IE
Web Services – Fall 2006 Cross-Browser XSLT Requires library Text provides this in zXml Syntax similar to Firefox Example: Best Picks RevisitedBest Picks Revisited
Web Services – Fall 2006 XSLT in Firefox First load XML and XSL into DOM objects Create XSLTProcessor Import XSL stylesheet Transform XmlDOM document or fragment Examples: XSL in FirefoxXSL in Firefox