Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Zen レポート・クラスのパラメータ

クラス・パラメータは、Zen レポート・クラスで使用可能な ObjectScript の規約です。概要については、"Caché オブジェクトの使用法" の “Caché クラス” の章の “クラス・パラメータ” を参照してください。

Zen レポート・クラスには、以下のセクションで説明するクラス・パラメータが用意されています。

  • 一般的に使用するクラス・パラメータ” では、Zen レポートの処理命令について説明します。これらのパラメータには、APPLICATIONDEFAULTMODE、および REPORTXMLNAMESPACE パラメータが含まれます。これらは、スタジオで新しく Zen レポート・クラスを作成する際に、Zen レポート・ウィザードによって自動的に指定されます。

  • XSLT スタイルシートのクラス・パラメータ” では、その他の特殊な XSLT 処理命令について説明します。この一連のパラメータにより、ブラウザが Internet Explorer の場合で、Zen レポート・クラスの CSP クラス・パラメータ PRIVATE を 1 (True) に設定することによって、Zen レポート・クラスをプライベートとしてマークしている場合に発生する問題に対処できます。このような問題がない場合は、これらの特殊なクラス・パラメータを使用する必要はありません。

一般的に使用するクラス・パラメータ

このセクションでは、Zen レポートに基本的な処理命令を提供する Zen レポート・クラスのパラメータの一覧を示します。

Note:

Zen レポート・クラスは、Zen ページ・クラスとは異なります。そのため、"Zen アプリケーションの開発" のドキュメントで説明している “Zen ページ・クラスのパラメータ” は、いずれも Zen レポート・クラスには適用されません。ただし、Zen レポート・クラスは、Caché Server Page (CSP) クラスです。そのため、このセクションで説明する Zen レポート・クラスのパラメータに加えて、Zen レポート・クラスでは %CSP.PageOpens in a new tab に関するオンライン・クラス・ドキュメントで説明しているすべての CSP クラス・パラメータがサポートされます。

APPLICATION

Zen レポートを Zen アプリケーションに関連付けます。Zen レポートのアプリケーションでは、組み込みクラス・パラメータの既定値が指定されます。Zen レポート自体で指定された値は、アプリケーションの値よりも優先されます。アプリケーションを指定しない場合、Zen レポートでは %ZEN.Report.defaultApplicationOpens in a new tab を使用します。

Zen レポートで新規のクラス・パラメータを定義する場合、アプリケーションの値を継承する自動ロジックはありません。パラメータはレポートとアプリケーションの両方で定義する必要があります。その際、$$$GETPARAMETER マクロを使用して、アプリケーションの値を取得できます。これを以下の例で示します。

/// User-defined parameter. Defined on Report and on Application.
Parameter COPYFROMAPP = "FromRpt";
Property CopyFromApp As %String(ZENURL = "CopyFromApp");
/// This callback is invoked after this report is instantiated
/// and before it is run.
Method %OnBeforeReport() As %Status
  {
    Set:..CopyFromApp="" ..CopyFromApp=$$$GETPARAMETER("COPYFROMAPP")
    Quit $$$OK
  } 

アプリケーションとレポートはパラメータに対して同じ名前を使用する必要があります。$$$GETPARAMETER マクロを使用して、パラメータの値を違う名前で組み合わせることはできません。ユーザ指定アプリケーションは、%ZEN.Report.defaultApplicationOpens in a new tab を拡張する必要があります。

AGGREGATESIGNORENLS

このパラメータを True に設定すると、集約の実行時に、Zen レポートは集約に対して各国語の設定 (NLS) を無視します。False に設定した場合、実行時モードが DISPLAY (2) のときには、Zen レポートの集計で透過的に NLS が連動します。既定値は True です。

AGGREGATETAG

このパラメータを設定すると、生成された Excel スプレッドシートで集約のサポートが有効になります。有効な XML 属性名であれば任意の値を設定できます。この値は、生成される XML の項目をレポートの <aggregate> から取得したものとしてタグ付けするための属性名になります。DEFAULTMODE=”excel” および DEFAULTMODE=”xlsx” と共に使用します。

CONTENTTYPE

レポート用に生成された XSLT の xml-stylesheet 命令に type 属性を指定します。以下に例を示します。

<?xml-stylesheet type="text/xsl"?>

既定の CONTENTTYPE は text/xml です。

DATASOURCE

