XML 2005 9
XML... 3... 3 XML... 5 DOM XML... 5 DOM 3.0 Load and Save... 5 DOM 3.0 Validation... 8 SAX XML... 11 SAX... 11 XSL... 12... 13... 13... 14... 14 XML... 15 XML... 15 JAXB CLASS GENERATOR... 16 XML... 17... 18 XML 2
XML 5 XML XML XML XML Oracle XDK XML Developer s Kit 10g XML XML XML Extensible Markup Language: B2B Business-to-Business B2C Business-to-Customer EAI Enterprise Application Integration: XML XML Web XML WML PDF SVG Scalar Vector Graphics XML 3
XML XML XML XML XML PCDATA CDATA XML XML XSLT XPath Namespaces XQuery XML DOM SAX XML XML XML XML XML Oracle XDK 10g XML XML XML DOM 3.0 SAX XSL XSLT XPATH 2.0 XML XML JAXB Java Architecture for XML Binding SAX XML XML XML XML XML XML Pipeline Processor XML XML 4
XML XML XML XML XML XML Oracle XDK 10g DOM Document Object Model SAX Simple API for XML XML DOM XML DOM XML API 1 XML DOM 1: DOM XML DOM XML API Java C C++ JavaScript PL/SQL XDK DOM Java C C++ W3C DOM Level 1 DOM Level 2 DOM XML XML XML Oracle XDK 10g DOM 3.0 Load and Save DOM 3.0 Validation DOM DOM 3.0 Load and Save W3C DOM 1 DOM 2 XML DOM DOM XML DOM XML XML DOM XML 5
DOM 3.0 Load and Save DOM DOM XML Oracle XDK 10g XML 2 createlsinput createlsparser LSOutput LSSerializer DOM XDK DOM 3.0 Load and Save DOMParserFilter XML DOM DOM XML Oracle XDK 10g DOM 3.0 Load and Save XML DOM DOM import org.w3c.dom.ls.lsparser; import org.w3c.dom.ls.lsinput; import org.w3c.dom.ls.lsloadevent; import oracle.xml.parser.v2.xmllsparser; import org.w3c.dom.events.event; import org.w3c.dom.events.eventlistener; import oracle.xml.parser.v2.xmldocument; import oracle.xml.parser.v2.xmldomimplementation; public class DOMAsynLoading implements EventListener { static DOMAsynLoading test; boolean parseflag=true; public static void main (String[] args) { test = new DOMAsynLoading(); test.testparse("src/xml/book.xml"); } public void testparse(string input) { short mode; DOMImplementationLS impl = new XMLDOMImplementation(); mode = DOMImplementationLS.MODE_ASYNCHRONOUS; LSParser parser = impl.createlsparser(mode, null); try { ((XMLLSParser)parser).addEventListener("ls-load", (EventListener)test, false); } catch(exception e) { e.printstacktrace(); } LSInput inp = impl.createlsinput(); try { URL url = createurl(input); inp.setsystemid(url.tostring()); System.out.println("Asynchronous DOM parsing..."); parseflag = false; Document doc = parser.parse(inp); // Other Application Code // Neen DOM Document while(!parseflag) { try { System.out.println("Waiting for the DOM Parsing..."); Thread.sleep(10); } catch(exception e) { XML 6
} } } catch(exception e) { e.printstacktrace(); } } public void handleevent(event evt) { Document doc = ((LSLoadEvent)evt).getNewDocument(); try { ((XMLDocument)doc).print(System.out); parseflag = true; } catch(exception e) { e.printstacktrace(); } } DOM DOMBuilder.addEventListener() DOMbuilder EventListener DOMImplementationLS.MODE_ASYNCHRONOUS DOM XML DOM XML DOM HandleEvent() DOM 2: DOM 3.0 Load and Save XML 7
2 DOM 3.0 Load and Save DOM XML DOM DOM 3.0 Load and Save DOM XML DOM 3.0 Validation XML 3 DOM 3.0 Validation XML DOM XML DOM 3: DOM 3.0 Validation 4 XML book.xsd XML 8
4: book.xml XML DOM 3.0 Validation API XML DOM XML <?xml version = '1.0'?> <book instock="yes"> <title>compilers: Principles, Techniques, and Tools</title> <author>alfred V.Aho, Ravi Sethi, Jeffrey D. Ullman</author> <ISBN>0-201-10088-6</ISBN> <edition>second</edition> <publisher>addison Wesley</publisher> </book> DOM 3.0 Validation Element_Name DOM_Functions XML DOM doc DOM XML 9
?doc getdefinedelements publisher author edition editor book title ISBN <book/>?book getallowedchildren publisher ISBN editor title edition author?book getrequiredattributes instock XML XML?edition getenumeratedvalues First Second Third Fourth Fifth DOM DOM <author/> <book/>?book canremovechild author VAL_FALSE DOM XML?doc validatedocument VAL_TRUE?edition nodevalidity VAL_TRUE DOM 3.0 Validation XML API DOM XML XML 10
SAX XML SAX XML startdocument enddocument 5 5: SAX XML DOM XML SAX XML XML XML XML SAX XML SAX SAX 6 SQL XSU SAX 6: XML 11
Oracle XDK 10g SAX Java oracle.xml.parser.v2.xmlsaxserializer XML CDATA DTD system-id public-id SAX XSU SAX OracleXMLQuery.getXMLSAX(sample); XML XSU DOM XSL 7 XSL XSLT XML XSLT 7: XSL Oracle XDK 10g Java XSL XSLT 2.0 XPATH 2.0 W3C XSL XML 12
XSL XSLT 2.0 XSLT XSLT 2.0 <xsl:for-each-group> <xsl:sort> <xsl:for-each-group> 4 1 group-by group-adjacent group-starting-with group-ending-with current-group() XSLT 1.0 XSL XSL XPath XSL XSL Oracle XDK ora:node-set() XSL XSLT 2.0 <xsl:variable> <xsl:param> <xsl:withparam> XPath <xsl:apply-templates> <xsl:for-each> Key() id() XSLT XML XML 13
XSLT 1.0 1 Oracle XDK <ora:output> XSL Oracle XDK 10g XSLT 2.0 <xsl:result-document> XSLT CD <CD/> HTML Hypertext Markup Language SVG Scalable Vector Graphics CSS Cascading Style Sheets XSLT 1.0 XSLT 2.0 <xsl:character-map> <xsl:charactermap> <xsl:output-character> Unicode #xe000 #xf8ff #xe001 <% JSP #xe002 %> disable-output-escaping XSLT 2.0 disable-output-escaping XSL XML 14
XML Oracle XDK 10g Java XML W3C XML Schema 1.0 XMLParser.SCHEMA_LAX_VALIDATION XMLParser.SCHEMA_STRICT_VALIDATION XML LAX STRICT XML XML XML XML Oracle XDK 10g Java XML XML SAX XML XML XSDValidator.getCurrentMode() LAX STRICT XSDValidator.getElementDeclaration() XSDValidator.getAttributeDeclarations() API XML XSDValidator.getAnnotation() XML 8: XML 9 XML XML XML XML 15
9: XML XML XML XDK XML Oracle Streams Advanced Queuing 10g Oracle XML DB 10g XML JAXB CLASS GENERATOR Oracle XDK 10g JAXB Java Architecture of XML Binding 1.0 XML Java XML XML Java JAXB Class Generator XML Java XML 16
10: DOM XML JAXB XML XML 10 XML JAXB XML XML XML XML XML XSL XML XML Oracle XDK 10g W3C XML Pipeline Definition Language Version 1.0 XML Oracle XML XML XML XML Oracle XML XML DOM XML SAX XML XML XML XML XSL XML XML 11 XML XML 17
11: XML Oracle XML XML XML XML 5 XML XML XML XML XML Oracle XDK 10g XML XML Oracle XDK 10g XML 18
XML 2005 9 : Jinyu Wang : Mark Scardina Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. : : +1.650.506.7000 : +1.650.506.7200 www.oracle.com Copyright 2005, Oracle. All rights reserved. Oracle JD Edwards PeopleSoft Oracle Corporation