biz-StreamマニュアルXMLドキュメントレイアウトタグ リファレンス第6章 データ設定について6.11 xml リソース<bs:xml-resource-master>

6.11 xml リソース<bs:xml-resource-master>


6.11.1機能説明

biz-Streamライブラリがxmlリソースを使用するためのリソース情報を定義します。



6.11.2属性説明

属性名指定説明指定内容初期値
master-name必須定義名CDATA
url必須ファイル名xsd:anyURIもしくは、ファイルパスファイルが存在するURL ※1

  • ※1デフォルトエンコーディングはUTF-8のため、データソースとして指定するxmlファイルのエンコードがShift_JISの場合は、
    ファイルの先頭に
    <?xml version="1.0" encoding="Shift_JIS"?>
    の記載が必要です。


6.11.3記述例

bs:xml-resource-masterドキュメントレイアウトサンプル

bs:xml-resource-masterドキュメントレイアウトサンプル
(『<biz-Stream_home>/sample/xml/datasource-master/datasource-masterXmlDataSourceSample1-doc.xml』)

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- biz-Stream Copyright BrainSellers.com Corp. -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:pdf="http://www.brainsellers.com/schema" xmlns:svg="http://www.brainsellers.com/schema" xmlns:bs="http://www.brainsellers.com/schema" xmlns:form="http://www.brainsellers.com/schema" version="5.0.0">
    <bs:datasource-master-set>
        <bs:datasource-master master-name="xml-source" position="inherit">
            <bs:calculate-master master-name="小計" break-list="顧客名">
                <bs:calculate-statement function="sum(個数)"/>

                <bs:calculate-statement function="sum(金額)"/>

                <bs:calculate-function column-name="個数小計" function="sum(個数)"/>

                <bs:calculate-function column-name="金額小計" function="sum(金額)"/>

            </bs:calculate-master>
            <bs:calculate-master master-name="合計">
                <bs:calculate-statement function="sum(個数)"/>

                <bs:calculate-statement function="sum(金額)"/>

                <bs:calculate-function column-name="個数合計" function="sum(個数)"/>

                <bs:calculate-function column-name="金額合計" function="sum(金額)"/>

            </bs:calculate-master>
            <bs:group-suppress name="a" conditions="and">
                <bs:group-items column-name="地区コード" new-page="true"/>

                <bs:group-items column-name="顧客名" priority="1" new-page="false"/>

            </bs:group-suppress>
            <bs:xml-master-reference master-reference="xml-field"/>

        </bs:datasource-master>
        <bs:xml-master master-name="xml-field">
            <bs:xml-statement master-reference="xml-resource">
let $xml := .
let $seq := $xml//li
for $a in $seq
where contains($a/@class, 'item')
return
<record>
<column1>{$a/col1/text()}</column1>
{$a/col2}
{$a/col3}
<column4>{normalize-space($a/col4)}</column4>
</record>
				</bs:xml-statement>
            <bs:data-type column-name="地区コード" column-no="1" type="decimal"/>
            <bs:data-type column-name="顧客名" column-no="2" type="char"/>
            <bs:data-type column-name="個数" column-no="3" type="decimal"/>
            <bs:data-type column-name="金額" column-no="4" type="decimal"/>
        </bs:xml-master>
        <bs:xml-resource-master master-name="xml-resource" url="${base-dir}/sample/xml/datasource-master/datasource-masterXmlDataSourceSample1-data.xml"/>

    </bs:datasource-master-set>
    <fo:layout-master-set>
        <fo:simple-page-master master-name="A4" page-height="297mm" page-width="210mm">
            <fo:region-body/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="A4" name="bizsheet" bs:local-page-control="none">
        <fo:flow flow-name="xsl-region-body">
            <bs:block-container>
                <bs:include href="${base-dir}/sample/xml/datasource-master/datasource-masterXmlDataSourceSample1-page.xml"/>

            </bs:block-container>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

bs:xml-resource-masterページレイアウトサンプル
(『<biz-Stream_home>/sample/xml/datasource-master/datasource-masterXmlDataSourceSample1-page.xml』)