Zen レポートで使用するデータを格納する XML ドキュメントを指定します。“Zen レポートのデータの収集” の章の“DATASOURCE” セクションを参照してください。

DEFAULTMODE

レポートの既定の出力モードを指定します。URI で $MODE を設定すると、ユーザはこのパラメータをオーバーライドできます。

DEFAULTMODE が ps に設定されている場合、クラス・パラメータ PS または URI パラメータ $PS を使用して、PostScript プリンタの場所を指定することも必要です。

レポート・クラスに対して現在設定されている DEFAULTMODE をオーバーライドするには、ブラウザから Zen レポートを起動するときに、URI で $MODE パラメータを指定します。$MODE に関する基本情報は、“Web ブラウザでの Zen レポートの起動” のセクションの冒頭を参照してください。詳細は、“Zen レポートのトラブルシューティング” の章の “中間ファイルを表示するための出力モードの変更” を参照してください。

ENCODING

レポート用に生成された XSLT の xsl:output 命令に encoding 属性を指定します。以下に例を示します。

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>

既定の ENCODING は "UTF-8" です。UTF-8 文字セット以外の文字 (Latin-1 セットなど) を表示する場合、以下のように ENCODING に代わりの値を指定する必要があります。

Parameter ENCODING="ISO-8859-1";
EXCELMODE

Excel スプレッドシートのデータを <attribute> タグまたは <element> タグから取得するかどうかを指定します。既定では、データは <element> タグから取得されます。EXCELMODE = "attribute" は、柔軟性がなく、Excel メタデータを保持できないため、これを使用することは推奨できません。DEFAULTMODE=”excel” および DEFAULTMODE=”xlsx” と共に使用します。

EXCELMULTISHEET

Excel スプレッドシートを生成する Zen レポートが複数のワークシートを含むスプレッドシートを生成するかどうかを指定します。EXCELMULTISHEET = 1 の場合、レポートは、<report> の直接の子である <group> 要素それぞれに対してワークシートを生成します。

EXCELSTYLESHEET

Zen レポートで使用する XHTML 出力を制御する to-excel スタイルシートを指定します。Zen レポート・クラスにある EXCELSTYLESHEET 文字列および XData ReportDisplay ブロックがいずれも有効で、空ではない場合は、XData ブロックよりも EXCELSTYLESHEET パラメータが優先されます。

文字列は以下のいずれかです。

  • 有効な XSLT スタイルシートの URI。適切な XSLT を返す任意の URI を使用できます。相対 URI は、現在の URI を基準にして処理されます。

    URI 文字列は、同じネームスペースにある別の Zen レポート・クラスで作成した to-excel スタイルシートを参照できます。そのクラスからの to-excel 出力を使用する必要があることを示すには、以下のように $MODE=toexcel クエリ・パラメータを使用します。

    Parameter EXCELSTYLESHEET="MyApp.Report.cls?$MODE=toexcel";
    

    toexcel は VMSで のみサポートされています。

    クエリ・パラメータの一般的な情報は、“Zen レポートの実行” の章の “Zen レポートの URI クエリ・パラメータ” を参照してください。

  • 有効な XSLT スタイルシートを含むファイルの名前。このファイルは、Zen レポートの Web アプリケーション定義の [CSPファイル物理パス] で指定したディレクトリに存在している必要があります。例えば、Zen レポート・クラスの URI が以下の場合、

    http://localhost:57772/csp/myNamespace/mine.MyReport.cls
    

    EXCELSTYLESHEET パラメータの構文は以下のようになり、

    Parameter EXCELSTYLESHEET="data.xsl";
    

    また、data.xsl ファイルは、[CSPファイル物理パス] として指定したディレクトリ内に存在している必要があります。このディレクトリの既定の値は /csp/myNamespace です。

  • 空の文字列。この場合、クラスの XData ReportDisplay ブロックの仕様を使用して to-EXCEL スタイルシートが生成されます。

WARNING:

EXCELSTYLESHEET パラメータが出現する Zen レポート・クラスを参照する URI 文字列を使用しないでください。これを使用すると、無限の反復が発生して <UNDEFINED> エラーが生じ、プロセスが多数発生します。

XSLFOSTYLESHEET パラメータは、PDF 出力を生成するレポートで同じ機能を実行し、HTMLSTYLESHEET パラメータは、HTML 出力を生成するレポートで同じ機能を実行します。

HTMLSTYLESHEET

