Skip to main content

6-2 XMLデータファイル

XMLデータファイルとは、文書構造を構成する要素を、タグを使って記述するものです。タグを使った記述方式を採用することで、データの意味やデータ構造を持ったままデータ交換ができます。

XMLデータファイルの書き方と制約、Universal Connect/Xで使用するXMLタグや要素、データ定義の形式について説明します。

データ構造

Universal Connect/Xの印刷データとして使用するXMLデータファイルのデータ構造について説明します。

Universal Connect/Xの印刷データとして使用するXMLファイルのデータ構造は次のようになっています。

<vfreport>                   ルートタグ
  <document>                  ドキュメントタグ
    <form>                   フォームタグ
      <customer><![CDATA[株式会社ABC]]>	    固定項目データタグ
      </customer>                終了固定項目データタグ
        <record>                レコードタグ
          <product><![CDATA[ABCプリンター]]>   レコードデータタグ
          </product>               終了レコードデータタグ
        </record>                終了レコードタグ
    </form>                   終了フォームタグ
  </document>                  終了ドキュメントタグ
</vfreport>                   終了ルートタグ

ルートタグ/終了ルートタグ

XML文書を作成する場合に1つだけ定義する必要があります。同階層で2つ以上は定義できません。

ルートタグからXML文書の開始、終了ルートタグでXML文書の終了を定義できます。

ドキュメントタグ/終了ドキュメントタグ

印刷文書の状態を設定します。ドキュメントタグの属性に、状態を属性値として指定し、終了ドキュメントタグで状態の終了を定義します。終了ドキュメントタグで終了した後も、新しくドキュメントタグを定義するまでその状態は継続されます。ドキュメントタグは省略できます。

フォームタグ/終了フォームタグ

印刷様式の状態を設定します。フォームタグの属性に、状態を属性値として指定し、終了フォームタグで状態の終了を定義します。終了フォームタグで終了した後も、その後新しくフォームタグを定義するまで、その状態が継続されます。フォームタグは省略できます。

固定項目データタグ/終了固定項目データタグ

印刷する固定項目のフィールド名とデータの指定をします。タグにあたる部分が印刷フィールド名、次に続くデータが印刷データ、最後が印刷データ終了タグです。

レコードタグ/終了レコードタグ

レコードタグから終了レコードタグまでのデータを、レコードデータとしてあつかいます。レコードデータを定義する前には、必ず定義します。省略はできません。

レコードデータタグ/終了レコードデータタグ

印刷するレコードデータのフィールド名とデータを指定します。タグにあたる部分が印刷レコードフィールド名、次に続くデータが印刷レコードデータ、最後が印刷レコードデータ終了タグです。

XMLのデータ定義形式

簡易形式

簡易形式は、XMLデータ内にフィールド名とデータのみを定義する形式です。

  • ルートタグ/ルート終了タグ

  • レコードタグ/終了レコードタグ

を定義する必要があります。

下記は簡易形式のXMLのデータ定義例です。

<?xml version="1.0" encoding="Shift_JIS" ?>
 <vfreport>
   <record>
     <classification_code>1</classification_code>
     <product_code>1</product_code>
     <product_name><![CDATA[果汁100% オレンジ]]></product_name>
     <component_unit><![CDATA[200gx12瓶]]></component_unit>
     <unit_price><![CDATA[200.0000]]></unit_price>
     <stock>10</stock>
     <order>0</order>
     <supplier><![CDATA[東京コーヒー]]></supplier>
     <product_type><![CDATA[飲料]]></product_type>
   </record>
   <record>
     <classification_code>1</classification_code>
     <product_code>2</product_code>
     <product_name><![CDATA[果汁100% グレープ]]></product_name>
     <component_unit><![CDATA[200gx12瓶]]></component_unit>
     <unit_price><![CDATA[200.0000]]></unit_price>
     <stock>12</stock>
     <order>0</order>
     <supplier><![CDATA[東京コーヒー]]></supplier>

完全形式

完全形式は、印刷にかかわる属性などもあわせて定義する形式です。[データ構造]の項目のすべてのタグを使って定義できます。

下記は完全形式のXMLのデータ定義例です。

<?xml version="1.0" encoding="Shift_JIS" ?>
 <vfreport>
   <document name="sample2" printer="NEC PCPR201" port="PR201" file="C:\sample\sample2.pdf" stack="1">
     <form file="D:\xml_test\syohin5.xml" mode="4" copies="1" calc="0" duplex="1,20">
       <record>
         <classification_code>1</classification_code>
         <product_code>1</product_code>
         <product_name><![CDATA[果汁100% オレンジ]]</product_name>
         <component_unit><![CDATA[200gx12瓶]]</component_unit>
         <unit_price><![CDATA[200.0000]]</unit_price>
         <stock>10</stock>
         <order>0</order>
         <supplier><![CDATA[東京コーヒー]]</supplier>
         <product_type><![CDATA[飲料]]</product_type>
       </record>
       <record>
         <classification_code>1</classification_code>
         <product_code>2</product_code>
         <product_name><![CDATA[果汁100% グレープ]]</product_name>
         <component_unit><![CDATA[200gx12瓶]]</component_unit>
         <unit_price><![CDATA[200.0000]]</unit_price>
         <stock>12</stock>
         <order>0</order>
         <supplier><![CDATA[東京コーヒー]]</supplier>
         <product_type><![CDATA[飲料]]</product_type>

XMLデータの制約

Universal Connect/Xの印刷データとしてXMLデータファイルを使用する場合の制約について説明します。

タグ文字種

タグは、<>で囲んで定義します。タグ自体に<>を含めて定義できません。

Universal Connect/Xでは、タグが印刷フィールド名で表されます。タグ文字として使用できる文字のみで印刷フィールド名を定義します。

データ文字種

データは、開始タグと終了タグで囲んで定義します。<>など含むデータの場合は、XMLの仕様に従って定義してください。

1.
<remarks><![CDATA[</biko> is end tag]]></remarks>


属性文字種

属性値は、開始タグの中に次のように定義します。「"」「'」の両方が含まれる定義はできません。

  • 属性名="属性値"

  • 属性名='属性値'

データレコードの区切り

データレコードはレコードタグ~終了レコードタグまでを1レコードとして定義できます。

2.
<record> ~ </record>


リピートフィールドへのデータ出力

リピートフィールドへの出力は、データタグに属性値を書き込む形式で定義できます。

3.
<product no="1">aaaaaaaa</product>


フィールドへの属性値出力

属性値は、データタグに属性値を書き込む形式で定義できます。属性値については、『SVF Java PRODUCTS API関数 リファレンスマニュアル』を参照してください。

4.
<quantity attr="Bold=1">100</quantity>