Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

JAX-P

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2018. szeptember 1.

Pontosságellenőrzött

AJava API forXML Processing vagyJAXP egyike aJava XML programozásiAPI-jának, amely biztosítja azXML dokumentumok validációjához és elemzéséhez szükséges képességeket.

Három alapvető elemzési interfész létezik:

Ezen elemzési interfészek mellett létezik egy másik API is, amely azXSLT interfészt biztosít az adat és strukturális transzformációkhoz az XML dokumentumokon.

A JAXP-tJava Community Process keretein belül fejlesztették ki a JSR 5 (JAXP 1.0) és JSR 63 (JAXP 1.1 és 1.2) alatt.

Java SE verzióCsomagolt JAXP verzió
1.41.1
1.51.3
1.61.4
1.61.4
1.71.4.5
1.7.401.5
1.81.6

2008. február 12-én a JAXP 1.3-as verziója elérte azéletciklusa végét.

2010. szeptember 3-án kiadták a JAXP 1.4.4 verzióját.

DOM interfész

[szerkesztés]

A DOM interfészt talán a legkönnyebb megérteni: elemzi az egész XML dokumentumot és elkészíti a dokumentum komplett reprezentációját a memóriában, felhasználva azokat az osztályokat, melyek modellezik azt a koncepciót, amely megtalálható aDocument Object Model(DOM) Level 2 Core Specification-ban.

A DOM elemzőtDocumentBuilder (dokumentum építő)-nek hívják, mivel felépíti a memóriában aDocument (dokumentum) reprezentációját. Ezt a dokumentum építőt (javax.xml.parsers.DocumentBuilder) ajavax.xml.parsers.DocumentBuilderFactory készíti el.ADocumentBuilder létrehoz egyorg.w3c.dom.Document példányt, ami egy fa struktúra és csomópontokkal reprezentálja az XML dokumentumot. Minden fa csomópont a struktúrában megvalósítja aorg.w3c.dom.Node interfészt. Sok különböző típusú fa csomópont létezik, attól függően, hogy az XML dokumentum rész éppen milyen adatot reprezentál.

A legfontosabb csomópont típusok a következők:

  • elem csomópont: ennek lehetnek attribútumai
  • szöveges csomópont: reprezentálja azt a szöveget, ami dokumentum elem kezdő és vég tag-jai között található.

Azorg.w3c.dom java csomagJavadoc dokumentációjában megtalálható a teljes lista a csomópont típusokról.

SAX interfész

[szerkesztés]

A SAX parser-tSAXParser reprezentálja, melyet ajavax.xml.parsers.SAXParserFactory hoz létre. A DOM parser-től eltérően, a SAX parser nem készíti el a memóriában az XML dokumentum reprezentációját, így gyorsabb és kevesebb memóriát is használ. E helyett, a SAX parser informálja az XML dokumentum struktúra klienseit callback hívásokkal, amelyeket,org.xml.sax.helpers.DefaultHandler példányán egy metódus hívásával biztosít a parser számára. A dokumentum ilyen módon való elérésétXML Streaming-nek hívjuk.

ADefaultHandler osztály megvalósítja aContentHandler interfészt, és aErrorHandler interfészt,DTDHandler interfészt, és azEntityResolver interfészt.A legtöbb kliens számára azContentHandler interfészben definiált metódusok megvalósítása az érdekes, melyek akkor hívódnak meg, amikor a SAX értelmező észreveszi a megfelelő elemet az XML dokumentumban. Az interfész legfontosabb metódusai a következők:

  • startDocument() ésendDocument() metódusok meghívódnak az XML dokumentum feldolgozásának kezdeténél és végénél.
  • startElement() ésendElement() metódusok meghívódnak az XML dokumentum elem feldolgozásának kezdeténél és végénél.
  • characters() metódus that meghívódik a szöveges adat tartalmakra, melyek az XML dokumentum elem kezdeti és vég tag-jai helyezkednek el.