Zen レポートで使用する XHTML 出力を制御する to-HTML スタイルシート。Zen レポート・クラスにある HTMLSTYLESHEET 文字列および XData ReportDisplay ブロックがいずれも有効で、空ではない場合は、XData ブロックよりも HTMLSTYLESHEET パラメータが優先されます。

文字列は以下のいずれかです。

  • 有効な XSLT スタイルシートの URI。適切な XSLT を返す任意の URI を使用できます。相対 URI は、現在の URI を基準にして処理されます。

    URI 文字列は、同じネームスペースにある別の Zen レポート・クラスで作成した to-HTML スタイルシートを参照できます。そのクラスからの to-HTML 出力を使用する必要があることを示すには、以下のように $MODE=tohtml クエリ・パラメータを使用します。

    Parameter HTMLSTYLESHEET="MyApp.Report.cls?$MODE=tohtml";
    

    クエリ・パラメータの一般的な情報は、“Zen レポートの実行” の章の “Zen レポートの URI クエリ・パラメータ” を参照してください。

  • 有効な XSLT スタイルシートを含むファイルの名前。このファイルは、Zen レポートの Web アプリケーション定義の [CSPファイル物理パス] で指定したディレクトリに存在している必要があります。例えば、Zen レポート・クラスの URI が以下の場合、

    http://localhost:57772/csp/myNamespace/mine.MyReport.cls
    

    HTMLSTYLESHEET パラメータの構文は以下のようになり、

    Parameter HTMLSTYLESHEET="data.xsl";
    

    また、data.xsl ファイルは、[CSPファイル物理パス] として指定したディレクトリ内に存在している必要があります。このディレクトリの既定の値は /csp/myNamespace です。

  • 空の文字列。この場合、クラスの XData ReportDisplay ブロックの仕様を使用して to-HTML スタイルシートが生成されます。

WARNING:

HTMLSTYLESHEET パラメータが出現する Zen レポート・クラスを参照する URI 文字列を使用しないでください。これを使用すると、無限の反復が発生して <UNDEFINED> エラーが生じ、プロセスが多数発生します。

XSLFOSTYLESHEET パラメータは、PDF 出力を生成するレポートで同じ機能を実行し、EXCELSTYLESHEET パラメータは、Excel スプレッドシート出力を生成するレポートで同じ機能を実行します。

INDENT

レポート用に生成された XSLT の xsl:output 命令に indent 属性を指定します。以下に例を示します。

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>

INDENT は、"yes" または "no" のいずれかです。既定は "はい" です。

NAMESPACEDECLARATIONS

ネームスペース宣言を定義できます。例えば、次のようになります。

"xmlns='http://mydefault' xmlns:ns1='http://namespace1'"

ネームスペース宣言は、生成される XML のルート要素に追加されます。また、生成される XSL のスタイルシート要素にも追加されます。

PDFSWITCH

XMLSWITCH や XSLSWITCH と同様に、PDFSWITCH を使用すると、PDF 出力を生成するサードパーティ製 PDF レンダリング・エンジンの呼び出しに使用するコマンド・ラインを Zen でフォーマットできます。PDF 出力の詳細は、“PDF 出力向け Zen レポートの設定” を参照してください。

PDF レンダリング・エンジンには XEP または FOP のいずれかを選択することが普通です。これらの各エンジンでは、XSL-FO から PDF への変換で使用する PDF 出力ファイルの名前を指定する、以下のコマンド・ライン・オプションがサポートされています。

-pdf

これは PDFSWITCH の既定値です。

Zen レポートで XEP や FOP 以外の PDF レンダリング・エンジンを使用する場合は、その PDF 出力ファイルを特定するために別のコマンド・ライン・オプションが必要になることがあります。Zen レポート・クラスで PDFSWITCH クラス・パラメータを使用して、正しいオプション構文を指定する必要があります。以下はその例です。

Parameter PDFSWITCH = "-o";
PRESERVESPACE

レポート用に生成された XSLT に xsl:preserve-space 命令を指定します。例えば、PRESERVESPACE="literallayout" の場合、命令は次のようになります。

<xsl:preserve-space elements="literallayout"/>

PRESERVESPACE の値には、コンマで区切った要素名のリストを指定することもできます。

PRESERVESPACE の既定値はありません。PRESERVESPACE の値が指定されていない場合、Zen では命令は生成されません。

PRIVATE