<?xml version="1.0" encoding="UTF-8"?>
<!-- XML file created by biz-Stream Designer -->
<!-- biz-Stream Copyright BrainSellers.com Corp. -->
<Layout Width="210mm" Height="297mm" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:bs="http://www.brainsellers.com/schema" xmlns:svg="http://www.brainsellers.com/schema" xmlns:form="http://www.brainsellers.com/schema" xmlns:pdf="http://www.brainsellers.com/schema" version="5.0.0">
    <Label Name="タイトル" X="75" Y="280" Horizon="center" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="18" FontStyle="PLAIN" Narrow="none">販売集計(今月)</Label>
    <flow-area name="area" x="30" y="270" width="141" height="200" master-reference="xml-source" no-data-disabled="false">
        <flow-table name="header" line-height="20" record-type="header" view="page" border-width="0.1" border-color="0,0,0">
            <flow-table-cell cell-width="47" align="vertical" text-align="left" cell-align="bottom" narrow="size">
                <Label Width="47" Height="10" X="0" Y="0" Horizon="right" Vertical="center" Vector="horizon" Font="MSGothic" FontColor="0,0,0" FontSize="16" FontStyle="PLAIN" Narrow="horizon">地区コード:</Label>
                <Label Width="47" Height="10" Horizon="center" Vertical="center" Vector="horizon" Font="MSGothic" FontSize="14" FontStyle="PLAIN" Narrow="horizon">顧客名</Label>
            </flow-table-cell>
            <flow-table-cell cell-width="47" align="vertical" text-align="left" cell-align="bottom" narrow="size">
                <Currency Name="地区コード" Width="47" Height="10" X="0" Y="0" Horizon="left" Vertical="center" Vector="horizon" Font="Courier" FontSize="20" FontStyle="PLAIN" color-plus="0,0,0" Narrow="horizon" format="#,##0">123</Currency>
                <Label Width="47" Height="10" Horizon="center" Vertical="center" Vector="horizon" Font="MSGothic" FontSize="14" FontStyle="PLAIN" Narrow="horizon">個数</Label>
            </flow-table-cell>
            <flow-table-cell cell-width="47" align="horizon" text-align="left" cell-align="bottom" narrow="size">
                <Label Width="47" Height="10" Horizon="center" Vertical="center" Vector="horizon" Font="MSGothic" FontSize="14" FontStyle="PLAIN" Narrow="horizon">金額</Label>
            </flow-table-cell>
        </flow-table>
        <flow-table name="deatils" line-height="9.507" record-type="details" view="layout" border-width="0.1">
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Label Name="顧客名" X="1" Horizon="left" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon"/>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="個数" Width="45.5" X="1" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="#,##0"/>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="金額" Width="45.5" X="0" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="\#,##0"/>
            </flow-table-cell>
        </flow-table>
        <flow-table name="小計" line-height="9.172" record-type="subtotal" view="layout">
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="center" cell-align="center" narrow="size">
                <Label X="1" Horizon="left" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon">(顧客別小計)</Label>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="個数小計" Width="45.5" X="1" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="#,##0"/>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="金額小計" Width="45.5" X="0" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="\#,##0"/>
            </flow-table-cell>
        </flow-table>
        <flow-table name="合計" line-height="9.172" record-type="total" view="layout">
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="center" cell-align="center" narrow="size">
                <Label X="1" Horizon="left" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon">合計</Label>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="個数合計" Width="45.5" X="1" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="#,##0"/>
            </flow-table-cell>
            <flow-table-cell cell-width="47" border-color="0,0,0" align="horizon" text-align="left" cell-align="center" narrow="size">
                <Currency Name="金額合計" Width="45.5" X="0" Horizon="right" Vertical="bottom" Vector="horizon" Font="MSGothic" FontSize="12" FontStyle="PLAIN" Narrow="horizon" format="\#,##0"/>
            </flow-table-cell>
        </flow-table>
    </flow-area>
    <Line X="30" Y="260" StartX="0" StartY="0" EndX="141" EndY="0" Horizon="left" Vertical="bottom" LineWidth="0.5" LineStyle="Solid"/>

</Layout>