XSLTプロセッサー TransforMiix 1.0a


目次

1 TransforMiixの概要 ▼
2 TransforMiixの操作方法 ▼
3 XSLTサンプルデータ ▼
4 TransforMiixの配布 ▼
5 TransforMiixの制約事項 ▼

1 TransforMiixの概要

 TransforMiixは,XSLT 1.0勧告に準拠したXSLTプロセッサーです。しかし,制約事項に示したように,まだ完全ではありません。

 TransforMiixは,ApacheのXSLTプロセッサー(Xalan)として開発されているXSL:Pに基づいています。それはMozillaブラウザーへの組み込みを目的としてKeith Visco氏とその他の多くの人たちによって開発されたものです。それを私(岸 和孝)がMacOSへ移植しました。

 TransforMiixは,フリーウェアとして,その配布は自由です。

 TransforMiixは,PowerPCかつMacOSでのみ動作可能です。

 Windows(Win32)版のXSLTプロセッサーについてはXTを参照してください。

 TransforMiixの主な機能は,次のとおりです。

 TransforMiixの実行を,次の環境で確認しました。

 不明な場合は,ご一報ください。


2 TransforMiixの操作方法

 TransforMiixのアイコンをダブルクリックすると,コマンド入力のダイアログが表示されます[下図を参照]。ダイアログのArgument:欄にXML文書,XSLスタイルシート,出力文書の各ファイル名を指定します。-iオプションはXML文書,-sオプションはXSLスタイルシート,-oオプションは出力文書を指します。なお,ダイアログのConsoleFileのラジオボタンは無効です。OKボタンを押すと,実行が開始されます。

 処理が完了すると,コンソール画面の表示内容を保存するかどうかのダイアログが表示されます。Saveボタン(保存する)またはDon't Saveボタン(保存しない)を選びます[下図を参照]。

注意事項:

実行させる機種あるいはデータの大きさによっては処理がかなり遅くかかります。そうした場合,ダイアログが表示されたままの(フリーズのような)状態が続きますが,いずれ終了のダイアログが表示されますので,慌てないでください。
日本語を含む入力データ(XML文書,XSLスタイルシート)は,UTF-8エンコーディングでなければなりません。あらかじめtoUでUTF-8エンコーディングに変換しておきます。
出力文書に日本語が含まれる場合は,その文字はUnicode文字参照になっています。fromUでShift-JISエンコーディングへ変換します。

3 XSLTサンプルデータ

 TransforMiixの検査は,次のようなXSLTサンプルデータを用いました。この出力文書は「XSLTの概要」です。

XML文書のサンプル

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="REPORT.XSL" ?>
<!DOCTYPE REPORT [
<!ENTITY  XSL   "<W COLOR='RED'>XSL</W>"  >
<!ENTITY  DSSSL "<W COLOR='GREEN'>DSSSL</W>"  >
<!ENTITY  XSLT  "<W COLOR='MAGENTA'>XSLT</W>"  >
<!ENTITY  XSLt  "<W COLOR='MAGENTA'>XSL変換</W>"  >
<!ENTITY  XSLP  "<W COLOR='ORANGE'>XSLプロセッサー</W>"  >
<!ENTITY  XSLF  "<W COLOR='ORANGE'>XSLフォーマッター</W>"  >
<!ENTITY  % REPORT  "REPORT.DTD"  >
%REPORT;
]>
<REPORT>
<PREFACE>
<TITLE>XMLによる組版タグ処理への応用</TITLE>
<SUBTITLE>XSLTを使う</SUBTITLE>
<DATE>2000年10月3日</DATE>
<AUTHOR>岸 和孝</AUTHOR>
<POSITION>日本印刷技術協会 客員研究員</POSITION>
</PREFACE>
<ABSTRACT>
<P>現在,わが国では経済の活性化を求めて電子商取引へ多くの企業が参入しつつあり,
その電子データ交換様式としてXMLの採用が進んでいる。
その中でも,とりわけXML文書を別の表現形式(フォーマット)へ変換(または変形)する
機能である&XSLT;への関心が高まっている。</P>
<P>各種の&XSLP;が開発されており,XMLベースのシステム構築の条件は整いつつある
しかし,&XSLT;は&XSL;の一部分に過ぎず,印刷への応用については時期尚早である,
と思われる。</P>
<P>私は,通信における文書交換を確立するために,SGML/XMLツールは,
いかなるプラットフォームでも動作するフリーウェアでなければならないと考えている。
とりわけ整備の遅れているMacOS環境で動作するツールを開発し普及する活動を行っている。
そうした観点から,ここでは,フリーウェアの&XSLP;について述べる。</P>
</ABSTRACT>
<BODY>
<CHAPTER>
<HEAD>XSLとXSLT</HEAD>
(以下,略)