Zen レポートのチュートリアル” で説明したとおり、Zen レポート・クラスは Caché Server Page (CSP) クラスでもあります。したがって、Zen レポート・クラスでは、PRIVATE パラメータなどの CSP ページ・クラスと同じクラス・パラメータがサポートされています。これは、Zen レポートで重要な役割を果たします。

PRIVATE が 1 に設定されているとき、そのページはプライベートです。つまり、そのページには、同じ CSP セッション内のページからのみ移動できます。詳細は、"Caché Server Pages (CSP) の使用法" の “CSP セッション管理” の章の “認証と暗号化” を参照してください。

PS

PostScript プリンタの場所を、以下のように指定します。

Parameter PS = "\\devD630\BrotherH";

中間 PDF ファイルを生成せずに、指定された PostScript プリンタにレポートを直接送信するには、DEFAULTMODE クラス・パラメータを "ps" に設定します。また、$MODE=ps を URI 文字列で設定し、URI クエリ・パラメータ $PS を PostScript プリンタの場所に設定できます。

REPORTNAME

(Firefox のみ) XHTML 形式または PDF 形式で Zen レポートを実行したときの最終出力を保存するために [ファイル]→[名前を付けて保存] を選択する際に、ブラウザが提示するファイル名を制御します。REPORTNAME クラス・パラメータに値を指定しないと、ブラウザは Zen レポート・クラス名を推奨ファイル名として使用します。

保存した Zen レポートの出力は以下の場所にあります。

C:\MyCache\CSP\myApp\

ここで、C:\MyCache は、インストール先ディレクトリの名前で、myApp は、Zen レポート・クラスが置かれているネームスペースです。

REPORTNAME は、Internet Explorer、Chrome、Safari のいずれでも機能しません。これらのブラウザの場合、<report> に title 属性を設定する必要があります。この title 属性の値は、[ファイル]→[名前を付けて保存] で表示されるプロンプトで使用するタイトルです。XHTML をサーバ側で生成する場合、Firefox で REPORTNAME が機能します。サーバ側の生成は、出力形式が PDF の場合、XSLTMODE や $XSLT を "server" (既定値 ) に設定する場合、または EMBEDXSL や $EMBEDXSL を 1 に設定することで出力 XHTML 内に XSLT 命令を埋め込むよう Zen レポートに指示した場合に行われます。

$ (ドル記号) 以外の名前を共有している多くのパラメータとは異なり、REPORTNAME と URI クエリ・パラメータ $REPORTNAME との間にはリレーションシップは何もありません。

REPORTDIR

“Zen レポートの実行” の章の “Zen レポートのトラブルシューティング” のセクションの説明に従って、“$REPORTNAME クエリ・パラメータ” で指定した出力ファイルのディレクトリを制御します。

REPORTDIR は $REPORTNAME でのみ使用できます。REPORTNAME クラス・パラメータとの間に相互作用の関係はありません。

RESOURCE

現在のユーザが、このページを表示するため、またはクライアントからサーバ側メソッドを呼び出すためには、USE 特権を保持している必要があるシステム Resource の名前。

RESOURCE は、リソース名のコンマ区切りリストとすることもできます。この場合、ユーザはページを使用するために、指定された Resources の中の少なくとも 1 つで USE 特権を持つ必要があります。

詳細は、"Caché セキュリティ管理ガイド" の “アセットおよびリソース” の章にある “アプリケーション・リソース” を参照してください。

SQLCACHE

兄弟グループおよび要素の適切な処理には、SQL クエリのキャッシングが必要です。既定では、Zen レポートは SQL クエリをキャッシュします (SQLCACHE=1)。Zen レポートを実行中にクエリをキャッシュしない場合は (SQLCACHE=0)、兄弟グループおよび要素を使用すると、Zen レポート・クラスのコンパイル時に必ずエラーが生成されます。

STRIPSPACE

レポート用に生成された XSLT に xsl:strip-space 命令を指定します。例えば、STRIPSPACE="*" の場合、命令は次のようになります。

<xsl:strip-space elements="*"/>

STRIPSPACE の既定値はありません。PRESERVESPACE の値が指定されていない場合、Zen では命令は生成されません。

SUPPRESSEXCELHEADERS

suppressExcelHeaders="true" を設定して、Zen レポートから Excel スプレッドシートを作成するときに通常生成されるすべてのヘッダを抑制します。

TABLEALTCOLOR

<table> の altcolor 属性を個々のテーブルで指定する代わりに、テーブルの 1 行おきの行の色をレポート全体に設定できます。GenerateReport を使用すると、関連する TableAltColor プロパティを使用できます。 altcolor をテーブルに指定すると、TABLEALTCOLOR はそのテーブルの設定でオーバーライドされます。

