<< build〜コード生成までの流れ >> 2006/06/21 MT ■build 処理 (1) コード生成に必要な XSL ファイルを、build 配下に method 毎に用意する。 [ EXE ] cp src/xslt/raw/*.xsl build/xslt/$dir cp src/xslt/mN/*.xsl build/xslt/$dir cp datatype/src/*.xsl build/xslt/mN ■ソースコードの生成 (1) シェルを実行する。 [ IN ] umsfilename.ums [ EXE ] $TABLETOOLS_HOME/bin/txt2lang [ OUT ] outdirpath/sourcefilename.lang シェルの中では、以下が実行される。 [ EXE ] codeGenerator.jar [ PRM ] baseDirPath tempDirPath umsFilePath outDirPath method option ■CodeGenerator (0) 下準備を行う。 - XSLファイルのURI解決を行う。 -> "file://localhost" を "/build/xslt/m"+method+"/" に置き換える。 - 作業用一時ディレクトリを作成する。 -> "yyyyMMddHHmmssSSS" (1) UMS ファイルに、ファイル名・行番号を埋め込む。 [ IN ] umsfilename.ums [ EXE ] XmlEditor addFileInfo() [ OUT ] tempDirPath/file1.xml (2) 入力 UMS に対応した XSL を生成する。 [ IN ] tempDirPath/file1.xml [ EXE ] VarTypeDefXsl.xsl / txt_lang1.xsl [ OUT ] tempDirPath/fileOutputTable.xsl tempDirPath/finalTransform.xsl (3) UMS を Language syntax へ変換する。 [ IN ] tempDirPath/file1.xml / tempDirPath/file2.xml [ EXE ] tempDirPath/finalTransform.xsl [ OUT ] tempDirPath/file3.xml (4) を含んだファイルの mixed content へ変換する。 [ IN ] tempDirPath/file3.xml [ EXE ] txt_lang2.xsl [ OUT ] tempDirPath/file4.xml (5) を解決したファイルの mixed content へ変換する。 [ IN ] tempDirPath/file4.xml [ EXE ] secondTransform.xsl [ OUT ] tempDirPath/file5.xml (6) によって出力ファイルを振り分け、[.lang] ファイルを生成する。 [ IN ] tempDirPath/file5.xml [ EXE ] tempDirPath/fileOutputTable.xsl [ OUT ] outdirpath/sourcefilename.lang 以上