XSL Transformations (XSLT) -------------------------- http://www.w3.org/TR/xslt[XSL Transformations (XSLT)] http://nwalsh.com/docs/tutorials/xsl/[XSL Tutorial] //http://nwalsh.com/docs/tutorials/webtek2000/index.html[XSL Presentation] == Gandalf Reloaded htmlize::moria2.xsl[] wykonujemy transformację na dokumencie link:moria-example.xml[] .... $ xsltproc moria2.xsl moria-example.xml .... i otrzymujemy [xml] xxxx sys::[xsltproc moria2.xsl moria-example.xml] xxxx === Przygotowanie danych htmlize::orders.xsl[] link:pub/orders.xml[] === Wyświetlanie danych htmlize::htmlize-orders.xsl[] 1. Nazwane wzorce [xml] xxxx xxxx == XPath in Java * http://xml.apache.org/xalan-j/[Xalan-Java] - http://xml.apache.org/xalan-j/xpath_apis.html#namespacecontext[Using NamespaceContext] - http://www.cafeconleche.org/books/xmljava/[Processing XML with Java] -- książka dostępna on-line - http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/java-binding.html[DOM3 XPath Java Language Binding] === lxml -- pythonic binding for the libxml2 and libxslt libraries htmlize::list_book_authors.py[] .... $ python list_book_authors.py orders.xml Bruce Eckel Don Brown Adam Mickiewicz Jan Brzechwa Michal Jagiello Milan Kundera Tolkien Orson Scott Card Julio Cotazar James Jones Jan Nowak Jan Jakis Dan Brown Brian W.Kernighan David Zindell Stephen King .... === XPathAPI (Xalan Specific) * http://xml.apache.org/xalan-j/usagepatterns.html#xpath[Working with XPath expressions] -- poleca używać JAXP 1.3 zamiast XPathAPI * link:pub/ListBookAuthors.java[] htmlize::pub/ListBookAuthors.java[] .... $ java -classpath /usr/share/java/xalan2.jar:. ListBookAuthors orders.xml Bruce Eckel Don Brown Adam Mickiewicz Jan Brzechwa Michal Jagiello Milan Kundera Tolkien Orson Scott Card Julio Cotazar James Jones Jan Nowak Jan Jakis Dan Brown Brian W.Kernighan David Zindell Stephen King .... === JAXP * http://xml.apache.org/xalan-j/xpath_apis.html#sampleresolver[Using the sample XPathFunctionResolver] -- w 2.7.0, ale nie w 2.6.0 * link:pub/ListBookAuthorsJAXP.java[] XXX for now it is GNU JAXP version htmlize::pub/ListBookAuthorsJAXP.java[] === TrAX -- The Transformations API for XML * http://www.cafeconleche.org/books/xmljava/chapters/apas04.html[Appendix A. XML APIs Quick Reference] * link:pub/HtmlizeOrders.java[] * http://xml.apache.org/xalan-j/extensions.html[Xalan-Java Extensions] -- wywoływanie metod z klas Javy w XSLT * http://xml.apache.org/xalan-j/extensions_xsltc.html[Extensions for EXSLTC] htmlize::pub/HtmlizeOrders.java[]