Descriere - Tehnologii XML - XML in JAVA - XML pentru avansati
Lucrarea "Tehnologii XML XML in Java” este o lucrare in dou volume (unul pentru inceptori si unul pentru avansati), care se adreseaz programatorilor ce doresc s acumuleze rapid notiunile necesare dezvoltrii de aplicatii Java care au ca scop direct sau indirect manipularea documentelor XML. Acest volum pune accent pe aspecte avansate ale metalimbajului XML. Pe lang limbajul de intergorare XQuery, care tinde s inlocuiasc limbajul SQL, vom mai discuta despre tripleta XPath/XSLT/XSL-FO, intr-un cuvant despre XSL. Bineinteles c toate aceste tehnologii XML vor fi exemplificate in detaliu prin intermediul API-urilor Java corespunztoare, cum ar fi: TrAX, FOP, XQJ, DDXQ, XPath etc. De asemenea, tot in acest volum veti gsi un capitol special dedicat dezvoltrii de aplicatii Java pentru validarea documentelor XML, folosind scheme XML. Dup ce ati parcurs si inþeles cele dou volume puteti bifa cu incredere optiunea "avansat XML" in CV-ul dumneavoastr.
Cuprins :
INTRODUCERE
I.1. Nivelul lucrarii
I.2. Cui se adreseaza aceasta lucrare ?
I.3. Cum trebuie citita aceasta lucrare ?
I.4. Tehnologiile XML prezentate
I.5. API-urile Java prezentate
I.6. JAXP
I.7. JAXP este usor de extins
I.8. Implementari folosite
I.9. Structura aplicatiilor prezentate
I.10. O lectura placuta !
1. XSL
1.1. Generalitati
2. XPath
2.1. Terminologia XPath
2.1.1. Relatii intre noduri
2.2. Tipuri de date XPath
2.2.1. Conversia XPath/Java
2.3. Expresii XPath
2.4. Predicate XPath
2.5. Wildcard-uri
2.6. Selectii multiple
2.7. Axe XPath
2.7.1. Noduri de test
2.8. Operatori XPath
2.9. Ce este nou in XPath 2.0 ?
2.9.1. Contextul static si dinamic
2.9.2. Noi tipuri de date
2.9.2.1. Tipuri-schema predefinte
2.9.3. Secvente de articole
2.9.4. Expresii aplicabile tipurilor-secventa
2.9.5. Noduri de test
2.9.6. Spatii de nume XPath 2.0
2.9.7. Functii XPath 2.0
2.9.8. Gestionarea erorilor
2.10. Functii Xpath
3. XPath in JAVA
3.1. XPath in Saxon
4. PACHETUL javax.xml.datatype
5. XSLT
5.1. Cum functioneaza de fapt XSLT ?
5.2. Spatiul de nume pentru XSLT
5.3. Tipuri de date XSLT 1.0
5.3.1. Conversii XSLT1.0 / Java
5.4. Notiuni pregatitoare
5.5. Modelul general al unei foi de stiluri XSL
5.6. Indicarea unei foi de stiluri XSL
5.7. Referirea unei foi de stiluri XSL dintr-un document XML
5.8. Elemente si atribute XSLT 1.0
5.8.1. Elementul xsl:template
5.8.2. Elementul xsl:value-of
5.8.3. Elementul xsl:for-each
5.8.4. Elementul xsl:sort
5.8.5. Elementul xsl:if
5.8.6. Elementul xsl:choose
5.8.7. Elementul xsl:fallback
5.8.8. Elementul xsl:message
5.8.9. Elementul xsl:output
5.8.10. Elementul xsl:apply-templates
5.8.11. Elementul xsl:copy crearea copiilor superficiale (eng. shallow copy)
5.8.12. Elementul xsl:copy-of crearea copiilor in adancime (eng. deep copy)
5.8.13. Elementul xsl:variable
5.8.14. Elementul xsl:param
5.8.15. Elementul xsl:with-param
5.8.16. Elementele xsl:import si xsl:apply-imports
5.8.17. Elementul xsl:include
5.8.18. Elementul xsl:call-template
5.8.19. Elementul xsl:number
5.8.20. Elementul xsl:decimal-format
5.8.21. Elementul xsl:key
5.8.22. Elementele xsl:preserve-space si xsl:strip-space
5.8.23. Elementul xsl:namespace-alias
5.8.24. Elementul xsl:attribute
5.8.25. Elementul xsl:attribute-set
5.8.26. Elementul xsl:comment
5.8.27. Elementul xsl:element
5.8.28. Elementul xsl:processing-instruction
5.8.29. Elementul xsl:text
5.8.30. Atributul mode
5.8.31. Atributul priority
5.8.32. Atributele extension-element-prefixes si xsl:extension-element-prefixes
5.8.33. Atributele exclude-result-prefixes si xsl:exclude-result-prefixes
5.9. Functii XSL
5.10. Principalele facilitati adaugate de XSLT 2.0
5.10.1. Spatii de nume recunoscute de procesoarele XSLT 2.0
5.10.2. Tipuri de date XSLT
5.10.3. Functii XSLT
5.10.4. Atributul version
5.10.5. Atributul use-when
5.10.6. Elementul xsl:sequence
5.10.7. Importarea schemelor XML in XSLT
5.10.8. Scrierea functiilor XSLT
5.10.9. Elementul xsl:character-map
5.10.10. Utilizarea grupurilor de articole
6. TrAX
6.1. Interfetele Source si Result
6.1.1. StreamSource/StreamResult
6.1.2. DOMSource/DOMResult
6.1.3. SAXSource/SAXResult
6.1.4. StAXSource/StAXResult
6.2. Crearea Templates-urilor
6.3. Lucrul cu valorile atributelor elementului xsl:output
6.4. Lucrul cu parametrii foilor de stiluri
6.5. Tratarea erorilor folosind interfata ErrorListener
6.6. Utilizarea interfetei URIResolver
6.7. Caracteristici TrAX
6.8. Parametri de configurare specifici procesorului XSLT folosit
6.9. Utilizarea metodei TransformerFactory.getAssociatedStylesheet
6.10. Utilizarea clasei SAXTransformerFactory
6.11. Java in XSLT
6.11.1. Functiile extensie in Xalan
6.11.2. Metodele de instanta Java si functiile extensie Xalan
6.11.3. Conversii XSLT 1.0-Java/Java-XSLT 1.0 folosind Xalan
6.11.4. Functiile extensie in Saxon
6.11.5. Metodele de instanta Java si functile extensie Saxon
6.11.6. Tratarea exceptiilor folosind procesoarele XSLT
6.11.7. Accesarea campurilor unei clase
6.11.8. Scrierea unei foi de stiluri XSL pe post de client RMI
6.11.9. Scrierea elementelor extensie
6.11.10. Tips&Tricks
6.12. Rularea procesoarelor Xalan si Saxon de la linia de comanda
6.13. TrAX, Saxon-SA si schemele XML
6.14. Inapoi in timp cu Xalan 1.0.0 (sau pe scurt Xalan 1) si Saxon 5.5.1 (sau pe scurt Saxon 5)
7. XSL-FO
7.1. Spatiul de nume corespunzator componentelor limbajului XSL-FO
7.2. Aspecte generale privind structura si componentele documentelor XSL-FO
7.2.1. Structura unui document XSL-FO
Declaratia XML
Elementul fo:root
Elementul fo:layout-master-set
Pagini-master, pagini-tipar - elementul fo:simple-page-master
Secvente-de-pagini-tipar - elementul fo:page-sequence-master
Declaratii globale elementul fo:declarations
Secvente de pagini-rezultat - elementul fo:page-sequence
7.2.2. Afisarea rezultatului procesarii unui document XSL-FO
7.2.3. Stabilirea valorilor atributelor
7.2.4. Mostenirea valorilor in cazul atributelor
7.2.5. Suprafete de referinta
7.2.6. Atributul writing-mode
7.2.7. Atribute de indentare
7.2.8. Atributele space-before si space-after
7.3. Clasificarea elementelor XSL-FO
7.3.1. Elemente de structura documentelor XSL-FO
Definirea paginilor-tipar
Secvente de pagini-rezultat
Elementul fo:title
Elementul fo:flow
Elementul fo:static-content
Lucrul cu secvente-de-pagini-tipar
Elementul fo:single-page-master-reference
Elementul fo:repeatable-page-master-reference
Elementul fo:repeatable-page-master-alternatives
Elementul fo:declarations
Distribuirea continutului in pagini-rezultat
7.3.2. Elemente "block-level"
Elementele fo:block si fo:block-container
7.3.3. Elemente "inline"
Elementele fo:external-graphic si fo:instream-foreign-object.
- inserarea componentelor grafice
Elementul fo:inline
Elementul fo:inline-container
Elementul fo:leader
Atributul leader-length
Atributul leader-pattern
Atributul leader-pattern-width
Atributul rule-style
Atributul rule-thickness
Atributul leader-alignment
Numerotarea paginilor-rezultat
- elementele fo:page-number si fo:page-number-citation
Elementul fo:page-number
Elementul fo:page-number-citation
Elementul fo:bidi-override
- directiile de scriere si bidirectionalitatea
Elementul fo:character
Elementul fo:initial-property-set
7.3.4. Elemente pentru definirea tabelelor
Elementele fo:table si fo:table-and-caption
Elementul fo:table-column
Atributele number-rows-spanned si number-columns-spanned
Indentarea tabelelor
7.3.5. Elemente pentru definirea listelor
Indentarea listelor
7.3.6. Elemente pentru definirea efectelor dinamice
Crearea "legaturilor" - elementul fo:basic-link
Efecte dinamice folosind elementele fo:multi-*
7.3.7. Elemente "out-of-line"
Elementele fo:footnote si fo:footnote-body.
- inserarea notelor de subsol.
Elementul fo:float
7.3.8. Alte elemente XSL-FO
Elementele fo:marker si fo:retrieve-marker
Elementul fo:wrapper
7.4. Cele mai utilizate atribute XSL-FO
7.5. Functii XSL-FO
7.6. XSLT si XSL-FO
7.7. XSL-FO 1.1
8. FOP
8.1. Principalele componentele FOP
8.2. Instalare rapida
8.3. Eroarea java.lang.OutOfMemoryError
8.4. Utilizarea procesorului FOP de la linia de comanda
8.5. Utilizarea procesorului FOP direct din aplicatii Java
8.6. Pasarea evenimentelor SAX unui procesor FOP, folosind clasa javax.xml.parsers.SAXParser
8.7. Metodele Driver.render
8.8. Clasele org.apache.fop.tools.DocumentInputSource si org.apache.fop.tools.DocumentReader
8.9. Procesarea documentelor XSL-FO provenite din XML + XSLT
8.10. Utilizarea fisierelor de configurare externe
8.10.1. Setarea parametrilor de configurare direct din aplicatia Java
8.11. Cateva aspecte privind printarea in FOP
8.12. Crearea unui servlet bazat pe FOP
8.13. Transformarea unui document HTML intr-un document PDF
8.14. Internationalizarea PDF-urilor folosind FOP
8.14.1. Instalarea fontului TTF (True Type Font)
8.14.2. Generarea unui document XML corespunzator font-ului
8.14.3. Inregistrarea font-ului
8.14.4. Specificarea in documentul XSL-FO a fontului dorit
8.15. Trimiterea rezultatului procesarii FOP catre AWT
8.16. Restrictionarea operatiilor care se pot executa asupra rezultatului procesarii FOP
9. XML SCHEMA IN JAVA
9.1. Crearea unui obiect javax.xml.validation.Validator
9.2. Crearea unui obiect javax.xml.validation.ValidatorHandler
9.3. Utilizarea metodelor setSchema/getSchema ale clasei SAXParserFactory
9.4. Utilizarea metodelor setSchema/getSchema ale clasei DocumentBuilderFactory
9.5. Alte modalitati de validare
9.5.1. Validarea unui document XML pe baza unei scheme XML - cazul DOM
9.5.2. Validarea unui document XML pe baza unei scheme XML - cazul SAX
9.6. Validarea documentelor XML in cazul utilizarii mai multor scheme XML
9.7. Validarea documentelor XML folosind Saxon-SA de la linia de comanda
10. XQuery
10.1. Editarea si rularea unei interogari XQuery
10.2. Interogarea documentelor XML folosind limbajul XQuery
10.2.1. Expresii FLWOR (se pronunta "flower")
f este de la for
l este de la let
w este de la where
o este de la order by
r este de la return
10.2.2. Expresiile FLWOR si expresiile ordered/unordered
10.2.3. Declararea tipurilor in XQuery
10.2.4. Pozitia curenta
10.2.5. XQuery si HTML
10.2.6. Instructiunea if-then-else
10.2.7. Simularea join-urilor (inner join, left-join, right-join) SQL folosind XQuery
10.2.8. Cuantificatori
10.2.9. Operatorii "<<" si ">>"
10.2.10. Delimitarea comentariiior in interogarile XQuery
10.3. Cateva aspecte legate de structura si constructia interogarilor XQuery
10.3.1. Module XQuery
10.3.2. Prologul unei interogari XQuery
10.3.3. Corpul unei interogari XQuery
10.3.4. Declaratia de versiune
10.3.5. Declaratia unui modul XQuery
10.3.6. Importarea unui modul XQuery
10.3.7. Declararea functiilor-utilizator
10.3.8. Declararea spatiilor de nume
10.3.9. Declararea spatiilor de nume implicite
10.3.10. Declararea variabilelor
10.3.11. Declararea optiunilor
10.3.12. Declararea tipului de ordonare
10.3.13. Importarea unei scheme XML intr-o interogare XQuery
10.4. Exectuarea interogarilor XQuery direct din aplicatii Java folosind clasele Saxon 8.x
11. DDXQ SI XQJ
11.1. Aplicatii Java-DDXQ - generalitati
11.1.1. Configurarea conexiunilor
11.1.2. Interogari XQuery pentru baze de date
11.2. Dezvoltarea primei aplicatii Java-DDXQ
11.3. Interogarea unui arbore DOM
11.4. "Pregatirea" interogarilor XQuery
11.5. Extragerea rezultatelor interogarii in format DOM, SAX si StAX
11.5.1. DOM
11.5.2. SAX
11.5.3. StAX
11.6. Combinarea interogarilor XQuery pentru baze de date si pentru documente XML
11.7. OJXQI
Anexa A Documente XML
Anexa B Documente DTD
Anexa C Documente XSD
Anexa D Documente XSL
Anexa E Documente FO
Anul aparitiei: 2007
Nr. pagini: 533