文書型のサンプル

<!-- 報告書のための文書型 ver. 1.0, (C)2000, KISI, kisi@nifty.com -->
<!ELEMENT  REPORT    (PREFACE,ABSTRACT?,BODY,BIBLIOGRAPHY?)  >
<!ELEMENT  PREFACE   (TITLE,SUBTITLE?,DATE,AUTHOR,POSITION?)  >
<!ELEMENT  ABSTRACT  (P+)  >
<!ELEMENT  BODY      (CHAPTER+)  >
<!ELEMENT  CHAPTER   (HEAD,SECTION+)  >
<!ELEMENT  SECTION   (HEAD?,(P|LIST|TABLE|CODE|FIGURE|A)+)  >
<!ELEMENT  LIST      (ITEM+)  >
<!ELEMENT  TABLE     (TR+)  >
<!ATTLIST  TABLE  TITLE  CDATA  #REQUIRED  >
<!ELEMENT  TR        ((TH|TD)+)  >
<!ELEMENT  BIBLIOGRAPHY  (ITEM+|CATEGORY+)  >
<!ELEMENT  CATEGORY  (ITEM+)  >
<!ATTLIST  CATEGORY  NAME  CDATA  #REQUIRED  >
<!ELEMENT  TITLE     (#PCDATA)  >
<!ELEMENT  SUBTITLE  (#PCDATA)  >
<!ELEMENT  DATE      (#PCDATA)  >
<!ELEMENT  AUTHOR    (#PCDATA)  >
<!ELEMENT  POSITION  (#PCDATA)  >
<!ELEMENT  P         (#PCDATA|W|A|B|SUP|SUB|BR)  >
<!ELEMENT  (TH|TD)   (#PCDATA|W|A|B|SUP|SUB|BR)  >
<!ATTLIST  (TH|TD)  ALIGN  CDATA  #IMPLIED  >
<!ELEMENT  CODE      (#PCDATA)  >
<!ELEMENT  ITEM      (#PCDATA|W|A|B|SUP|SUB|BR)  >
<!ELEMENT  W         (#PCDATA)  >
<!ATTLIST  W  COLOR  CDATA  #IMPLIED  >
<!ELEMENT  A         (#PCDATA)  >
<!ELEMENT  (B|SUP|SUB)  (#PCDATA)  >
<!ELEMENT  FIGURE    EMPTY  >
<!ATTLIST  FIGURE  TITLE  CDATA  #REQUIRED
           IMAGE   CDATA  #REQUIRED  >
<!ELEMENT  BR        EMPTY  >

XSLスタイルシートのサンプル

<?xml version="1.0"?>
 <!-- 報告書のためのスタイルシート ver. 1.0, (C)2000, KISI, kisi@nifty.com -->
 <!-- xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"  -->
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html"/>
 <!-- ルートテンプレート -->
 <xsl:template match="/">
  <HTML>
   <HEAD>
    <TITLE><xsl:value-of select="REPORT/PREFACE/TITLE"/></TITLE>
    <!-- 段階スタイルシートの定義 -->
    <STYLE TYPE="text/css">
     P  { font-size:16pt }
     LI { font-size:16pt }
     TH { font-size:16pt }
     TD { font-size:16pt }
     DD { font-size:16pt;
          text-indent:-1em }
    </STYLE>
   </HEAD>
   <BODY>
    <!-- 表題・副題の生成 -->
    <P ALIGN="CENTER"><FONT COLOR="RED" SIZE="+4">
    <xsl:value-of select="REPORT/PREFACE/TITLE"/></FONT></P>
    <xsl:if test="REPORT/PREFACE/SUBTITLE">
     <P ALIGN="CENTER"><FONT COLOR="GREEN" SIZE="+3">
     <xsl:value-of select="REPORT/PREFACE/SUBTITLE"/>
     </FONT></P>
    </xsl:if>
    <BR/>
    <!-- 日付の生成 -->
    <P ALIGN="CENTER"><xsl:value-of select="REPORT/PREFACE/DATE"/></P>
(以下,略)

出力文書のサンプル

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
  <HEAD>
    <TITLE>XMLによる組版タグ処理への応用</TITLE>
    <STYLE TYPE="text/css">
    P { font-size:16pt } LI { font-size:16pt } TH { font-size:16pt } 
    TD { font-size:16pt } DD { font-size:16pt; text-indent:-1em } </STYLE>
  </HEAD>
  <BODY>
    <P ALIGN="CENTER"><FONT COLOR="RED" SIZE="+4">XMLによる組版タグ処理への応用</FONT></P>
    <P ALIGN="CENTER"><FONT COLOR="GREEN" SIZE="+3">XSLTを使う</FONT></P>
    <BR>
    <P ALIGN="CENTER">2000年10月3日</P>
    <P ALIGN="CENTER"><FONT SIZE="+2">岸 和孝</FONT></P>
    <P ALIGN="CENTER">日本印刷技術協会 客員研究員</P>
    <BR>
    <HR>
    <P ALIGN="CENTER"><FONT COLOR="GREEN" SIZE="+3">要 約</FONT></P>
    <P> <FONT SIZE="+1" COLOR="GREEN">現在,わが国では経済の活性化を求めて電子商取引へ多くの企業が参入しつつあり,
    その電子データ交換様式としてXMLの採用が進んでいる。
    その中でも,とりわけXML文書を別の表現形式(フォーマット)へ変換(または変形)する
    機能である<B><FONT COLOR="MAGENTA">XSLT</FONT></B>への関心が高まっている。</FONT></P>
    <P> <FONT SIZE="+1" COLOR="GREEN">各種の<B><FONT COLOR="ORANGE">XSLプロセッサー</FONT></B>が開発されており,XMLベースのシステム構築の条件は整いつつある。
    しかし,<B><FONT COLOR="MAGENTA">XSLT</FONT></B>は<B><FONT COLOR="RED">XSL</FONT></B>の一部分に過ぎず,印刷への応用については時期尚早である,と思われる。</FONT></P>
    <P> <FONT SIZE="+1" COLOR="GREEN">私は,通信における文書交換を確立するために,SGML/XMLツールは,
    いかなるプラットフォームでも動作するフリーウェアでなければならないと考えている。
    とりわけ整備の遅れているMacOS環境で動作するツールを開発し普及する活動を行っている。
    そうした観点から,ここでは,フリーウェアの<B><FONT COLOR="ORANGE">XSLプロセッサー</FONT></B>について述べる。</FONT></P>
    <BR>
    <HR>
    <P ALIGN="CENTER">
      <FONT COLOR="GREEN" SIZE="+3">目 次</FONT>
    </P>

(以下,略)

4 TransforMiixの配布

 TransforMiixを次のsit.hqx形式で配布します。

TransforMiix

 XSLTサンプルデータを次のsit.hqx形式で配布します。

XSLTサンプルデータ

5 TransforMiixの制約事項

 現在のTransforMiixでは,次の機能が実現されていません。

(2000年10月記)


(c)2000 JAGAT