USEHTML5

既定の動作をオーバーライドできます。これによって、ブラウザでサポートしている場合に HTML5 を生成します。

UseHTML5 が "" (null) の場合 (既定値)、ブラウザが HTML5 をサポートしていると判断すると、ブラウザのレポート・レンダリングは HTML5 を生成します。UseHTML5 が null 以外の場合は、ブラウザが HTML5 をサポートしているかどうかに関係なく、ブーリアン値によって HTML5 を生成するかどうかが決まります。GenerateReport を使用すると、関連する UseHTML5 プロパティを使用できます。

USEINSTANCEHOSTNAMEONRELATIVEURLS

負荷分散を目的として Zen レポートが複数のサーバ間で共有され、その Zen レポートが他の Zen ページまたは CSP ページを参照する <xslinclude> などの要素を使用する場合、外部の PDF レンダリング・エンジンは仮想 IP までの経路をすべて戻るのではなく、Caché CSP ゲートウェイに戻るための経路が必要です。仮想 IP まで戻ろうとすると、ゲートウェイでそのアドレスが認識されないためにエラーが発生します。

Zen レポート・クラスが、<xslinclude> や URL を指定するその他の要素に含まれる相対パスから完全な URL を作成する場合は常に、CSP ゲートウェイに対して構成されたインスタンスのホスト名に置き換えるよう、Zen レポート・クラスを構成することができます。この機能を有効にするには、USEINSTANCEHOSTNAMEONRELATIVEURLS クラス・パラメータを 1 (True) に設定します。既定値は 0 (False) です。

USEINSTANCEHOSTNAMEONRELATIVEURLS は、CSP ゲートウェイのインスタンスのホスト名が不明または設定されていなくても、有効または無効にすることができます。ローカル Caché サーバおよびその Web サーバ・ポートを示す、既定以外のインスタンスのホスト名を構成する必要はほとんどありません。詳細は、"CSP ゲートウェイ構成ガイド" の “CSP ゲートウェイの動作と構成” の章の “既定のパラメータの構成” を参照してください。

XMLSTYLESHEET

ReportDefinition によって渡される XML を ReportDisplay への入力に適切な形式に変換する XSL スタイルシートを特定します。

XMLSWITCH

XSLSWITCH や PDFSWITCH と同様に、XMLSWITCH を使用すると、PDF 出力を生成するサードパーティ製 PDF レンダリング・エンジンの呼び出しに使用するコマンド・ラインを Zen でフォーマットできます。PDF 出力の詳細は、“PDF 出力向け Zen レポートの設定” を参照してください。

PDF レンダリング・エンジンには XEP または FOP のいずれかを選択することが普通です。これらの各エンジンでは、XSL-FO から PDF への変換で使用する XSL-FO データ・ファイルの名前を指定する、以下のコマンド・ライン・オプションがサポートされています。

-xml

これは XMLSWITCH の既定値です。

Zen レポートで XEP や FOP 以外の PDF レンダリング・エンジンを使用する場合は、その XSL-FO データ・ファイルを特定するために別のコマンド・ライン・オプションが必要になることがあります。Zen レポート・クラスで XMLSWITCH クラス・パラメータを使用して、正しいオプション構文を指定する必要があります。以下はその例です。

Parameter XMLSWITCH = "-d";
XSLFOSTYLESHEET

Zen レポートで使用する XHTML 出力を制御する to-XSLFO スタイルシートを指定します。Zen レポート・クラスにある XSLFOSTYLESHEET 文字列および XData ReportDisplay ブロックがいずれも有効で、空ではない場合は、XData ブロックよりも XSLFOSTYLESHEET パラメータが優先されます。