A kliensek aDefaultHandler egy leszármazott osztályát nyújtják, melyek felüldefiniálják a ezeket metódusokat és feldolgozzák az adatokat. Ezek tartalmazhatnak pl. adat tárolást adatbázisban vagy adat kiírást stream-ekre.

Az értelmező működése során, az értelmezőnek szüksége lehet külső dokumentumok elérésére. Lehetséges lokális gyorsítótárban tárolni a gyakran használt dokumentumokatXML Catalog segítségével.

Ezt 2000 májusában a Java 1.3-mal vezették be.[1]

StAX interfész

[szerkesztés]

AStAX-t a DOM és a SAX interfész közti középútnak tervezték. Azaz a programozott belépési pont a kurzor, ami a dokumentumon belüli pontot reprezentálja. Az alkalmazás mozgatja kurzort előre, szükség szerint kiszedi az információt a parserből. Ez jelentősen különbözik egy eseményvezérelt API-tól - amilyen pl. a SAX -, amely adatot küld az alkalmazásnak és elvárja az alkalmazástól, hogy állapotát megőrizze az események közötti időben és amennyire szükséges nyomon kövesse a helyzetét a dokumentumon belül.

XSLT interfész

[szerkesztés]

AzXMLStylesheetLanguage forTransformations (azaz XML transzformációs stíluslap nyelv), vagyXSLT segítségével az XML dokumentumok konvertálhatók más adatformátumokra. A JAXP interfészeket biztosít ajavax.xml.transform csomagban, mely biztosítja az alkalmazásoknak, hogy XSLT transzformációkat hívhassanak. Ezeket az interfészeket eredetileg TrAX (Transformation API for XML) névre keresztelték, és egy informális közreműködés eredményeként jött létre számos Java XSLT feldolgozó fejlesztője között.

Az interfészek főbb funkciói:

  • "gyár" osztály, amely lehetővé teszi az alkalmazás számára, hogy dinamikusan választhasson rendelkezésre álló XSLT feldolgozók közül
  • a "gyár" osztály egyes metódusaival készíteni lehet egy Template (sablon) objektumot, amely reprezentálja a stíluslapot lefordított formában. Ez egy szálbiztos objektum, amelyet ismételten lehet használni sorokban v. párhuzamosan is ugyanazt a stíluslapot alkalmazva több forrás dokumentumra (vagy ugyanarra a forrás dokumentumra különböző paraméterekkel).
  • a sablon objektum metódusával készíteni lehet egy Transformer-t (transzformálót), amely reprezentálja a stíluslapot végrehajtható formában. Ez nem osztható meg szálak között, habár sorosan újrahasználható. A Transformer biztosít metódusokat a stíluslap paramétereinek beállításához, szerializációs opciókat (pl. a kimenetre vonatkozókat) továbbá metódusokat az aktuális futtatáshoz.

ASource (forrás) és aResult (eredmény) a két absztrakt interfész, amelyet a kiment és a bemenet transzformációk reprezentálására definiáltak. Ez nem hagyományos használata a Java interfészeknek - habár, nincs elvárás, hogy egy feldolgozó elfogadjon bármely osztályt, amely megvalósítja az interfészt - minden feldolgozó megválaszthatja mely típusú Source- és Result-ot készít elő a feldolgozáshoz. A gyakorlatban minden JAXP feldolgozó 3 fajta sztenderd forrást (DOMSource,SAXSource,StreamSource), 3 fajta sztenderd eredményt (DOMResult,SAXResult,StreamResult) támogat. Természetesen lehetséges más saját megvalósítás is.

Külső hivatkozások

[szerkesztés]

Jegyzetek

[szerkesztés]
  1. Compare theJava 1.2.1 API index with the1.3 index. The Java Specification Request (JSR) 5,XML Parsing Specification, was finalised on21 March, 2000.

Fordítás

[szerkesztés]

Ez a szócikk részben vagy egészben aJava API for XML Processing című angol Wikipédia-szócikkezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=JAX-P&oldid=20355092
Kategória:
Rejtett kategóriák:

[8]ページ先頭

©2009-2025 Movatter.jp