応用Java(Java/XML) 第10回 2005年6月16日 植田龍男 後半の内容の予定 XPath (6/9) XSLT (6/16) 名前空間(Namespace) (6/23) XML文書の妥当性の検証(6/30,7/7) DTD,XML Schema J2SE 5.0 と XML API javax.xml javax.xml.parsers javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stream javax.xml.xpath javax.xml.namespace javax.xml.validation javax.xml.datatype javax.xml.transform javax.xml.transform javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stream XSLTとは? XSL Transform XML文書を別の形式の文書へ変換 XSL(eXtensible Stylesheet Language) 変換のルールもまたXML文書で記述 (XSLファイル) 変換前の文書、変換後の文書、変換のた めの文書 変換前の文書の例 <document> <title>Java and XML</title> <text> Let's begin, now! </text> <image s="java.png" w="128" h="64"/> </document> XSLTによる変換の例(1) <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/ XSL/Transform"> <xsl:template match="/"> : </xsl:template> </xsl:stylesheet> XSLTによる変換の例(2) <xsl:template match="text"> <p> <xsl:apply-templates /> </p> </xsl:template> XSLTによる変換の例(3) <xsl:template match="title“ mode="inhead"> <title> <xsl:apply-templates /> </title> </xsl:template> XSLTによる変換の例(4) <xsl:template match="image"> <img> <xsl:attribute name="src"> <xsl:value-of select="@s"/> </xsl:attribute> </img> </xsl:template> 参照:XPath の検索パターン abc //abc abc[1] @xyz XSLT のAPI(1) javax.xml.transform パッケージ インタフェース Source 抽象化された入力元 変換前の文書 変換のXSLファイル インタフェース Result 抽象化された出力先 変換後の文書 SourceやResultの実体は? ローカルファイル Web上の資源 DOMツリー SAXで処理中の文書 *それぞれに応じて実体を提供 3つのサブパッケージの役割り 処理そのものに違いは生じない XSLT のAPI(2) Source inputSource = new StreamSource( "sample6.xml" ); Source transSource = new StreamSource( "trans.xsl" ); Result outputResult = new StreamResult( System.out ); XSLT のAPI(3) Transofromerクラス 変換を実行する抽象クラス TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer( transSource ); XSLT のAPI(4) 変換の実行 transformer.transform( inputSource, outputResult ); *これでResultに結果が格納 変換後の文書の例 <html> <head> <title>Java and XML</title> </head> <body> <h1>Java and XML</h1> <hr> <p> Let's begin, now! :
© Copyright 2024 ExpyDoc