文字列は以下のいずれかです。

  • 有効な XSLT スタイルシートの URI。適切な XSLT を返す任意の URI を使用できます。相対 URI は、現在の URI を基準にして処理されます。

    URI 文字列は、同じネームスペースにある別の Zen レポート・クラスで作成した to-XSLFO スタイルシートを参照できます。そのクラスからの to-XSLFO 出力を使用する必要があることを示すには、以下のように $MODE=toxslfo クエリ・パラメータを使用します。

    Parameter XSLFOSTYLESHEET="MyApp.Report.cls?$MODE=toxslfo";
    
    

    クエリ・パラメータの一般的な情報は、“Zen レポートの実行” の章の “Zen レポートの URI クエリ・パラメータ” を参照してください。

  • 有効な XSLT スタイルシートを含むファイルの名前。ファイルは、Zen レポート・クラスが存在するネームスペースの Web アプリケーション・ディレクトリ内に存在する必要があります。例えば、Zen レポート・クラスの URI が以下の場合、

    http://localhost:57772/csp/myNamespace/mine.MyReport.cls
    

    XSLFOSTYLESHEET パラメータの構文は以下のようになり、

    Parameter XSLFOSTYLESHEET="data.xsl";
    

    また、data.xsl ファイルは、[CSPファイル物理パス] として指定したディレクトリ内に存在している必要があります。このディレクトリの既定の値は /csp/myNamespace です。

  • 空の文字列。この場合、クラスの XData ReportDisplay ブロックの仕様を使用して to-XSLFO スタイルシートが生成されます。

WARNING:

XSLFOSTYLESHEET パラメータが出現する Zen レポート・クラスを参照する URI 文字列を使用しないでください。これを使用すると、無限の反復が発生して <UNDEFINED> エラーが生じ、プロセスが多数発生します。

HTMLSTYLESHEET パラメータは、HTML 出力を生成するレポートで同じ機能を実行し、EXCELSTYLESHEET パラメータは、Excel スプレッドシート出力を生成するレポートで同じ機能を実行します。

XSLSWITCH

XMLSWITCH や PDFSWITCH と同様に、XSLSWITCH を使用すると、PDF 出力を生成するサードパーティ製 PDF レンダリング・エンジンの呼び出しに使用するコマンド・ラインを Zen でフォーマットできます。PDF 出力の詳細は、“PDF 出力向け Zen レポートの設定” を参照してください。

PDF レンダリング・エンジンには XEP または FOP のいずれかを選択することが普通です。これらの各エンジンでは、XSL-FO から PDF への変換で使用する XSL-FO スタイルシート・ファイルの名前を指定する、以下のコマンド・ライン・オプションがサポートされています。

-xsl

これは XSLSWITCH の既定値です。

Zen レポートで XEP や FOP 以外の PDF レンダリング・エンジンを使用する場合は、その XSL-FO スタイルシート・ファイルを特定するために別のコマンド・ライン・オプションが必要になることがあります。Zen レポート・クラスで XSLSWITCH クラス・パラメータを使用して、正しいオプション構文を指定する必要があります。以下はその例です。

Parameter XSLSWITCH = "-s";
XSLTVERSION

"1.0" または "2.0" の値を指定すると、それぞれこのレポートの XSLT が XSLT バージョン 1.0 または XSLT バージョン 2.0 として処理されます。"1.0" が既定値です。XSLTVERSION の値は、Zen レポートによって生成される XSLT だけでなく、Zen レポートの <xslt> セクション、XData ブロック、または外部ファイルで指定する XSLT にも影響します。レポート・クラスに対して現在設定されている XSLTVERSION 設定をオーバーライドするには、ユーザはブラウザから Zen レポートを起動するときに、URI で $XSLTVERSION パラメータを指定します。

XSLT 1.0 が既定であり、準備の必要は特にありません。XSLT 2.0 は XSLT 1.0 から大幅に変更されています。変更には、より徹底したタイプ・チェックや、変換内のロジック・フローを制御するためのオプションの追加などが含まれます。XSLT 2.0 変換が XSLT 1.0 として解釈された場合、正常に機能しないことが考えられます。逆に、XSLT 1.0 変換が XSLT 2.0 として解釈された場合、問題はそれほど頻繁に発生せず、たいてい正常に機能します。ただし、XSLT 1.0 として解釈された場合、以前とは異なる出力を生成したり、機能しない可能性もあります。互換性は保証されていません。

XSLT スタイルシートのクラス・パラメータ

このセクションでは、特殊な XSLT 処理命令を指定する Zen レポート・クラスのパラメータの一覧を示します。これらのクラス・パラメータにより、ブラウザが Internet Explorer の場合で、Zen レポート・クラスの CSP クラス・パラメータ PRIVATE を 1 (True) に設定することによって、Zen レポート・クラスをプライベートとしてマークしている場合に発生する問題に対処できます。このような問題がない場合は、これらの特殊なクラス・パラメータを使用する必要はありません。

