170 likes | 317 Views
Java API for XML Processing (JAXP). توسط: محمّدمهدي حامد استاد راهنما: دكتر مسعود رهگذر. درباره XML. مخفف Extensible Markup Language استاندارد W3C انواع سند XML Well-Formed هر element بايد يك tag آغازي و يك tag پاياني داشته باشد.
E N D
Java API for XML Processing(JAXP) توسط: محمّدمهدي حامد استاد راهنما: دكتر مسعود رهگذر
درباره XML • مخفف Extensible Markup Language • استاندارد W3C • انواع سند XML • Well-Formed • هر element بايد يك tag آغازي و يك tag پاياني داشته باشد. • يك element ريشه بايد تمامي elementهاي ديگر را در بر بگيرد. • Valid • تعريف شده توسط DTD • تعريف شده توسط XML Schema
رابطه XML و جاوا • Java برنامه كاربردي قابل حمل توليد مي كند. • XML داده قابل حمل براي اين برنامه كاربردي فراهم ميكند.
رابطه XML و جاوا • Java API for XML-Based Web Services (JAX-WS) • Java API for XML Processing (JAXP) • Java Architecture for XML Binding (JAXB) • Java API for XML Messaging (JAXM) • Java API for XML Registries (JAXR) • Java API for XML-Based RPC (JAX-RPC) • Java 2 Platform, Enterprise Edition (J2EE)
JAXP • Java API for XML Processing • شامل • SAX • DOM • XPath • XSLT • …
JAXP • پكيج javax.xml • javax.xml.parsers • javax.xml.validation • javax.xml.transform • javax.xml.xpath • …
پارسرهاي XML • javax.xml.parsers Package • SAX • مدل Stream • DOM • مدل Data
SAX • Simple API for XML • يك واسط استاندارد • داراري پياده سازي هاي مختلف • Xerces2 (Apache distribution) • Ælfred parser • Apache Crimson parser (in JDK 1.4) • Oracle XML Parser • Piccolo XML Parser • …
SAX • مدل Stream • Lightweight و سريع • يك API بر اساس رويداد(Event-based) • ContentHandler • DTDHandler • EntityResolver • ErrorHandler • …
مثال SAX • رويدادهايي كه به ترتيب اتفاق مي افتند: • startDocument • startElement • startElement • startElement • characters • endElement • …
SAX • مزايا • Lightweight • سريع • معايب • بدون دسترسي تصادفي به سند • عدم توانايي تغيير سند • براي كاربردهاي پيچيده نامناسب
DOM • مخفف Document Object Model • يك واسط استاندارد • مدل Data • نمايش درختي سند • دو نوع گره مختلف موجود در درخت • Element • Text
پيمايش درخت DOM • كلاس Document • نمايش درخت زمان اجرا • داراي متدهايي براي پيمايش درخت • getFirstChild() • getNextSibling() • getParentNode() • … • داراي متدهايي براي تغيير سند
DOM • معمولا بوسيله SAX درخت DOM ساخته مي شود • SAX سريعتر از DOM است • آوردن سند در داخل Memory • نمايش درختي • پيمايش آسان • پيمايش در هر جهت • آسان براي برنامه نويسي
[1] Brett McLaughlin, All about JAXP, November 2000 • [2] Jason Hunter and Brett McLaughlin, JDOM, April 26, 2000 • [3] Jeff Hunter, XML – Application Programming Interfaces, 2002 • [4] Qusay H. Mahmoud, JSP with XML in mind, July 2001