17 apr 2002 xml programming: trax andy clark. java api for xml processing standard java api for...
TRANSCRIPT
![Page 1: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/1.jpg)
17 Apr 2002
XML Programming: TrAX
Andy Clark
![Page 2: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/2.jpg)
Java API for XML Processing
Standard Java API for loading, creating, accessing, and transforming XML documents– JAXP: parsing
Supports DOM and SAX
– TrAX: transformation Generic transformation framework
Java standard extension (i.e. javax package)– Defined by Sun JCP
![Page 3: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/3.jpg)
Transformation API for XML
Transformation framework– Allows generic transformation from one form to
another
Examples:– Serializers– XSLT processors– etc…
![Page 4: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/4.jpg)
javax.xml.transform (1 of 2)
Transformation– Transformer, TransformerFactory– Templates
Input and Output– Source– Result
![Page 5: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/5.jpg)
javax.xml.transform (2 of 2)
Transformer control– ErrorListener– SourceLocator, URIResolver– OutputKeys
Other– TransformerConfigurationException– TransformerException– TransformerFactoryConfigurationError
![Page 6: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/6.jpg)
Input and Output
javax.xml.transform.stream– StreamSource– StreamResult
javax.xml.transform.dom– DOMSource, DOMResult– DOMLocator
javax.xml.transform.sax– SAXSource, SAXResult– SAXTransformerFactory– TransformerHandler, TemplatesHandler
![Page 7: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/7.jpg)
Stream Input and Output
StreamSource– Specifies document stream to parse
StreamResult– Specifies stream for serialization of document– OutputKeys controls serialization settings
![Page 8: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/8.jpg)
DOM/SAX Input and Output
Document Object Model– DOMSource
Specifies document or node to process
– DOMResult Specifies document factory for new nodes
Simple API for XML– SAXSource
Specifies XMLReader to parse document
– SAXResult Specifies handler for generated events
![Page 9: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/9.jpg)
Transform Document (1 of 3)
Identity transform– Get instance of transformer factory
TransformerFactory factory = TransformerFactory.newInstance();
– Create transformer Transformer transformer = factory.newTransformer();
– Create input and output Source source = new StreamSource(“document.xml”); Result result = new StreamResult(System.out);
– Transform document transformer.transform(source, result);
![Page 10: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/10.jpg)
Transform Document (2 of 3)
Transform with stylesheet (1 of 2)– Get instance of transformer factory
TransformerFactory factory = TransformerFactory.newInstance();
– Create templates Source templatesSource = new StreamSource(“style.xsl”); Templates templates = factory.newTemplates(templatesSour
ce);
– Create transformer Transformer transformer = templates.newTransformer();
![Page 11: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/11.jpg)
Transform Document (3 of 3)
Transform with Stylesheet (2 of 2)– Create input and output
Source source = new StreamSource(“document.xml”); Result result = new StreamResult(System.out);
– Transform document transformer.transform(source, result);
![Page 12: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/12.jpg)
Error Handling and Entity Resolution
Transformer– Can set a TrAX ErrorListener– Can set a TrAX URIResolver
URIResolver– Called when reference to multiple documents
Passed base and literal system identifiers of resource Example XPath: “document(‘book.xml’)/book/title”
– Returns a TrAX Source Note: This is super cool because it means that you can
cache (or generate) documents in memory.
![Page 13: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/13.jpg)
Useful Links
JAXP– http://java.sun.com/xml/
Apache Xalan XSLT Processor– http://xml.apache.org/xalan-j/
![Page 14: 17 Apr 2002 XML Programming: TrAX Andy Clark. Java API for XML Processing Standard Java API for loading, creating, accessing, and transforming XML documents](https://reader036.vdocument.in/reader036/viewer/2022082422/56649da65503460f94a924b2/html5/thumbnails/14.jpg)
XML Programming: TrAX
Andy Clark