XHTML を生成するために Zen レポートがブラウザで起動されると、XML が生成され、その XML がクライアントに送信され、その後、その XML が xml-stylesheet 処理命令に従ってクライアントの XHTML に変換されます。この処理命令の属性は、ブラウザに送信される URI 文字列のクエリ・パラメータとして表示されます。Internet Explorer では、疑問符 ? の後にパラメータが 1 つある URI 命令のみが理解されます。Zen レポート・クラス用に生成された xml-stylesheet 命令に複数のパラメータが含まれている場合に、ブラウザが Internet Explorer であると、問題が生じる可能性があります。これは、Zen レポート・クラスの CSP クラス・パラメータ PRIVATE を 1 (True) に設定することによって、Zen レポート・クラスをプライベートとしてマークしている場合に、特に発生します。

このため、xml-stylesheet 処理命令に必要な情報を URI クエリ文字列に表示する必要がないように、Zen レポート・クラスの多くのパラメータによってこれらの情報が指定されます。クラスのパラメータを適切に構成しておけば、Zen ではブラウザに関係なく、これらの命令が適切に処理されます。以下のリストでは、このタイプの Zen レポート・クラスのパラメータについて説明します。

Note:

レポート・オプションを URI クエリ・パラメータとして指定する方法、および一部のブラウザで発生する可能性のある副次的作用に対処する方法についての詳細は、“Zen レポートの実行” の章の “Web ブラウザでの Zen レポートの起動” を参照してください。

EMBEDXSL

EMBEDXSL=1 (True) のとき、出力 XHTML 内に埋め込まれる XSLT 命令が生成されます。EMBEDXSL の既定値は 0 (False) です。この場合、XHTML ファイル内に処理命令が埋め込まれるのではなく、別の XSLT ファイルが生成されます。

XSLT 命令が埋め込まれると、出力ファイルに XML 要素の一意性の問題が発生します。既定のネームスペース http://www.w3.org/1999/xhtml は、生成された XML と XSLT が 1 つの HTTP 応答に組み合わせられると、生成された XML 要素すべてのネームスペースとなることができません。完全修飾された XML 名を確実に使用するため、EMBEDXSL=1 を設定するときには、Zen レポート・クラスで REPORTXMLNAMESPACE と REPORTXMLNAMESPACEPREFIX の値を指定することにより、ネームスペースの名前と接頭語も指定することをお勧めします。以下に例を示します。

Parameter EMBEDXSL=1;
Parameter REPORTXMLNAMESPACE="http://www.example.com";
Parameter REPORTXMLNAMESPACEPREFIX="SR"; 

次の例のような XML が生成され、XSLT は、この XML と共に使用できるように更新されます。

<SR:myReport xmlns:SR="http://www.example.com"
             runTime='2008-03-27 00:01:49'
             runBy='_SYSTEM' author='BOB' month='Jan'>
  <SR:SalesRep name='Jack'>

    <SR:record id='331' number='5'>
      <SR:date>2005-01-20</SR:date>
      <SR:customer>Yoyomo Inc.</SR:customer>
    </SR:record>

    <SR:record id='537' number='9'>
      <SR:date>2005-01-20</SR:date>
      <SR:customer>XenaData.com</SR:customer>
    </SR:record>

    <!-- more records omitted -->

  </SR:SalesRep>
</SR:myReport>

Zen レポート・クラスでは REPORTXMLNAMESPACE パラメータまたは REPORTXMLNAMESPACEPREFIX パラメータを省略できます。EMBEDXSL=1 でこれらのパラメータが設定されていないときの既定の設定を以下に示します。

  • REPORTXMLNAMESPACE の既定の設定は次のとおりです。

    http://www.intersytems.com/mydefaultnamespace

  • REPORTXMLNAMESPACEPREFIX の既定の設定は次のとおりです。

    my

外部の DATASOURCE を指定すると、EMBEDXSL は無視されます。

レポート・クラスに対して現在設定されている EMBEDXSL をオーバーライドするには、ブラウザから Zen レポートを起動するときに、URI で $EMBEDXSL パラメータを指定します。

REPORTXMLNAMESPACE

生成された XML レポートで使用される XML ネームスペースを指定します。EMBEDXSL=1 を使用しているときにはこの指定が特に重要です。http://www.intersytems.com/mydefaultnamespace という既定の名前がありますが、独自の名前を付けることができます。詳細は、"EMBEDXSL" を参照してください。

REPORTXMLNAMESPACEPREFIX

生成された XML レポートで使用される XML ネームスペースの接頭語を指定します。EMBEDXSL=1 を使用しているときにはこの指定が特に重要です。my という既定の接頭語がありますが、独自の接頭語を付けることができます。詳細は、"EMBEDXSL" を参照してください。

STYLESHEETDEFAULTMODE

URI パラメータ $MODE を指定していない場合に使用する処理モードを指定できます。DEFAULTMODE でも同様に指定できますが、Zen レポート・クラスの CSP クラス・パラメータ PRIVATE を 1 (True) に設定することによって Zen レポート・クラスをプライベートとしてマークしている場合、DEFAULTMODE は使用できません。STYLESHEETDEFAULTMODE は、このような場合に使用できるように提供されています。それ以外の場合は必要ありません。

Zen レポートで DEFAULTMODE および STYLESHEETDEFAULTMODE を両方使用する場合、これらを慎重に設定する必要があります。両方を設定し、URI パラメータ $MODE を指定しないと、STYLESHEETDEFAULTMODE は、DEFAULTMODE を既定のスタイル・モードとしてオーバーライドするので注意してください。

STYLESHEETDEFAULTMODE を使用し、希望する出力がそれぞれ以下の形式の場合について説明します。

  • Excel スプレッドシート。次の設定および値の組み合わせを使用します。

    • クラス・パラメータ DEFAULTMODE には任意の値を指定できます。

    • クラス・パラメータ STYLESHEETDEFAULTMODE="toexcel"

    • URI クエリ文字列パラメータ $MODE="excel" または $MODE="xlsx"

  • XHTML。次の設定および値の組み合わせを使用します。

    • クラス・パラメータ DEFAULTMODE には任意の値を指定できます。

    • クラス・パラメータ STYLESHEETDEFAULTMODE="tohtml"

    • URI クエリ文字列パラメータ $MODE="html"

  • PDF。次の組み合わせを使用します。

    • クラス・パラメータ DEFAULTMODE には任意の値を指定できます。

    • クラス・パラメータ STYLESHEETDEFAULTMODE="toxslfo"

    • URI クエリ文字列パラメータ $MODE="pdf"

  • XML。次の組み合わせを使用します。

    • クラス・パラメータ DEFAULTMODE には任意の値を指定できます。

    • クラス・パラメータ STYLESHEETDEFAULTMODE は省略します。

    • $MODE を省略するか、$MODE="xml" を使用します。

STYLESHEETDEFAULTMODE に指定可能な値の完全なリストを以下に示します。

  • "toexcel" — XSLT 形式の To-excel スタイルシート。VMS 専用。

  • "tohtml" — XSLT 形式の To-HTML スタイルシート。

  • "toxslfo" — XSLT 形式の To-XSLFO スタイルシート。

USETEMPFILES

USETEMPFILES=1 (True) のとき、生成された XSLT スタイルシートがファイルに書き込まれます。このファイル内の生成された XSLT スタイルシートは、出力 XHTML を生成するために後で使用されます。USETEMPFILES の既定の値は 0 (False) です。この場合、XSLT が生成されて使用されますが、これがファイルに保存されることはありません。

生成された XSLT スタイルシート・ファイルの場所などの詳細は、“Zen レポートの実行” の章の “Zen レポートのトラブルシューティング” の “$USETEMPFILES クエリ・パラメータ” を参照してください。$USETEMPFILES は、USETEMPFILES の URI クエリ・パラメータに相当するものです。

XSLTMODE

Zen レポートの URI 文字列でクエリ・パラメータ数を追加することなく、XSLT 変換が実行される場所を指定できます。XSLTMODE には、"browser" または "server" の値を指定できます。これにより、サーバまたはブラウザでそれぞれ XSLT が処理され、XHTML が生成されます。

XSLT はコストが高い処理のため、XSLT 処理をサーバに移行させると、アプリケーションのスケーラビリティを侵害する場合があります。ただし、XSLTMODE オプションによってその柔軟性は確保できます。XSLTMODE の既定値は "server" です。"USETEMPFILES" も参照してください。

レポート・クラスに対して現在設定されている XSLTMODE 設定をオーバーライドするには、ブラウザから Zen レポートを起動するときに、URI で $XSLT パラメータを指定します。

出力モードが PDF の場合、サードパーティの PDF ジェネレータ・エンジン (RenderX または FOP) がサーバ上で実行されているため、一部の処理は常にサーバ上で実行されます。

FeedbackOpens in a new tab