Cosminexus XML Processor　ユーザーズガイド

解説・手引書

3020-3-M44-20

目　　次

前書き

変更内容

はじめに

1.　Cosminexus XML Processorの概要

1.1　Cosminexus XML Processorの特長

1.1.1　プラットフォーム間で共通のプログラムを作成できる

1.1.2　JavaプログラムでXML文書を容易に解析できる

1.1.3　JavaプログラムでXML文書を容易に変換できる

1.2　Cosminexus XML Processorの位置づけ

1.3　Cosminexus XML Processorの処理の流れ

1.4　Cosminexus XML Processorのサポート範囲

1.4.1　使用できるXMLパーサ，XSLTトランスフォーマなどの機能

1.4.2　処理できる文字コード

1.4.3　Shift_JIS切り替え機能

1.4.4　XSLTCトランスフォーマ機能

1.4.5　高速パース機能

2.　JAXPの機能

2.1　JAXPとは

2.2　JAXPが規定するパッケージとその機能

2.2.1　javax.xml.parsersパッケージ

2.2.2　javax.xml.transformパッケージ

2.2.3　javax.xml.transform.domパッケージ

2.2.4　javax.xml.transform.saxパッケージ

2.2.5　javax.xml.transform.streamパッケージ

2.2.6　javax.xml.validationパッケージ

2.2.7　javax.xml.xpathパッケージ

2.2.8　javax.xml.namespaceパッケージ

2.2.9　javax.xml.datatypeパッケージ

2.2.10　javax.xmlパッケージ

2.2.11　org.w3c.domパッケージ

2.2.12　org.w3c.dom.bootstrapパッケージ

2.2.13　org.w3c.dom.lsパッケージ

2.2.14　org.w3c.dom.eventsパッケージ

2.2.15　org.xml.saxパッケージ

2.2.16　org.xml.sax.extパッケージ

2.2.17　org.xml.sax.helpersパッケージ

3.　Cosminexus XML Processorの拡張機能

3.1　Shift_JIS切り替え機能

3.2　XSLTCトランスフォーマ機能

3.2.1　XSLTCトランスフォーマの概要

3.2.2　XSLTCトランスフォーマを使ったシステムの開発・運用

3.2.3　XSLTCトランスフォーマで使用するクラス

3.2.4　XSLTCトランスフォーマの使用方法

3.3　高速パース機能

3.3.1　高速パース機能の概要

3.3.2　高速パースのための作業の流れ

3.3.3　事前解析用XML文書の作成

3.3.4　解析結果オブジェクトの生成

3.3.5　解析結果オブジェクトの設定

3.3.6　XML文書の解析

3.3.7　高速パース機能で使用するクラス

3.3.8　高速パース機能を使用するためのコード例

3.3.9　事前解析用XML文書のチューニング

3.3.10　チューニングサマリファイルの詳細

3.3.11　チューニング詳細ファイルの詳細

3.3.12　高速化定義ファイルを使用した高速パース

3.3.13　高速化定義ファイルを使用した高速パースのための作業の流れ

3.3.14　高速化定義ファイルの作成

3.3.15　高速化定義ファイルの設定

3.3.16　事前解析の実行タイミングの設定

3.3.17　XML文書の解析（高速化定義ファイルを使用する場合）

3.4　XML SchemaのエラーメッセージとW3C仕様との対応

4.　フィーチャーおよびプロパティの使用方法

4.1　SAX2のフィーチャーおよびプロパティの使用方法

4.2　XSLTのフィーチャーの使用方法

4.3　XML Schemaのプロパティの使用方法

4.3.1　DOMパーサに対するXML Schemaのプロパティの設定方法

4.3.2　SAXパーサに対するXML Schemaのプロパティの設定方法

4.3.3　スキーマ文書をXML文書内で設定する方法

4.4　Shift_JIS切り替え機能のプロパティの使用方法

4.4.1　DOMパーサでShift_JIS切り替え機能を使用する方法

4.4.2　SAXパーサでShift_JIS切り替え機能を使用する方法

4.4.3　XSLTトランスフォーマでShift_JIS切り替え機能を使用する方法

4.5　高速パース機能のプロパティの使用方法

4.5.1　DocumentBuilderに解析結果オブジェクトを設定する方法

4.5.2　SAXParserに解析結果オブジェクトを設定する方法

4.5.3　XMLReaderに解析結果オブジェクトを設定する方法

5.　プログラムの作成方法

5.1　プログラム作成の流れ

5.2　Cosminexus XML Processorが使用しているパッケージ名

5.3　プログラム実行時のトラブルシュート

5.4　DOMパーサを使用するサンプルプログラム

5.4.1　サンプルプログラムの処理

5.4.2　サンプルプログラムの作成の流れ

5.4.3　サンプルプログラム（SampleDOM.java）

5.4.4　サンプルプログラム（SampleDOM.java）の実行結果

5.5　SAXパーサを使用するサンプルプログラム

5.5.1　サンプルプログラムの処理

5.5.2　サンプルプログラムの作成の流れ

5.5.3　使用するXML文書（SampleSAX.xml）

5.5.4　サンプルプログラム（SampleSAX.java）

5.5.5　サンプルプログラム（SampleSAX.java）の実行結果

5.6　XML Schemaを使用するサンプルプログラム

5.6.1　サンプルプログラムの処理

5.6.2　使用するXML文書（purchaseOrder.xml，purchaseOrder-fail.xml）

5.6.3　使用するスキーマ文書（purchaseOrder.xsd，personalData.xsd）

5.6.4　DOMパーサを使用する場合のサンプルプログラム

5.6.5　SAXパーサを使用する場合のサンプルプログラム

5.6.6　検証に失敗した場合の実行結果

5.7　XSLTトランスフォーマを使用するサンプルプログラム

5.7.1　サンプルプログラムの処理

5.7.2　サンプルプログラムの作成の流れ

5.7.3　使用するXML文書（SampleXSLT.xml）

5.7.4　使用するXSLファイル（SampleXSLT.xsl）

5.7.5　サンプルプログラム（SampleXSLT.java）

5.7.6　サンプルプログラム（SampleXSLT.java）の実行結果

5.8　XSLTCトランスフォーマを使用するサンプルプログラム

6.　Cosminexus XML Processor使用時の注意事項

6.1　JAXP1.3機能の共通の注意事項

6.2　DOMパーサに関する注意事項

6.3　SAXパーサに関する注意事項

6.4　スキーマ検証に関する注意事項

6.5　XSLT/XSLTC共通の注意事項

6.6　XSLTに関する注意事項

6.6.1　エラーを通知しないケース

6.6.2　その他の注意事項

6.7　XSLTCに関する注意事項

6.7.1　スタイルシートサイズの注意事項

6.7.2　変換処理性能に関する注意事項

6.7.3　XSLT要素の注意事項

6.7.4　XPath式の注意事項

6.7.5　エラーを通知しないケース

6.7.6　その他の注意事項

6.8　javax.xml.datatypeパッケージに関する注意事項

6.9　javax.xml.validationパッケージに関する注意事項

6.10　javax.xml.xpathパッケージに関する注意事項

6.11　org.w3c.domパッケージに関する注意事項

6.12　org.w3c.dom.bootstrapパッケージに関する注意事項

6.13　org.w3c.dom.lsパッケージに関する注意事項

6.14　org.xml.sax.extパッケージに関する注意事項

6.15　XIncludeに関する注意事項

6.16　実装依存仕様に関する注意事項

6.17　高速パース機能に関する注意事項

6.17.1　解析結果オブジェクトの設定に関する注意事項

6.17.2　解析結果オブジェクトを利用するXMLパーサに関する注意事項

6.17.3　XML1.1に関する注意事項

6.17.4　XIncludeに関する注意事項（高速パース機能）

6.17.5　高速化定義ファイルに関する注意事項

6.17.6　絶対パスの指定方法に関する注意事項

6.17.7　事前解析用XML文書に関する注意事項

6.17.8　チューニング情報に関する注意事項

6.17.9　解析性能に関する注意事項

7.　メッセージ

7.1　メッセージの形式

7.2　メッセージ一覧

7.2.1　KECX01000～KECX01999

7.2.2　KECX02000～KECX02999

7.2.3　KECX03000～KECX03999

7.2.4　KECX04000～KECX04999

7.2.5　KECX06000～KECX06999

7.2.6　KECX07000～KECX07999

7.2.7　KECX09000～KECX09999

付録

付録A　バージョン間の差異

付録A.1　DOMパーサ，およびSAXパーサ共通の動作の差異

付録A.2　DOMパーサの動作の差異

付録A.3　SAXパーサの動作の差異

付録A.4　スキーマ検証の動作の差異

付録A.5　XSLTの動作の差異

付録B　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

前書き

■ 対象製品

●適用OS：Windows Server 2003，Windows Server 2003 x64 Editions

P-2443-7D74　 uCosminexus Application Server Standard　 07-50
P-2443-7K74　 uCosminexus Application Server Enterprise　 07-50
P-2443-7S74　 uCosminexus Service Platform　 07-50

●適用OS：Windows Server 2003，Windows Vista，Windows XP

P-2443-7E74　 uCosminexus Developer Standard　 07-50
P-2443-7F74　 uCosminexus Developer Professional　 07-50
P-2443-7U74　 uCosminexus Operator　 07-50
P-2443-7T74　 uCosminexus Service Architect　 07-50

●適用OS：Windows Server 2003，Windows Server 2003 x64 Editions，Windows Vista，Windows XP

P-2443-7H74　 uCosminexus Client　 07-50

●適用OS：AIX 5L V5.2，AIX 5L V5.3

P-1M43-7D71　 uCosminexus Application Server Standard　 07-50 ※
P-1M43-7K71　 uCosminexus Application Server Enterprise　 07-50 ※
P-1M43-7S71　 uCosminexus Service Platform　 07-50 ※

●適用OS：HP-UX 11i（PA-RISC），HP-UX 11i V2（PA-RISC）

P-1B43-7D71　 uCosminexus Application Server Standard　 07-50 ※
P-1B43-7K71　 uCosminexus Application Server Enterprise　 07-50 ※

●適用OS：HP-UX 11i V2（IPF），HP-UX 11i V3（IPF）

P-1J43-7D71　 uCosminexus Application Server Standard　 07-50 ※
P-1J43-7K71　 uCosminexus Application Server Enterprise　 07-50 ※
P-1J43-7S71　 uCosminexus Service Platform　 07-50 ※

●適用OS：Red Hat Enterprise Linux AS 3（x86），Red Hat Enterprise Linux AS 4（x86），Red Hat Enterprise Linux ES 3（x86），Red Hat Enterprise Linux ES 4（x86），Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）

P-9S43-7D71　 uCosminexus Application Server Standard　 07-50 ※
P-9S43-7K71　 uCosminexus Application Server Enterprise　 07-50 ※
P-9S43-7S71　 uCosminexus Service Platform　 07-50 ※

これらのプログラムプロダクトのほかにも，このマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。
※印の製品については，サポート時期をご確認ください。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Red Hatは，米国およびその他の国でRed Hat, Inc.の登録商標若しくは商標です。
Solarisは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Sunは，米国Sun Microsystems, Inc.の米国およびその他の国における商標または登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp.の商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).

■ 発行

2006年 4月（第1版）3020-3-M44
2007年 6月（第2版）3020-3-M44-20

■ 著作権

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

変更内容

変更内容(3020-3-M44-20)　　uCosminexus Application Server Standard 07-50　uCosminexus Application Server Enterprise 07-50　uCosminexus Service Platform 07-50　uCosminexus Developer Standard 07-50　uCosminexus Developer Professional 07-50　uCosminexus Operator 07-50　uCosminexus Service Architect 07-50　uCosminexus Client 07-50

追加・変更内容
変更個所

サポートするOSを変更した。
－

高速パース機能をサポートした。
1.4.5，3.3，4.5，6.17

メッセージを変更した。
KECX01024-E，KECX06249-W
7.2.1，7.2.5

メッセージを追加した。
KECX01088-E，KECX09601-E，
KECX09602-E，KECX09603-E，
KECX09604-E，KECX09605-E，
KECX09606-E，KECX09607-E，
KECX09608-E
7.2.1，7.2.7

単なる誤字・脱字などはお断りなく訂正しました。

はじめに

このマニュアルは，Cosminexus XML Processorが提供するXMLパーサ・XSLTトランスフォーマの機能，作成方法，および使用方法について説明したものです。

Cosminexus XML Processorは，Cosminexusを構成する各製品で提供されています。詳細は，マニュアル「Cosminexus 概説」を参照してください。

対象読者

このマニュアルは，Cosminexus XML Processorを使用して，XML文書を操作するプログラムをJava言語で作成されるプログラマの方を対象としています。

また，次に示す知識をお持ちの方を対象としています。

XMLについての基本的な知識

JAXPについての基本的な知識

Java言語によるオブジェクト指向プログラミングの知識

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

第1章　Cosminexus XML Processorの概要

Cosminexus XML Processorを使用する前に知っておく必要のある，Cosminexus XML Processorの特長，位置づけ，処理の流れ，およびサポート範囲について説明しています。

サポート範囲では，使用できるXMLパーサ・XSLTトランスフォーマの機能，および処理できる文字コードについて説明し，Cosminexus XML Processorの拡張機能について紹介しています。

第2章　JAXPの機能

JAXPを使用してプログラムを作成する際に知っておく必要のあるJAXPの概要について説明しています。

第3章　Cosminexus XML Processorの拡張機能

Cosminexus XML Processorの拡張機能について説明しています。

第4章　フィーチャーおよびプロパティの使用方法

JAXPで規定されているフィーチャーおよびプロパティの使用方法について説明しています。また，Cosminexus XML Processorの拡張機能に関連したフィーチャーおよびプロパティの使用方法についても説明しています。

第5章　プログラムの作成方法

プログラム作成の流れ，使用するパッケージ，およびJAXPの主な機能を用いたサンプルプログラムについて説明しています。

第6章　Cosminexus XML Processor使用時の注意事項

Cosminexus XML Processor使用時の注意事項について説明しています。

第7章　メッセージ

Cosminexus XML Processorで出力されるメッセージの形式，およびメッセージの意味について説明しています。

付録A　バージョン間の差異

Cosminexus XML Processorのバージョン間の相違点について説明しています。

付録B　用語解説

このマニュアルで使用している用語の意味を説明しています。

関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

Cosminexus 概説（3020-3-M01）

Cosminexus リファレンス 定義編（3020-3-M11）

Cosminexus アプリケーション開発ガイド（3020-3-M41）

読書手順

このマニュアルは，利用目的ごとに章を選択して読むことができます。各章の利用目的を次の表に示します。

章タイトル
利用目的

第1章
Cosminexus XML Processorの概要

Cosminexus XML Processorの特長を知りたい

Cosminexus XML ProcessorのCosminexusでの位置づけを知りたい

Cosminexus XML Processorの処理の流れを知りたい

Cosminexus XML Processorで使用できる文字コードなどサポート範囲を知りたい

第2章
JAXPの機能

JAXPの概要について知りたい

JAXPが規定するパッケージとその機能について知りたい

第3章
Cosminexus XML Processorの拡張機能

Shift_JIS切り替え機能について知りたい

XSLTCトランスフォーマ機能について知りたい

高速パース機能について知りたい

第4章
フィーチャーおよびプロパティの使用方法

JAXPで規定されているフィーチャーおよびプロパティの使用方法について知りたい

SAX2のフィーチャーおよびプロパティの使用方法について知りたい

XSLTのフィーチャーの使用方法について知りたい

XML Schemaのプロパティの使用方法について知りたい

Shift_JIS切り替え機能のプロパティの使用方法について知りたい

高速パース機能のプロパティの使用方法について知りたい

第5章
プログラムの作成方法

Cosminexus XML Processorを使用してプログラムを作成する際の作業の流れについて知りたい

プログラム作成時に使用するパッケージについて知りたい

障害対策について知りたい

サンプルプログラムについて知りたい

第6章
Cosminexus XML Processor使用時の注意事項

Cosminexus XML Processorを使用するときの注意事項を知りたい

第7章
メッセージ

メッセージについて知りたい

付録A
バージョン間の差異

Cosminexus XML Processorのバージョン間の相違点について知りたい

付録B
用語解説

このマニュアルの本文中で使用されている用語の意味を知りたい

このマニュアルでの表記

このマニュアルでは，製品名称を次のように表記しています。

このマニュアルでの表記 | 製品名称
Windows Server 2003 | Microsoft(R) Windows Server(TM) 2003，Enterprise Edition Operating System
Microsoft(R) Windows Server(TM) 2003，Standard Edition Operating System
Microsoft(R) Windows Server(TM) 2003 Release2，Enterprise Edition Operating System
Microsoft(R) Windows Server(TM) 2003 Release2，Standard Edition Operating System
Windows Server 2003 x64 Editions | Microsoft(R) Windows Server(TM) 2003，Enterprise x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003，Standard x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003 Release2，Enterprise x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003 Release2，Standard x64 Edition Operating System
Windows Vista | Microsoft(R) Windows Vista(TM), Business Edition Operating System
Microsoft(R) Windows Vista(TM), Enterprise Edition Operating System
Microsoft(R) Windows Vista(TM), Ultimate Edition Operating System
Windows XP | Microsoft(R) Windows(R) XP Professional Operating System

このマニュアルでは，Java(TM)関連の用語を次のように表記しています。

用語 | このマニュアルでの表記
EJB(TM) | EJB
Enterprise JavaBeans(TM) | Enterprise JavaBeans
J2EE(TM) | J2EE
Java(TM) | Java
JSP(TM) | JSP

このマニュアルで使用している略語

このマニュアルでは，次に示す英略語を使用します。

英略語 | 英字の表記
API | Application Programming Interface
DOM | Document Object Model
DTD | Document Type Definition
EJB | Enterprise JavaBeans
IANA | Internet Assigned Numbers Authority
IPF | Itanium(R) Processor Family
J2EE | Java 2 Platform, Enterprise Edition
JAR | Java Archive
JAXP | Java API for XML Processing
JSP | Java Server Pages
SAX | Simple API for XML
SAX1 | Simple API for XML 1.0
SAX2 | Simple API for XML 2.0
SOAP | Simple Object Access Protocol
TrAX | Transformation API for XML
URI | Uniform Resource Identifier
URL | Uniform Resource Locator
W3C | World Wide Web Consortium
XML | Extensible Markup Language
XSL | Extensible Stylesheet Language
XSLT | XSL Transformations

図中で使用する記号

このマニュアルの図中で使用する記号を次のように定義しています。

常用漢字以外の漢字の使用について

このマニュアルでは，常用漢字を使用することを基本としていますが，次に示す用語については，常用漢字以外の漢字を使用しています。

個所（かしょ），桁（けた），汎用（はんよう），必須（ひっす）

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

1.　Cosminexus XML Processorの概要

この章では，Cosminexus XML Processorを使用する前に知っておく必要のあるCosminexus XML Processorの特長，位置づけ，処理の流れ，サポート範囲について説明します。

サポート範囲では，使用できるXMLパーサ・XSLTトランスフォーマの機能，および処理できる文字コードについて説明し，Cosminexus XML Processorの拡張機能について紹介します。

＜この章の構成＞

1.1　Cosminexus XML Processorの特長

1.2　Cosminexus XML Processorの位置づけ

1.3　Cosminexus XML Processorの処理の流れ

1.4　Cosminexus XML Processorのサポート範囲

1.1　Cosminexus XML Processorの特長

Cosminexus XML ProcessorはJava言語用の標準XML APIであるJAXP1.3をサポートし，その実装であるXMLパーサ機能，およびXSLTトランスフォーマ機能などを提供するミドルウェアです。次にCosminexus XML Processorの特長を説明します。

＜この節の構成＞

1.1.1　プラットフォーム間で共通のプログラムを作成できる

1.1.2　JavaプログラムでXML文書を容易に解析できる

1.1.3　JavaプログラムでXML文書を容易に変換できる

1.1.1　プラットフォーム間で共通のプログラムを作成できる

Cosminexus XML ProcessorはJAXP1.3をサポートします。JAXP（Java API for XML Processing）は，米国Sun Microsystems, Inc.が提供するJava言語用の標準XML APIです。

JAXPには，XMLパーサ（DOMパーサ・SAXパーサ），XSLTトランスフォーマなどを生成するAPIが含まれています。XMLパーサ，XSLTトランスフォーマなどの実装やコードに依存しないので，XML文書を処理・操作するプログラムを作成する際に，使用するXMLパーサ，XSLTトランスフォーマなどの実装を意識する必要がありません。そのため，異なるプラットフォーム間で共通のプログラムを作成できます。

1.1.2　JavaプログラムでXML文書を容易に解析できる

Cosminexus XML ProcessorはJAXPの実装を提供しているため，JavaプログラムでXMLパーサを使用できます。

XMLパーサは，XML文書を解析し，解析したデータを扱いやすいデータ構造にして，ユーザプログラムに提供するライブラリです。XML文書を解析する際には，XML文書内のタグや属性などが，XML SchemaやDTDに従っているかどうかも検証できます。

JAXPでXML文書を解析する流れを図1-1に示します。JAXPを使用すると，JavaプログラムでXMLパーサ（SAXパーサ，またはDOMパーサ）を生成して，XML文書を解析できます。

図1-1　JAXPでXML文書を解析する流れ

1.1.3　JavaプログラムでXML文書を容易に変換できる

Cosminexus XML ProcessorはJAXPの実装を提供しているため，JavaプログラムでXSLTトランスフォーマを使用できます。

XSLTはXML文書の構造変換を行うための仕様です。XSLTを実装したものをXSLTトランスフォーマと呼びます。XSLTトランスフォーマはXML文書を読み込み，加工して出力します。XML文書だけでなく，HTML，テキストも出力できます。

JAXPでXML文書を変換する流れを図1-2に示します。JAXPを使用すると，JavaプログラムでXSLTトランスフォーマのXML文書の変換処理を操作できます。

図1-2　JAXPでXML文書を変換する流れ

1.2　Cosminexus XML Processorの位置づけ

この節では，Cosminexus Version 7環境でのCosminexus XML Processorの位置づけを説明します。

Cosminexus XML Processorは，Cosminexus Version 7でXML文書の解析とXSLT変換などを必要とする局面で使用します。また，Cosminexus Version 7のほかの製品と組み合わせることで，SOAP通信基盤などの，昨今必要とされているXML基盤のアプリケーション統合を可能にする環境を構築できます。

Cosminexusの実行環境でのCosminexus XML Processorの位置づけを図1-3に示します。

図1-3　Cosminexus実行環境でのCosminexus XML Processorの位置づけ

1.3　Cosminexus XML Processorの処理の流れ

この節では，Cosminexus XML Processorの処理の流れについて説明します。

Cosminexus XML Processorが提供する機能として，XMLパーサ機能，XSLTトランスフォーマ機能などがあります。Javaで作成されたユーザプログラムでCosminexus XML Processorを使用する場合の，XMLパーサ機能，およびXSLTトランスフォーマ機能の処理の流れを次の図の例で示します。

図1-4　XMLパーサ機能およびXSLTトランスフォーマ機能の処理の流れ

XMLパーサ機能の処理

JAXPによって生成されたCosminexus XML ProcessorのXMLパーサ機能は，XML文書を解析します。

ユーザプログラムは，解析されたXML文書をDOM APIまたはSAXを使用して処理・操作できます。

また，解析されたXML文書は，JAXPに準拠したほかのXMLパーサからも使用できます。

XSLTトランスフォーマ機能の処理

JAXPによって生成されたCosminexus XML ProcessorのXSLTトランスフォーマ機能は，XML文書（XMLパーサで解析されたXML文書を含む）を規則に従ったXML文書，HTMLなどに変換できます。

1.4　Cosminexus XML Processorのサポート範囲

この節では，Cosminexus XML Processorのサポート範囲について説明します。

＜この節の構成＞

1.4.1　使用できるXMLパーサ，XSLTトランスフォーマなどの機能

1.4.2　処理できる文字コード

1.4.3　Shift_JIS切り替え機能

1.4.4　XSLTCトランスフォーマ機能

1.4.5　高速パース機能

1.4.1　使用できるXMLパーサ，XSLTトランスフォーマなどの機能

Cosminexus XML Processorのサポート範囲について説明します。

Cosminexus XML Processorは，JAXP1.3の仕様をサポートしています。JAXPを介して使用されるXMLパーサ機能，XSLTトランスフォーマ機能などは，次に示すJAXPで定義された仕様の範囲内で使用できます。なお，JAXP1.3は，従来のJAXP1.2に対し，若干の仕様差がありますので，ご注意願います。

JAXPで定義された仕様

JSR 206 Java API for XML Processing (JAXP) 1.3

Extensible Markup Language (XML)

Extensible Markup Language (XML) 1.1 [http://www.w3.org/TR/xml11]

Extensible Markup Language (XML) 1.0 (Second Edition) [http://www.w3.org/TR/2000/REC-xml-20001006]

Extensible Markup Language (XML) 1.0 (Second Edition) Errata [http://www.w3.org/XML/xml-V10-2e-errata]

Namespaces in XML

Namespaces in XML 1.1 [http://www.w3.org/TR/xml-names11/]

Namespaces in XML 1.0 [http://www.w3.org/TR/REC-xml-names]

Namespaces in XML 1.0 Errata [http://www.w3.org/XML/xml-names-19990114-errata]

XML Schema

XML Schema Part 1: Structures [http://www.w3.org/TR/xmlschema-1/]

XML Schema Part 1: Structures Errata [http://www.w3.org/2001/05/xmlschema-errata#Errata1]

XML Schema Part 2: Datatypes [http://www.w3.org/TR/xmlschema-2/]

XML Schema Part 2: Datatypes Errata [http://www.w3.org/2001/05/xmlschema-errata#Errata2]

XSL Transformations (XSLT)

XSL Transformations (XSLT) Version 1.0 [http://www.w3.org/TR/xslt]

XML Path Language (XPath)

XML Path Language (XPath) Version 1.0 [http://www.w3.org/TR/xpath]

XML Path Language (XPath) Version 1.0 Errata [http://www.w3.org/1999/11/REC-xpath-19991116-errata]

XML Inclusions (XInclude)

XML Inclusions (XInclude) Version 1.0 [http://www.w3.org/TR/xinclude/]

Document Object Model (DOM) Level 3

Document Object Model (DOM) Level 3 Core [http://www.w3.org/TR/DOM-Level-3-Core]

Document Object Model (DOM) Level 3 Load and Save [http://www.w3.org/TR/DOM-Level-3-LS]

Simple API for XML (SAX)

Simple API for XML (SAX) 2.0.2 (sax2r3) [http://sax.sourceforge.net/]

Simple API for XML (SAX) 2.0.2 (sax2r3) Extensions [http://sax.sourceforge.net/sax2-ext.html]

1.4.2　処理できる文字コード

XML文書の文字コードは，XMLパーサやXSLTトランスフォーマの入出力XML文書に記述するXML宣言のencoding属性（encoding="XXX"のXXXの部分）に指定します。このほかにも，XML文書の入力ソースとなるInputSourceオブジェクトのエンコーディングに指定する方法などがあります。

Cosminexus XML Processorでは，IANAに登録された文字コードのうち次のものを処理できます。文字コードの定義については，IANAのCHARACTER SETSに関するドキュメントを参照してください。

UTF-8

UTF-16

UTF-16BE

UTF-16LE

Shift_JIS※1

Windows-31J

ISO-2022-JP

EUC-JP

US-ASCII

ISO-10646-UCS-2

ISO-10646-UCS-4※2

ISO-8859-1

注※1

Shift_JISを使用するときに適用される文字エンコーディング（SJISまたはMS932）の切り替えについては，「1.4.3　Shift_JIS切り替え機能」を参照してください。

注※2

バイトオーダーがbig-endianまたはlittle-endianであり，かつ，Byte-Order-Markが付加されていない形式だけをサポートします。

注意

上記以外の文字コードを使用した場合の動作は保証しません。

1.4.3　Shift_JIS切り替え機能

Shift_JIS切り替え機能は，XML文書のencoding属性にShift_JISが指定されている場合に，Cosminexus XML Processorが適用する文字エンコーディングを切り替える機能です。文字エンコーディングは，XMLパーサやXSLTトランスフォーマのインスタンスごとに切り替えられます。

XML文書のencodingに指定されている文字エンコーディングは，Cosminexus XML Processorが提供するShift_JIS切り替え機能での指定に従って，SJIS（x-sjis-jdk1.1.7）またはMS932（x-sjis-cp932）に切り替えられます。XML文書のencoding指定と適用される文字エンコーディングとの対応については，「3.1　Shift_JIS切り替え機能」の表3-1を参照してください。

Shift_JIS切り替え機能の使用方法については，「3.1　Shift_JIS切り替え機能」を参照してください。

1.4.4　XSLTCトランスフォーマ機能

XSLTCトランスフォーマは，Cosminexus XML Processorが提供しているXSLTトランスフォーマと同じ機能を持ちながら，XML文書の変換処理の性能を向上させたものです。Cosminexus XML Processorでは，XSLTトランスフォーマとXSLTCトランスフォーマの両方を使用したアプリケーションの開発が可能です。

XSLTCトランスフォーマ機能の使用方法については，「3.2.4　XSLTCトランスフォーマの使用方法」を参照してください。

1.4.5　高速パース機能

高速パース機能とは，事前解析によって解析対象のXML文書の特徴を学習し，以降のXML文書解析時に学習結果を利用することで，解析処理の実行速度を向上させる機能です。

高速パース機能の使用方法については，「3.3　高速パース機能」を参照してください。

2.　JAXPの機能

この章では，JAXPを使用してプログラムを作成する際に知っておく必要のあるJAXPの概要について説明します。

＜この章の構成＞

2.1　JAXPとは

2.2　JAXPが規定するパッケージとその機能

2.1　JAXPとは

JAXP（Java API for XML Processing）は，米国Sun Microsystems, Inc.が提供するJava言語用の標準XML APIです。

Cosminexus XML Processorが提供するJAXPの機能を表2-1に示します。

表2-1　Cosminexus XML Processorが提供するJAXPの機能

機能の名称 | 機能の概要
DOM | XML文書を解析してDOMツリーを生成します。また，生成したDOMツリーを操作します。
SAX | XML文書を解析してSAXのイベントを発生させます。また，発生したイベントを処理します。
XSLT | XML文書を入力し，スタイルシートに基づいて変換し，ほかのXML文書，HTML，テキストとして出力します。
XPath | XPath式を評価します。
Validation | XML文書をスキーマ文書に基づいて検証します。
Datatype | W3C XML Schema 1.0で規定された日付／時刻型データを処理します。

JAXPには，DOMパーサ，SAXパーサ，XSLTトランスフォーマ，XPathオブジェクト，Validationオブジェクト，およびDatatypeオブジェクトを生成するAPIが含まれています。これらのAPIはJAXPの実装に依存しないので，XML文書を処理・操作するプログラムを作成する際に，使用するXMLプロセッサの実装を意識する必要がありません。そのため，異なるプラットフォーム間で共通のプログラムを作成できます。

2.2　JAXPが規定するパッケージとその機能

JAXPは，表2-1に示した機能を利用するためのパッケージを規定しています。JAXPが規定するパッケージに含まれるAPIの概要を表2-2に示します。

表2-2　JAXPが規定するパッケージに含まれるAPIの概要

パッケージの名称 | パッケージに含まれるAPIの概要
javax.xml.parsers | DOMパーサおよびSAXパーサでの解析を行うためのAPI。
javax.xml.transform | XSLTトランスフォーマのためのAPI。
javax.xml.transform.dom | XSLTトランスフォーマの入出力にDOMを使用するためのAPI。
javax.xml.transform.sax | XSLTトランスフォーマの入出力にSAXを使用するためのAPI。
javax.xml.transform.stream | XSLTトランスフォーマの入出力にストリームを使用するためのAPI。
javax.xml.validation | XML文書を検証するためのAPI。
javax.xml.xpath | XPath式を評価するためのAPI。
javax.xml.namespace | XML名前空間を処理するためのAPI。
javax.xml.datatype | W3C XML Schema 1.0で規定された日付／時刻型データを処理するためのAPI。
javax.xml | XML関連の文字列定数。
org.w3c.dom | DOMツリーを操作するAPI。
org.w3c.dom.bootstrap | DOM実装を取得するためのAPI。
org.w3c.dom.ls | XML文書をロードおよび保存するためのAPI。
org.w3c.dom.events | DOMのイベント処理のためのAPI。
org.xml.sax | SAXの基本処理のためのAPI。
org.xml.sax.ext | SAXの拡張処理のためのAPI。
org.xml.sax.helpers | SAXの処理のためのヘルパークラス群。

以降では，それぞれのパッケージの概要について説明します。

＜この節の構成＞

2.2.1　javax.xml.parsersパッケージ

2.2.2　javax.xml.transformパッケージ

2.2.3　javax.xml.transform.domパッケージ

2.2.4　javax.xml.transform.saxパッケージ

2.2.5　javax.xml.transform.streamパッケージ

2.2.6　javax.xml.validationパッケージ

2.2.7　javax.xml.xpathパッケージ

2.2.8　javax.xml.namespaceパッケージ

2.2.9　javax.xml.datatypeパッケージ

2.2.10　javax.xmlパッケージ

2.2.11　org.w3c.domパッケージ

2.2.12　org.w3c.dom.bootstrapパッケージ

2.2.13　org.w3c.dom.lsパッケージ

2.2.14　org.w3c.dom.eventsパッケージ

2.2.15　org.xml.saxパッケージ

2.2.16　org.xml.sax.extパッケージ

2.2.17　org.xml.sax.helpersパッケージ

2.2.1　javax.xml.parsersパッケージ

javax.xml.parsersパッケージは，DOMパーサ，およびSAXパーサでの解析を行うためのAPIを提供するパッケージです。

DOMパーサでの解析を行うアプリケーションの処理の流れを図2-1に，SAXパーサでの解析を行うアプリケーションの処理の流れを図2-2に示します。

図2-1　DOMパーサでの解析を行うアプリケーションの処理の流れ

図2-2　SAXパーサでの解析を行うアプリケーションの処理の流れ

上記のほかに，XMLReaderFactoryクラスを用いてSAXパーサを生成する方法なども可能です。

javax.xml.parsersパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 7. Package javax.xml.parsersを参照してください。

DOMパーサでの解析を行うコーディング例については，「5.4　DOMパーサを使用するサンプルプログラム」を，SAXパーサでの解析を行うコーディング例については，「5.5　SAXパーサを使用するサンプルプログラム」を参照してください。

2.2.2　javax.xml.transformパッケージ

javax.xml.transformパッケージは，XSLTトランスフォーマのためのAPIを提供するパッケージです。

XSLTによる変換を行うアプリケーションの処理の流れを図2-3に示します。

図2-3　XSLTによる変換を行うアプリケーションの処理の流れ

javax.xml.transformパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 8. Package javax.xml.transformを参照してください。

XSLTによる変換を行うコーディング例については，「5.7　XSLTトランスフォーマを使用するサンプルプログラム」を参照してください。

2.2.3　javax.xml.transform.domパッケージ

javax.xml.transform.domパッケージは，XSLTトランスフォーマの入出力にDOMを使用するためのAPIを提供するパッケージです。

javax.xml.transform.domパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 9. Package javax.xml.transform.domを参照してください。

2.2.4　javax.xml.transform.saxパッケージ

javax.xml.transform.saxパッケージは，XSLTトランスフォーマの入出力にSAXを使用するためのAPIを提供するパッケージです。

javax.xml.transform.saxパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 10. Package javax.xml.transform.saxを参照してください。

2.2.5　javax.xml.transform.streamパッケージ

javax.xml.transform.streamパッケージは，XSLTトランスフォーマの入出力にストリームを使用するためのAPIを提供するパッケージです。

javax.xml.transform.streamパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 11.Package javax.xml.transform.streamを参照してください。

2.2.6　javax.xml.validationパッケージ

javax.xml.validationパッケージは，XML文書を検証するためのAPIを提供するパッケージです。

javax.xml.validationパッケージに含まれるクラスを用いてXML文書を検証するアプリケーションの処理の流れを図2-4に示します。

図2-4　javax.xml.validationパッケージに含まれるクラスを用いてXML文書を検証するアプリケーションの処理の流れ

上記のほかに，DOMパーサでの解析と検証を同時に行うことも可能です。また，SAXパーサでの解析と検証を同時に行うことも可能です。

javax.xml.validationパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 14. Package javax.xml.validationを参照してください。

2.2.7　javax.xml.xpathパッケージ

javax.xml.xpathパッケージは，XPath式を評価するためのAPIを提供するパッケージです。

XPath式を評価するアプリケーションの処理の流れを図2-5に示します。

図2-5　XPath式を評価するアプリケーションの処理の流れ

上記のほかに，InputSourceオブジェクトを入力としてXPath式を評価できます。

javax.xml.xpathパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 13. Package javax.xml.xpathを参照してください。

2.2.8　javax.xml.namespaceパッケージ

javax.xml.namespaceパッケージは，XML名前空間を処理するためのAPIを提供するパッケージです。このパッケージは，javax.xml.xpathパッケージおよびjavax.xml.datatypeパッケージに含まれるAPIの引数や戻り値としてだけ使用します。

javax.xml.namespaceパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 12. Package javax.xml.namespaceを参照してください。

2.2.9　javax.xml.datatypeパッケージ

javax.xml.datatypeパッケージは，W3C XML Schema 1.0で規定された日付／時刻型データを処理するためのAPIを提供するパッケージです。

日付／時刻型データを処理するアプリケーションの処理の流れを図2-6に示します。

図2-6　日付／時刻型データを処理するアプリケーションの処理の流れ

javax.xml.datatypeパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 15. Package javax.xml.datatypeを参照してください。

2.2.10　javax.xmlパッケージ

javax.xmlパッケージは，XML関連の文字列定数を定義したパッケージです。

javax.xmlパッケージの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 16. Package javax.xmlを参照してください。

2.2.11　org.w3c.domパッケージ

org.w3c.domパッケージは，DOMツリーを操作するAPIを提供するパッケージです。

DOMツリーを操作するアプリケーションの処理の流れを図2-7に示します。

図2-7　DOMツリーを操作するアプリケーションの処理の流れ

org.w3c.domパッケージの詳細については，W3C Document Object Model (DOM) Level 3 Core Specificationの次に示す個所を参照してください。

1.4 Fundamental Interfaces: Core Module

1.5 Extended Interfaces: XML Module

Appendix G: Java Language Binding G.2 Other Core interfaces

DOMツリーの操作を行うコーディング例は，「5.4　DOMパーサを使用するサンプルプログラム」を参照してください。

2.2.12　org.w3c.dom.bootstrapパッケージ

org.w3c.dom.bootstrapパッケージは，DOM実装を取得するためのAPIを提供するパッケージです。

org.w3c.dom.bootstrapパッケージの詳細については，W3C Document Object Model (DOM) Level 3 Core Specificationの次に示す個所を参照してください。

1.3.7 Bootstrapping

Appendix G: Java Language Binding G.1 Java Binding Extension

2.2.13　org.w3c.dom.lsパッケージ

org.w3c.dom.lsパッケージは，XML文書をロードおよび保存するためのAPIを提供するパッケージです。

XML文書のロード，および保存を行うアプリケーションの処理の流れを図2-8に示します。

図2-8　XML文書のロード，および保存を行うアプリケーションの処理の流れ

org.w3c.dom.lsパッケージの詳細については，W3C Document Object Model (DOM) Level 3 Load and Save Specificationの次に示す個所を参照してください。

1.3 Fundamental Interfaces

Appendix B: Java Language Binding

2.2.14　org.w3c.dom.eventsパッケージ

org.w3c.dom.eventsパッケージは，org.w3c.dom.ls.LSParserインタフェースを実装した非同期LSParserオブジェクトが使用します。Cosminexus XML Processorは非同期LSParserオブジェクトをサポートしないので，このパッケージは使用しません。

org.w3c.dom.eventsパッケージの詳細については，W3C Document Object Model (DOM) Level 3 Events Specificationの次に示す個所を参照してください。

1.6 Basic interfaces

1.7 Event module definitions

Appendix D: Java Language Binding

2.2.15　org.xml.saxパッケージ

org.xml.saxパッケージは，SAXの基本処理のためのAPIを提供するパッケージです。

SAXイベントを処理するアプリケーションの処理の流れを図2-9に示します。

図2-9　SAXイベントを処理するアプリケーションの処理の流れ

org.xml.saxパッケージの詳細については，Simple API for XML (SAX) 2.0.2 (sax2r3)のJavadocを参照してください。

SAXイベントを処理するコーディング例は，「5.5　SAXパーサを使用するサンプルプログラム」を参照してください。

2.2.16　org.xml.sax.extパッケージ

org.xml.sax.extパッケージは，SAXの拡張処理のためのAPIを提供するパッケージです。

org.xml.sax.extパッケージの詳細については，Simple API for XML (SAX) 2.0.2 (sax2r3) ExtensionsのJavadocを参照してください。

2.2.17　org.xml.sax.helpersパッケージ

org.xml.sax.helpersパッケージは，SAXの処理のためのヘルパークラス群を提供するパッケージです。

org.xml.sax.extパッケージの詳細については，Simple API for XML (SAX) 2.0.2 (sax2r3) ExtensionsのJavadocを参照してください。

3.　Cosminexus XML Processorの拡張機能

この章では，Cosminexus XML Processorの拡張機能について説明します。

＜この章の構成＞

3.1　Shift_JIS切り替え機能

3.2　XSLTCトランスフォーマ機能

3.3　高速パース機能

3.4　XML SchemaのエラーメッセージとW3C仕様との対応

3.1　Shift_JIS切り替え機能

Shift_JIS切り替え機能は，XML文書のencoding属性にShift_JISが指定されている場合に，Cosminexus XML Processorが適用する文字エンコーディングをSJIS（x-sjis-jdk1.1.7）またはMS932（x-sjis-cp932）に切り替える機能です。XML文書のencoding指定と適用される文字エンコーディングとの対応を表3-1に示します。

表3-1　XML文書のencoding指定と適用される文字エンコーディングとの対応

XML文書の
encoding指定
Shift_JIS切り替え機能の
指定
適用される
文字エンコーディング

Shift_JIS
指定なし
SJIS（デフォルト）

SJIS
SJIS

MS932
MS932

Windows-31J
－
MS932

（凡例）

－：指定できません。

Shift_JIS切り替え機能の指定は，XMLパーサやXSLTトランスフォーマのインスタンスに特定のプロパティを設定することで行います。プロパティの設定方法については「4.4　Shift_JIS切り替え機能のプロパティの使用方法」を参照してください。

Shift_JIS切り替え機能によるエンコーディング指定は，次のものに対して適用されます。それ以外には適用されません。

入力XML文書のencoding属性

InputSourceオブジェクトに設定されたエンコーディング

スタイルシート内のxsl:output要素のencoding属性に"Shift_JIS"を指定した場合，または，javax.xml.transform.TransformerクラスのsetOutputProperty, setOutputPropertiesメソッドで"Shift_JIS"エンコーディングを指定した場合の，出力文字ストリーム

ただし，次の場合は注意が必要です。

DOMパーサ，SAXパーサの入力ソースにInputSourceオブジェクトを指定する場合
InputSourceオブジェクトにShift_JIS以外のエンコーディングを設定したときには，Shift_JIS切り替え機能は無効になります。また，InputSourceオブジェクトにReaderが設定されているときにも，Shift_JIS切り替え機能は無効になり，Readerのエンコーディングが適用されます。

XSLTまたはXSLTCトランスフォーマの入力ソースにStreamSourceオブジェクトを指定する場合
StreamSourceオブジェクトにReaderが設定されているときには，Shift_JIS切り替え機能は無効になり，Readerのエンコーディングが適用されます。

XSLTまたはXSLTCトランスフォーマの入力ソースにDOMSourceオブジェクトを指定する場合
DOMSourceが生成された時点でXML文書は文字コード変換済みなので，Shift_JIS切り替え機能は無効になります。
Shift_JIS切り替え機能を有効にするためには，DOMSourceに設定するDOMノードの生成時に利用するパーサに対して，あらかじめShift_JIS切り替え機能を指定しておく必要があります。

XSLTまたはXSLTCトランスフォーマの入力ソースにSAXSourceオブジェクトを指定する場合
SAXSourceオブジェクトにInputSourceオブジェクトを設定したときには，1.と同じように注意が必要です。また，SAXSourceオブジェクトにXMLReaderオブジェクトを設定したときには，XMLReaderに指定されたShift_JIS切り替え機能が有効になります。

3.2　XSLTCトランスフォーマ機能

この節では，XSLTCトランスフォーマ機能について説明します。

＜この節の構成＞

3.2.1　XSLTCトランスフォーマの概要

3.2.2　XSLTCトランスフォーマを使ったシステムの開発・運用

3.2.3　XSLTCトランスフォーマで使用するクラス

3.2.4　XSLTCトランスフォーマの使用方法

3.2.1　XSLTCトランスフォーマの概要

XSLTCトランスフォーマは，Cosminexus XML Processorが提供しているXSLTトランスフォーマと同じ機能を持ちながら，XML文書の変換処理の性能を向上させたものです。

XSLTCトランスフォーマは，XSLTスタイルシートを解析するコンパイラと，変換処理を行う実行時プロセッサで構成されます。コンパイラは，XSLTスタイルシートを解析して，高速に変換するためのトランスレットと呼ばれるJavaのバイトコードをメモリ上に生成します。実行時プロセッサは，トランスレットを実行することによって，高速な変換処理を実現します。

XSLTCトランスフォーマとXSLTトランスフォーマは，次に示す点で動作に差異がありますのでご注意ください。

XSLTCトランスフォーマはXSLTトランスフォーマよりもエラーチェックが簡略化されています。

XSLT1.0仕様書で規定されていない部分で，XSLTトランスフォーマとXSLTCトランスフォーマの動作に差異がある場合があります。

XSLTCトランスフォーマを使用することで，XSLTトランスフォーマよりも高い変換処理性能を期待できるケースを次に示します。

＜この項の構成＞

(1)　同一のXSLTスタイルシートを使って複数のXML文書を変換する場合

(1)　同一のXSLTスタイルシートを使って複数のXML文書を変換する場合

同一のXSLTスタイルシートを使って複数のXML文書を変換する場合は，XSLTトランスフォーマ，XSLTCトランスフォーマの両方とも，次に示す1.の方法よりも2.の方法の方が高い変換性能を期待できます。

スタイルシートからTemplatesオブジェクトやTransformerオブジェクトを毎回生成し，これを用いて変換する。

スタイルシートからTemplatesオブジェクトやTransformerオブジェクトを一度だけ生成し，これを再利用して変換する。

XSLTCトランスフォーマで2.の方法を用いると，時間の掛かるトランスレット作成処理は一度だけで済みます。その後，トランスレットを用いた高速な変換が繰り返し実行されるため，XSLTトランスフォーマで2.の方法を用いるよりも高い性能が期待できます。

3.2.2　XSLTCトランスフォーマを使ったシステムの開発・運用

XSLTCトランスフォーマは，XSLTトランスフォーマと比べてエラーチェックが厳密ではありません。XSLTCトランスフォーマを使ったシステムを開発・運用する場合は，次に示すようにXSLTトランスフォーマでの動作確認も実施してください。

XSLTトランスフォーマを使ってスタイルシートのエラーチェックを必ず実施してください。これによって，XSLTCトランスフォーマではチェックできないエラーをチェックすることができ，他システムとの相互運用などで発生する可能性があるエラーチェックの相違を事前にチェックできます。

XSLTCトランスフォーマによる変換結果がXSLTトランスフォーマのものと同じになることを確認することを推奨します。これによって，トランスフォーマ固有の動作が変換結果に影響を及ぼすかどうかを確認でき，他システムとの相互運用などで発生する可能性がある動作の差異を事前にチェックできます。

XSLTトランスフォーマとXSLTCトランスフォーマに関する以下の注意事項も参照してください。

6.5　XSLT/XSLTC共通の注意事項

6.6　XSLTに関する注意事項

6.7　XSLTCに関する注意事項

3.2.3　XSLTCトランスフォーマで使用するクラス

XSLTCトランスフォーマでは，TransformerFactoryXSLTCクラスを使用します。

XSLTCトランスフォーマで使用するクラスについて説明します。

＜この項の構成＞

(1)　TransformerFactoryXSLTCクラス

(1)　TransformerFactoryXSLTCクラス

(a)　説明

XSLTCトランスフォーマのためのTransformerFactoryインスタンスを作成するクラスです。

(b)　パッケージ名およびクラス名

com.cosminexus.jaxp.xsltc.TransformerFactoryXSLTC

(c)　形式

public class TransformerFactoryXSLTC

(d)　メソッド一覧

メソッド名 | 機能
newInstance | TransformerFactoryの新しいインスタンスを作成する

(e)　メソッド詳細

newInstanceメソッド

説明

XSLTCトランスフォーマのための，TransformerFactoryの新しいインスタンスを作成します。

形式

public static TransformerFactory newInstance()

パラメタ

なし

戻り値

TransformerFactoryの新しいインスタンスを返却します。

例外

なし

3.2.4　XSLTCトランスフォーマの使用方法

XSLTCトランスフォーマを使用する場合，XSLTトランスフォーマとはTransformerFactoryインスタンスの生成方法が異なります。XSLTCトランスフォーマでのTransformerFactoryインスタンスの生成方法を次に示します。

その他の使用方法は，XSLTトランスフォーマと同じです。

コード例を次に示します。

3.3　高速パース機能

この節では，高速パース機能について説明します。

＜この節の構成＞

3.3.1　高速パース機能の概要

3.3.2　高速パースのための作業の流れ

3.3.3　事前解析用XML文書の作成

3.3.4　解析結果オブジェクトの生成

3.3.5　解析結果オブジェクトの設定

3.3.6　XML文書の解析

3.3.7　高速パース機能で使用するクラス

3.3.8　高速パース機能を使用するためのコード例

3.3.9　事前解析用XML文書のチューニング

3.3.10　チューニングサマリファイルの詳細

3.3.11　チューニング詳細ファイルの詳細

3.3.12　高速化定義ファイルを使用した高速パース

3.3.13　高速化定義ファイルを使用した高速パースのための作業の流れ

3.3.14　高速化定義ファイルの作成

3.3.15　高速化定義ファイルの設定

3.3.16　事前解析の実行タイミングの設定

3.3.17　XML文書の解析（高速化定義ファイルを使用する場合）

3.3.1　高速パース機能の概要

高速パース機能とは，事前解析によって解析対象のXML文書の特徴を学習し，以降のXML文書解析時に学習結果を利用することで，解析処理の実行速度を向上させる機能です。この機能は，要素や属性の並び順や入れ子関係などの構造的な特徴が一致しているXML文書を，繰り返し解析するシステムに適しています。高速パース機能を利用したシステムを次の図に示します。

図3-1　高速パース機能を利用したシステム

事前解析によって学習したXML文書の特徴は，解析結果オブジェクトに記録します。解析結果オブジェクトを生成して，高速パースを実現する流れを次の図に示します。

図3-2　解析結果オブジェクトを生成して，高速パースを実現する流れ

解析結果オブジェクトの生成
解析結果オブジェクトは，Cosminexus XML Processorが，事前解析用XML文書から要素の並び順，属性の並び順，要素の繰り返しなどの情報を事前解析して生成します。事前解析用XML文書とは，解析対象のXML文書と構造的な特徴が同じXML文書です。
事前解析用XML文書は，ユーザが作成する必要があります。XML文書は一般的に自由な構造を持つため，すべてのXML文書に対応できる解析結果オブジェクトは生成できません。このため，解析対象のXML文書を考慮して，出現頻度の高い文書構造に的を絞って事前解析用XML文書を作成します。

解析結果オブジェクトの利用（高速パースの実現）
解析結果オブジェクトを設定したCosminexus XML ProcessorのXMLパーサ機能で解析を実行すると，解析結果オブジェクトを利用してXML文書を解析します。解析対象のXML文書の構造が，解析結果オブジェクトが記録している文書の構造と一致していれば，解析速度が向上します。

図3-2に示した流れで高速パース機能を使用する場合，ユーザプログラム中に，解析結果オブジェクトを生成してXMLパーサに設定するためのコードを記述する必要があります。ユーザプログラム中にコードを記述して高速パース機能を使用する方法の詳細は，「3.3.2　高速パースのための作業の流れ」を参照してください。

また，ユーザプログラム中にコードを記述しないで高速パース機能を使用することもできます。ユーザプログラム中にコードを記述しないで高速パース機能を使用する方法については，「3.3.12　高速化定義ファイルを使用した高速パース」を参照してください。

ただし，すべての場合について，通常よりも解析速度を向上できることを保証するものではありません。このため，高速パース機能を使用する場合は，実際に解析対象のXML文書を使用して性能を評価することを推奨します。

なお，高速パース機能を使用する場合は，「6.17　高速パース機能に関する注意事項」の内容も確認してください。

参考

高速パース機能を使用することで短縮できる解析時間の割合について

高速パース機能は，SAXパーサでの解析時間を短縮します。また，DOMパーサでの解析は，SAXパーサでの解析とDOMツリーの生成で実装されているため，DOMパーサでの解析時間も短縮できます。ただし，高速パース機能を使用してもDOMツリーの生成時間は変わりません。このため，次の図に示すように，SAXパーサでの解析と比べて，解析時間全体に対して短縮される時間の割合は小さくなります。

また，妥当性検証を行う場合は，解析時間に占める妥当性検証処理の割合が大きいため，短縮される解析時間の割合は相対的に小さくなります。特に，javax.xml.validation.Schemaクラスを使わないで妥当性検証を行う場合は，解析時間はほとんど短縮されません。

小さいサイズのXML文書を解析する場合も，解析時間に占めるXMLパーサの初期化時間の割合が大きいため，短縮される解析時間の割合は相対的に小さくなります。

3.3.2　高速パースのための作業の流れ

ユーザプログラム中にコードを記述して高速パース機能を使用する場合の，ユーザが実施する作業の流れを次に示します。なお，ユーザプログラムを変更しないで高速パース機能を使用する方法については，「3.3.12　高速化定義ファイルを使用した高速パース」を参照してください。

図3-3　高速パース機能を使用するための作業の流れ

各作業について説明します。

事前解析用XML文書の作成
解析対象のXML文書の構造的な特徴を考慮して，事前解析用XML文書を作成します。事前解析用XML文書を作成するための指針については，「3.3.3　事前解析用XML文書の作成」を参照してください。

解析結果オブジェクトの生成
事前解析用XML文書を解析して，解析結果オブジェクトを生成します。解析結果オブジェクトの生成方法については，「3.3.4　解析結果オブジェクトの生成」を参照してください。

解析結果オブジェクトの設定
解析結果オブジェクトをCosminexus XML ProcessorのXMLパーサに設定します。解析結果オブジェクトの設定方法については，「3.3.5　解析結果オブジェクトの設定」を参照してください。

XML文書の解析
解析結果オブジェクトを設定したXMLパーサのparseメソッドで，XML文書を解析します。高速パース機能の対象となるparseメソッドについては，「3.3.6　XML文書の解析」を参照してください。

事前解析用XML文書のチューニング
必要に応じて，事前解析用XML文書のチューニングを行います。チューニング情報を調査して事前解析用XML文書を最適化することで，解析速度をさらに向上できます。事前解析用XML文書のチューニング方法については，「3.3.9　事前解析用XML文書のチューニング」を参照してください。

なお，高速パース機能を使用するためにユーザプログラムに記述するコード例については，「3.3.8　高速パース機能を使用するためのコード例」を参照してください。

3.3.3　事前解析用XML文書の作成

事前解析用XML文書は，解析対象のXML文書の構造的な特徴を考慮して作成します。事前解析用XML文書を作成する際は，次の指針に従ってください。

表3-2　事前解析用XML文書を作成するための指針

項番 | 適用個所 | 指針
1 | XML宣言 | 解析対象のXML文書と一致させる。
2 | 要素と属性 | 解析対象のXML文書に記述されている要素と属性を記述する。
3 | 要素と属性の順序 | 解析対象のXML文書と一致させる。
4 | 要素の入れ子構造 | 解析対象のXML文書と一致させる。
5 | 要素の繰り返し構造 | 繰り返す可能性がある要素は，繰り返しの形で記述する。
6 | テキスト，CDATAセクション，属性値 | 解析対象のXML文書と一致させる必要はない。
7 | DTD，コメント，処理命令 | 記述する必要はない。

それぞれの指針について，具体的な記述例を示して説明します。

＜この項の構成＞

(1)　XML宣言

(2)　要素と属性

(3)　要素と属性の順序

(4)　要素の入れ子構造

(5)　要素の繰り返し構造

(6)　テキスト，CDATAセクション，属性値

(7)　DTD，コメント，処理命令

(1)　XML宣言

解析対象のXML文書にあるXML宣言を，そのまま事前解析用XML文書に記述してください。例を次の図に示します。

図3-4　XML宣言を記述する例（事前解析用XML文書の作成指針）

(2)　要素と属性

解析対象のXML文書にある要素や属性を，事前解析用XML文書に記述します。事前解析用XML文書に記述された要素や属性の情報は，生成される解析結果オブジェクトに記録されます。

解析対象のXML文書間で異なる要素や属性がある場合は，すべての要素や属性を事前解析用XML文書に記述します。例を次の図に示します。

図3-5　要素と属性を記述する例（事前解析用XML文書の作成指針）

ただし，要素中のテキスト，CDATAセクション，および属性値の内容については，解析対象のXML文書と一致させる必要はありません。詳細は，「(6)　テキスト，CDATAセクション，属性値」を参照してください。

なお，次の記述はXML規格では区別されませんが，事前解析では異なる要素として区別されます。

空要素と空要素タグ（例：<a></a>と<a/>）

改行文字・空白文字・タブの数や位置が異なる要素

解析対象のXML文書にこれらの要素がある場合は，事前解析用XML文書には区別して記述する必要があります。例を次の図に示します。

図3-6　空要素と空要素タグを記述する例（事前解析用XML文書の作成指針）

図3-7　改行文字・空白文字の数や位置が異なる要素を記述する例（事前解析用XML文書の作成指針）

(3)　要素と属性の順序

解析対象のXML文書にある要素や属性は，そのままの順序で事前解析用XML文書に記述します。例を次の図に示します。

図3-8　要素と属性を記述する例（事前解析用XML文書の作成指針・要素と属性の順序）

解析対象のXML文書に，同じ組み合わせで順序が異なる要素や属性が記述されている場合は，それらをすべて事前解析用XML文書に記述します。例を次の図に示します。

図3-9　同じ組み合わせで順序が異なる属性を記述する例（事前解析用XML文書の作成指針）

(4)　要素の入れ子構造

解析対象のXML文書にある要素の入れ子構造は，そのままの形で事前解析用XML文書に記述します。例を次の図に示します。

図3-10　要素の入れ子構造を記述する例（事前解析用XML文書の作成指針）

解析対象のXML文書に異なる入れ子構造が複数ある場合は，すべての入れ子構造を事前解析用XML文書に記述します。例を次の図に示します。

図3-11　要素の入れ子構造を複数記述する例（事前解析用XML文書の作成指針）

(5)　要素の繰り返し構造

解析対象のXML文書に繰り返す可能性がある要素がある場合は，繰り返す可能性がある要素を，2回以上連続で事前解析用XML文書に記述します。2回以上連続で記述することで，解析時に，繰り返す可能性がある要素として扱われます。なお，事前解析用XML文書に連続して記述する回数が2回以上であれば，解析対象のXML文書と繰り返しの回数が異なっても，高速パース機能の性能に影響はありません。例を次の図に示します。

図3-12　要素の繰り返し構造を記述する例（事前解析用XML文書の作成指針）

(6)　テキスト，CDATAセクション，属性値

事前解析用XML文書に記述されたテキスト，CDATAセクション，および属性値の内容は，生成される解析結果オブジェクトに影響を与えません。このため，事前解析用XML文書のテキスト，CDATAセクション，および属性値の内容を，解析対象のXML文書と一致させる必要はありません。

また，テキストとCDATAセクションは区別されません（どちらを記述しても，生成される解析結果オブジェクトは同じです）。例を次の図に示します。

図3-13　テキスト，CDATAセクション，属性値を記述する例（事前解析用XML文書の作成指針）

内容を持つ要素（例：<a>12</a>）と空要素（例：<a></a>）は区別されます。また，改行，タブ，空白はテキストなので，これらのテキストを持つ要素（例：<a>［改行］</a>）と空要素（例：<a></a>）は区別されます。このため，解析対象のXML文書にこのような要素が含まれる場合は，事前解析用XML文書にすべての要素を区別して記述する必要があります。例を次の図に示します。

図3-14　空要素を記述する例（事前解析用XML文書の作成指針）

(7)　DTD，コメント，処理命令

DTD，コメント，および処理命令は，解析結果オブジェクトには含まれません。このため，事前解析用XML文書にこれらを記述する必要はありません（記述しても生成される解析結果オブジェクトには影響しません）。例を次の図に示します。

図3-15　DTD，コメント，処理命令に関する例（事前解析用XML文書の作成指針）

ただし，解析対象のXML文書の中から参照されているエンティティを定義しているDTDは，事前解析用XML文書に記述する必要があります。例を次の図に示します。

図3-16　XML文書中から参照されているエンティティの定義を記述する例（事前解析用XML文書の作成指針）

3.3.4　解析結果オブジェクトの生成

事前解析用XML文書を解析して，解析結果オブジェクトであるPreparsedObjectインスタンスを生成します。

解析結果オブジェクト（PreparsedObjectインスタンス）を生成するには，次に示すメソッドを使用します。

com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactoryクラスのnewInstanceメソッド

com.cosminexus.jaxp.preparsedxml.PreparsedObjectクラスのnewPreparsedObjectメソッド

メソッドの詳細は，「3.3.7　高速パース機能で使用するクラス」を参照してください。

解析結果オブジェクトを生成するコードの例を次に示します。

// 事前解析用XML文書を用意する
File xml = new File("learning1.xml");
// エンティティリゾルバを用意する
MyEntityResolver entityResolver = new MyEntityResolver();
// エラーハンドラを用意する
MyErrorHandler errorHandler = new MyErrorHandler();
// PreparsedObjectFactoryを生成する
PreparsedObjectFactory pof = PreparsedObjectFactory.newInstance();
// 名前空間を有効にする
pof.setNamespaceAware(true);
// エンティティリゾルバを設定する
pof.setEntityResolver(entityResolver);
// エラーハンドラを設定する
pof.setErrorHandler(errorHandler);
// 解析結果オブジェクトを生成する
PreparsedObject pobj = pof.newPreparsedObject(xml);

3.3.5　解析結果オブジェクトの設定

解析結果オブジェクトをCosminexus XML ProcessorのXMLパーサに設定します。解析結果オブジェクトは，次に示すXMLパーサに設定できます。

javax.xml.parsers.DocumentBuilder

javax.xml.parsers.SAXParser

org.xml.sax.XMLReader

解析結果オブジェクトをXMLパーサに設定するには，http://cosminexus.com/xml/properties/preparsedobject-loadプロパティを使用します。プロパティの詳細は「4.5　高速パース機能のプロパティの使用方法」を参照してください。

3.3.6　XML文書の解析

解析結果オブジェクトを設定したXMLパーサのparseメソッドで，XML文書を解析します。高速パース機能の対象となるparseメソッドを次の表に示します。

注意

表に記載のないparseメソッドを使用して高速パース機能を使用した場合の動作は保証されません。

表3-3　高速パース機能の対象となるparseメソッド

クラス名 | メソッド名
javax.xml.parsers.DocumentBuilder | parse(File f)
parse(InputSource is)
parse(InputStream is)
parse(InputStream is, String systemId)
parse(String uri)
javax.xml.parsers.SAXParser | parse(File f, DefaultHandler dh)
parse(InputSource is, DefaultHandler dh)
parse(InputStream is, DefaultHandler dh)
parse(InputStream is, DefaultHandler dh, String systemId)
parse(String uri, DefaultHandler dh)
org.xml.sax.XMLReader | parse(InputSource input)
parse(String systemId)

3.3.7　高速パース機能で使用するクラス

高速パース機能を使用する場合，次に示すクラスを使用します。

PreparsedObjectFactory

PreparsedObject

各クラスについて説明します。

＜この項の構成＞

(1)　PreparsedObjectFactoryクラス

(2)　PreparsedObjectクラス

(1)　PreparsedObjectFactoryクラス

(a)　説明

解析結果オブジェクトを生成するためのファクトリクラスです。

PreparsedObjectFactoryクラスは，スレッドセーフではありません。このため，複数のスレッドから同時に同じPreparsedObjectFactoryにアクセスすることはできません。PreparsedObjectFactoryクラスは，スレッド間の競合を避けるため，次のどちらかの方法で使用してください。

各スレッドに一つのPreparsedObjectFactoryインスタンスを持つ。

各スレッドが排他的にPreparsedObjectFactoryインスタンスにアクセスする。

(b)　パッケージ名およびクラス名

com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactory

(c)　形式

public class PreparsedObjectFactory

(d)　メソッド一覧

メソッド名 | 機能
newInstance | 解析結果オブジェクトを生成するためのファクトリを生成して返却する
setNamespaceAware | 事前解析用XML文書を解析する際の名前空間の有効・無効を設定する
setErrorHandler | 事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定する
setEntityResolver | 事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定する
setTuningInfoFlag | チューニング情報を出力するかどうかを設定する
newPreparsedObject | 事前解析用XML文書を解析して，解析結果オブジェクトを生成する

(e)　メソッド詳細

newInstanceメソッド

説明

解析結果オブジェクトを生成するためのファクトリを生成して返却します。

形式

public static PreparsedObjectFactory newInstance()

パラメタ

なし

戻り値

PreparsedObjectFactoryの新しいインスタンスを返却します。

例外

なし

setNamespaceAwareメソッド

説明

事前解析用XML文書を解析する際の名前空間の有効・無効を設定します。

デフォルトでは，falseが設定されています。

形式

public void setNamespaceAware(boolean awareness)

パラメタ

awareness
名前空間の有効・無効を設定します。
true：名前空間を有効にする
false：名前空間を無効にする

戻り値

なし

例外

なし

setErrorHandlerメソッド

説明

newPreparsedObjectメソッドを呼び出す際に，事前解析用XML文書の解析で発生するエラーを受け取るエラーハンドラを設定します。

デフォルトでは，次のエラーハンドラが設定されているように動作します。

class DefaultErrorHandler implements ErrorHandler {
    public void fatalError(SAXParseException e) throws SAXException {
        throw e;
    }
    public void error(SAXParseException e) throws SAXException {
        throw e;
    }
    public void warning(SAXParseException e) throws SAXException {
        // 何もしない
    }
}

形式

public void setErrorHandler(org.xml.sax.ErrorHandler errorHandler)

パラメタ

errorHandler
エラーハンドラを設定します。nullを設定した場合，デフォルトの動作になります。

戻り値

なし

例外

なし

setEntityResolverメソッド

説明

newPreparsedObjectメソッドを呼び出す際に，事前解析用XML文書に含まれるエンティティを解決するためのエンティティリゾルバを設定します。

デフォルトでは，次のエンティティリゾルバが設定されているように動作します。

class DefaultEntityResolver implements EntityResolver {
    InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
        return null; // 常にnullを返す
    }
}

形式

public void setEntityResolver(org.xml.sax.EntityResolver entityResolver)

パラメタ

entityResolver
エンティティリゾルバを設定します。nullを設定した場合，デフォルトの動作になります。

戻り値

なし

例外

なし

setTuningInfoFlagメソッド

説明

チューニング情報を出力するかどうかを設定します。

デフォルトでは，falseが設定されています。

チューニング情報を出力する場合は，このメソッドでtrueを設定し，システムプロパティ「com.cosminexus.jaxp.preparsedxml.tuning.level」にINFOを設定する必要があります。チューニング情報の出力方法の詳細は，「3.3.9(3)　チューニング情報の出力方法」を参照してください。

形式

public void setTuningInfoFlag(boolean state)

パラメタ

state
チューニング情報を出力するかどうかを設定します。
true：チューニング情報を出力する
false：チューニング情報を出力しない

戻り値

なし

例外

なし

newPreparsedObjectメソッド

説明

事前解析用XML文書を解析して，解析結果オブジェクトを生成します。

形式

public PreparsedObject newPreparsedObject(java.io.File xml)

throws IllegalArgumentException, SAXException, IOException

パラメタ

xml
事前解析用XML文書を示すFileオブジェクトを指定します。nullは指定できません。

戻り値

解析結果オブジェクトであるPreparsedObjectの新しいインスタンスを返却します。

例外

IllegalArgumentException
xmlパラメタにnullが指定されているときに発生します。

SAXException
次の場合に発生します。
・処理中にSAXエラーが発生したとき
・XML1.1文書を事前解析しようとしたとき（詳細は「6.17.3　XML1.1に関する注意事項」を参照のこと）

IOException
入出力エラーが発生したときに発生します。

(2)　PreparsedObjectクラス

(a)　説明

解析結果オブジェクトを示すクラスです。

(b)　パッケージ名およびクラス名

com.cosminexus.jaxp.preparsedxml.PreparsedObject

(c)　形式

public class PreparsedObject

(d)　メソッド一覧

メソッド名 | 機能
isNamespaceAware | 事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却する
getErrorHandler | 事前解析用XML文書を解析する際に設定されたエラーハンドラを返却する
getEntityResolver | 事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却する

(e)　メソッド詳細

isNamespaceAwareメソッド

説明

事前解析用XML文書を解析する際に設定された名前空間の有効・無効を返却します。

形式

public boolean isNamespaceAware()

パラメタ

なし

戻り値

true：名前空間が有効である

false：名前空間が無効である

例外

なし

getErrorHandlerメソッド

説明

事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。

形式

public ErrorHandler getErrorHandler()

パラメタ

なし

戻り値

事前解析用XML文書を解析する際に設定されたエラーハンドラを返却します。設定されていない場合は，nullを返却します。

例外

なし

getEntityResolverメソッド

説明

事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。

形式

public EntityResolver getEntityResolver()

パラメタ

なし

戻り値

事前解析用XML文書を解析する際に設定されたエンティティリゾルバを返却します。設定されていない場合は，nullを返却します。

例外

なし

3.3.8　高速パース機能を使用するためのコード例

高速パース機能を使用するために，ユーザプログラムに記述するコードの例を次に示します。

import java.io.File;
import java.io.IOException;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
import org.xml.sax.EntityResolver;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import com.cosminexus.jaxp.preparsedxml.PreparsedObjectFactory;
import com.cosminexus.jaxp.preparsedxml.PreparsedObject;

public class TestSAXParser{
   public static void main(String[] args){
       try{
           // 事前解析用XML文書から解析結果オブジェクトを生成する
           File xml = new File("learning1.xml");
           MyHandler handler = new MyHandler ();
           PreparsedObjectFactory pof = PreparsedObjectFactory.newInstance();
           pof.setNamespaceAware(true);
           pof.setEntityResolver(handler);
           pof.setErrorHandler(handler);
           PreparsedObject pobj = pof.newPreparsedObject(xml);

           // XMLパーサを生成する
           SAXParserFactory spf = SAXParserFactory.newInstance();
           spf.setNamespaceAware(true);
           SAXParser sp = spf.newSAXParser();

           // 解析結果オブジェクトをXMLパーサに設定して，解析を実行する
           sp.setProperty("http://cosminexus.com/xml/properties/preparsedobject-load", pobj);
           sp.parse("SampleSAX.xml", handler);
       } catch(IllegalArgumentException iae){
           System.out.println("MSG : " + iae.getMessage());
       }catch(SAXException se){
           System.out.println("MSG : " + se.getMessage());
       }catch(IOException ioe){
           System.out.println("MSG : " + ioe.getMessage());
       }catch(Exception e){
           e.printStackTrace();
       }
   }
}

class MyHandler extends DefaultHandler {
 //エラーハンドラとエンティティリゾルバの実装を記述
}

3.3.9　事前解析用XML文書のチューニング

事前解析用XML文書のチューニング情報を参照すると，高速パース機能が効果的に動作しているかどうかを調査できます。調査結果を基に事前解析用XML文書を最適化することで，解析速度をさらに向上できます。

事前解析用XML文書のチューニング情報の種類，利用方法，および出力方法について説明します。

＜この項の構成＞

(1)　チューニング情報の種類

(2)　チューニング情報の利用方法

(3)　チューニング情報の出力方法

(1)　チューニング情報の種類

チューニング情報として出力できるファイルは，次の2種類です。

チューニングサマリファイル

チューニング詳細ファイル

これらのファイルには，解析時のマッチング処理についての情報が出力されます。マッチング処理とは，解析時に解析結果オブジェクトの情報を利用できたかどうかを判定する処理のことです。解析結果オブジェクトの情報を利用できた場合を「マッチング処理に成功した」，解析結果オブジェクトの情報を利用できなかった場合を「マッチング処理に失敗した」といいます。

各ファイルについて説明します。

(a)　チューニングサマリファイル

高速パース機能を使用したそれぞれの解析について，マッチング処理の成功率，解析結果オブジェクトの生成に使用した事前解析用XML文書のファイル名，解析対象のXML文書のシステム識別子，チューニング詳細ファイル名などが出力されます。高速パース機能を使用した解析処理で，どのくらい効果的に解析結果オブジェクトが利用されているかを調査できます。

チューニングサマリファイルの詳細は，「3.3.10　チューニングサマリファイルの詳細」を参照してください。

(b)　チューニング詳細ファイル

高速パース機能を使用した一つの解析について，チューニングサマリファイルの情報に加え，マッチング処理の履歴が出力されます。高速パース機能を使用した解析処理で，マッチングに失敗している個所の詳細を調査できます。

チューニング詳細ファイルの詳細は，「3.3.11　チューニング詳細ファイルの詳細」を参照してください。

(2)　チューニング情報の利用方法

チューニング情報の利用方法を次に示します。

チューニング情報を出力する。
チューニング情報の出力方法については，「(3)　チューニング情報の出力方法」を参照してください。

チューニングサマリファイルを参照して，マッチング処理の成功率が低い解析を抽出する。
マッチング処理の成功率が低いということは，解析結果オブジェクトが学習した事前解析用XML文書の構造と解析対象のXML文書の構造の違いが大きく，高速パース機能が効果的に動作していないことを示します。

2.で抽出した各解析について，チューニング詳細ファイルを参照して，マッチングに失敗した個所の履歴を調査する。
マッチングに失敗した個所の履歴を調査して，事前解析用XML文書と解析対象のXML文書の構造が不一致になっている部分を抽出します。

事前解析用XML文書を修正する。
3.の調査結果を基に，事前解析用XML文書を修正します。事前解析用XML文書を作成するための指針については，「3.3.3　事前解析用XML文書の作成」を参照してください。

注意

解析対象のXML文書に記述されているすべての要素や属性が事前解析用XML文書に含まれていても，マッチング処理の成功率が低い場合は，高速パース機能の効果は低くなります。このため，高速パース機能を適用するかどうかは，実際のシステムでの解析結果を見て判断してください。

解析対象のXML文書に記述されているすべての要素や属性が事前解析用XML文書に含まれていても，マッチング処理の成功率が低下する場合の例を次に示します。

この例では，解析対象のXML文書でremark要素が省略されているため，remark要素のマッチング処理は失敗し，チューニング詳細ファイルに失敗履歴が記録されます。この結果，マッチング処理の成功率が低下します。

(3)　チューニング情報の出力方法

チューニング情報を出力するには，Cosminexus XML Processorが規定するシステムプロパティを設定する必要があります。また，PreparsedObjectを使用した高速パースでチューニング情報を出力する場合は，システムプロパティの設定に加え，PreparsedObjectFactoryクラスのsetTuningInfoFlagメソッドでtrueを設定して，PreparsedObjectを生成する必要があります。PreparsedObjectFactoryクラスの詳細は，「3.3.7(1)　PreparsedObjectFactoryクラス」を参照してください。

チューニング情報を出力するためのシステムプロパティ，チューニング情報の出力先，およびエラー発生時の動作について説明します。

注意

チューニング情報を出力した場合は，解析性能が劣化します。このため，チューニング情報は，高速パース機能の性能を評価するときだけ出力してください。

(a)　チューニング情報を出力するためのシステムプロパティ

システムプロパティ名

com.cosminexus.jaxp.preparsedxml.tuning.level

値

OFFまたはこのプロパティを設定していない場合：チューニング情報を出力しない

INFO：チューニング情報を出力する

大文字のINFO以外が指定された場合は，OFFが指定されたものとして扱われます。

(b)　チューニング情報の出力先

チューニング情報は，高速パース機能を利用した解析の終了時に出力されます。チューニング情報の出力先は，次の順序で決定されます。

サーバのログ出力ディレクトリ※/jaxp
注※　「サーバのログ出力ディレクトリ」は，動作しているサーバによって異なります。

J2EEサーバの場合

J2EEサーバのオプション定義ファイル（usrconf.cfg）のejb.server.log.directoryキーに指定されているディレクトリです。デフォルトでは，次のディレクトリとなります。

<Cosminexus作業ディレクトリ>/ejb/<サーバ名称>/logs

Webコンテナサーバの場合

Webコンテナサーバのオプション定義ファイル（usrconf.cfg）のweb.server.log.directoryキーに指定されているディレクトリです。デフォルトでは，次のディレクトリとなります。

<Cosminexusのインストールディレクトリ>/CC/web/containers/<サーバ名称>/logs

user.dirシステムプロパティで取得できるディレクトリ/logs/jaxp

なお，同名のファイルは上書きされます。同名のファイルが存在する場合は，必要に応じて退避してください。ファイル名の規則については，「3.3.10(1)　ファイル名（チューニングサマリファイル）」および「3.3.11(1)　ファイル名（チューニング詳細ファイル）」を参照してください。

また，チューニングサマリファイルおよびチューニング詳細ファイルは自動的には削除されません。必要に応じて削除してください。チューニングサマリファイルのファイルサイズの上限値については，「3.3.10(3)　ファイルサイズの上限値」を参照してください。チューニング詳細ファイルの合計ファイルサイズの上限値については，「3.3.11(3)　合計ファイルサイズの上限値」を参照してください。

(c)　エラー発生時の動作

エラーが発生してチューニング情報を出力できない場合の動作を次に示します。

入出力エラーが発生した場合

チューニングサマリファイル，およびチューニング詳細ファイルを出力する際に入出力エラーが発生した場合は，これらのファイルは出力されません。また，IOException例外が発生します。

XML文書の解析中にエラーが発生した場合

チューニングサマリファイルには情報が出力されません。チューニング詳細ファイルには，エラーが発生する前までの情報が出力されます。

3.3.10　チューニングサマリファイルの詳細

チューニングサマリファイルのファイル名，出力形式，およびファイルサイズの上限値を次に示します。

＜この項の構成＞

(1)　ファイル名（チューニングサマリファイル）

(2)　出力形式（チューニングサマリファイル）

(3)　ファイルサイズの上限値

(1)　ファイル名（チューニングサマリファイル）

csmjaxp_ppxml_summary.csv

(2)　出力形式（チューニングサマリファイル）

出力行
出力内容

1行目
チューニングサマリファイルであることを示すヘッダ

Cosminexus XML Processor  Fast Parse Function  Tuning Summary Information

2行目
チューニングサマリファイルが作成された日時

3行目
4行目以降の行ヘッダ

matching rate,preparsed XML,parsed XML,tuning detail file,date

4行目以降
次の情報がコンマで区切られて出力される。

マッチング処理の成功率
成功回数÷マッチング処理の実行回数×100

事前解析用XMLファイル名※

解析対象のXML文書のシステム識別子※
システム識別子が設定されていない場合は，nullが出力されます。

チューニング詳細ファイルのファイル名※

解析が終了した日時

注※

出力文字列にコンマ（,）が含まれている場合も，そのまま出力されます。

出力例

(3)　ファイルサイズの上限値

1MB※

注※

1MBを超えた場合，それ以降のデータは追記しません。

なお，ファイルサイズの上限値は，次のシステムプロパティで変更できます。

システムプロパティ名

com.cosminexus.jaxp.preparsedxml.tuning.summaryfile_maxsize

値

0以上の整数を指定します。単位はMBです。

このプロパティを設定していない場合，および範囲外の値が指定された場合は，1が設定されます。

3.3.11　チューニング詳細ファイルの詳細

チューニング詳細ファイルのファイル名，出力形式，およびファイルサイズの上限値を次に示します。

＜この項の構成＞

(1)　ファイル名（チューニング詳細ファイル）

(2)　出力形式（チューニング詳細ファイル）

(3)　合計ファイルサイズの上限値

(1)　ファイル名（チューニング詳細ファイル）

csmjaxp_ppxml_{事前解析用XML文書を表す文字列}_{解析対象のXML文書を表す文字列}_{連番}.txt

事前解析用XML文書を表す文字列

事前解析用XML文書の絶対パスの末尾部分から，最後に出現するピリオド（.）以降を除いたものです。

例：事前解析用XML文書の絶対パスが「D:¥home¥xml¥training¥tr1.xml」の場合

事前解析用XML文書を表す文字列は，「tr1」となります。

解析対象のXML文書を表す文字列

解析対象となるXML文書のシステム識別子の末尾部分から，最後に出現するピリオド以降を除いたものです。

例：解析対象のXML文書のシステムIDが「file:/home/xml/data/novelA.xml」の場合

解析対象のXML文書を表す文字列は，「novelA」となります。

連番

00～99の連番です。解析ごとに増加します。

なお，J2EEサーバまたはWebコンテナを再起動すると「00」にリセットされます。また，「99」の次は「00」となります。

(2)　出力形式（チューニング詳細ファイル）

出力行
出力内容

1行目
チューニング詳細ファイルであることを示すヘッダ

Cosminexus XML Processor Fast Parse Function Tuning Detail Information

2行目
チューニング詳細ファイルが作成された日時

3行目
事前解析用XML文書のファイル名

4行目
解析対象のXML文書のシステム識別子
システム識別子が設定されていない場合は，nullが出力されます。

5行目
マッチング情報の開始を示すヘッダ

Matching Information start

6行目以降
マッチング情報（マッチング処理の履歴）

マッチング処理に成功している場合

o:{マッチング処理の対象とした要素・属性}※

マッチング処理に失敗している場合

x:expected {マッチングを試みたパターン}※ but {解析対象XML文書中に出現したパターン}※

最終行から2行目
マッチング情報の終了を示すフッタ

Matching Information end

最終行
マッチング処理の成功率
成功回数÷マッチング処理の実行回数×100（%）
ただし，マッチング処理が1回も実行されなかった場合は，0.0%と出力されます

注※

要素または属性の一部だけが出力されることがあります。また，要素または属性の前後の文字が出力されることがあります。具体例は出力例を参照してください。

出力例

(3)　合計ファイルサイズの上限値

32MB※

注※

出力済みのチューニング詳細ファイルの合計ファイルサイズが32MBを超えた場合，それ以降はチューニング詳細ファイルが生成されません。

例えば，次の1～5の順にチューニング詳細ファイルが生成される場合，4のファイルが生成された時点で1～4の合計ファイルサイズが40MBとなり，32MBを超えているため，5のファイルは生成されません。

csmjaxp_ppxml_trl_novelistA_00.txt（10MB）

csmjaxp_ppxml_trl_novelistB_00.txt（10MB）

csmjaxp_ppxml_trl_novelistC_00.txt（10MB）

csmjaxp_ppxml_trl_novelistD_00.txt（10MB）

csmjaxp_ppxml_trl_novelistE_00.txt（10MB）

なお，合計ファイルサイズの上限値は，次のシステムプロパティで変更できます。

システムプロパティ名

com.cosminexus.jaxp.preparsedxml.tuning.detailfile_totalmaxsize

値

0以上の整数を指定します。単位はMBです。

このプロパティを設定していない場合，および範囲外の値が指定された場合は，32が設定されます。

3.3.12　高速化定義ファイルを使用した高速パース

高速パース機能を使用する場合，通常は，ユーザプログラム中に高速パース機能用のコードを追加する必要があります。一方，ユーザプログラムを変更しないで高速パース機能を使用することもできます。

ユーザプログラムを変更しないで高速パース機能を使用するには，高速化定義ファイルを使用します。高速化定義ファイルとは，解析対象のXML文書と事前解析用XML文書の対応や解析時に名前空間を有効にするかどうかなどを定義するファイルです。システムプロパティに高速化定義ファイルを設定しておくことで，高速化定義ファイルで指定されたXML文書の解析時に，高速パースを適用します。

高速化定義ファイルを使用した高速パースの処理概要を次に示します。

図3-17　高速化定義ファイルを使用した高速パースの処理概要

＜この項の構成＞

(1)　通常の高速パースと高速化定義ファイルを使用した高速パースの相違点

(1)　通常の高速パースと高速化定義ファイルを使用した高速パースの相違点

ユーザプログラム中に高速パース機能用のコードを追加する，通常の高速パースと高速化定義ファイルを使用した高速パースの相違点を次に示します。

表3-4　通常の高速パースと高速化定義ファイルを使用した高速パースの相違点

項番
相違点
通常の高速パース
高速化定義ファイルを使用した高速パース

1
高速パース機能を使用できない場合
なし。
解析対象のXML文書にシステム識別子が設定されていない場合。

2
ユーザが実装したエラーハンドラ，エンティティリゾルバの使用
使用できる。
使用できない。

3
事前解析を実行するタイミング
ユーザプログラム内の任意のタイミング。
次のどちらかを選択する。

J2EEサーバまたはWebコンテナの起動時

高速パースの対象となる各XML文書の初回解析時

4
高速パースを適用した解析を実行するタイミング
ユーザプログラム内の任意のタイミング。
高速化定義ファイルで解析対象として指定したXML文書の解析時。

5
ユーザプログラムの変更
必要。
不要。

3.3.13　高速化定義ファイルを使用した高速パースのための作業の流れ

高速化定義ファイルを使用して高速パース機能を使用する場合の，ユーザが実施する作業の流れを次に示します。

図3-18　高速化定義ファイルを使用して高速パース機能を使用するための作業の流れ

各作業について説明します。

事前解析用XML文書の作成
解析対象のXML文書の構造的な特徴を考慮して，事前解析用XML文書を作成します。これは，通常の高速パースの場合と共通の手順です。事前解析用XML文書を作成するための指針については，「3.3.3　事前解析用XML文書の作成」を参照してください。

高速化定義ファイルの作成
高速パース機能の対象となるXML文書と事前解析用XML文書の対応を定義した高速化定義ファイルを作成します。高速化定義ファイルの作成方法については，「3.3.14　高速化定義ファイルの作成」を参照してください。

高速化定義ファイルの設定
高速化定義ファイルをCosminexus XML Processorが規定するシステムプロパティに設定します。高速化定義ファイルの設定方法については，「3.3.15　高速化定義ファイルの設定」を参照してください。

事前解析の実行タイミングの設定
事前解析用XML文書を解析するタイミングをCosminexusのシステムプロパティで設定します。事前解析の実行タイミングの設定については，「3.3.16　事前解析の実行タイミングの設定」を参照してください。

XML文書の解析
XML文書を解析します。高速化定義ファイルを使用した高速パース機能の対象となるparseメソッドについては，「3.3.17　XML文書の解析（高速化定義ファイルを使用する場合）」を参照してください。

事前解析用XML文書のチューニング
必要に応じて，事前解析用XML文書のチューニングを行います。チューニング情報を調査して事前解析用XML文書を最適化することで，解析速度をさらに向上できます。高速化定義ファイルを使用する場合の，事前解析用XML文書のチューニング方法は，通常の高速パースの場合と同じです。詳細は，「3.3.9　事前解析用XML文書のチューニング」を参照してください。

3.3.14　高速化定義ファイルの作成

高速化定義ファイルの形式について説明します。なお，高速化定義ファイルを作成する際は，「6.17.5　高速化定義ファイルに関する注意事項」も参照してください。

＜この項の構成＞

(1)　形式

(2)　記述例

(1)　形式

高速パース機能の対象となるXML文書名=事前解析用XML文書名[,NS]

（凡例）　　[　]：[　]内の文字列が省略できることを示します。

高速パース機能の対象となるXML文書名

高速パース機能の対象となるXML文書名を絶対URIまたは相対URIで指定します。「:」を記述する場合は，「¥」でエスケープしてください。

ここに指定する文字列は，実際にユーザプログラム上で解析対象のXML文書名として使用する文字列（parseメソッドの引数として指定するURI文字列や，InputSourceに設定するシステム識別子など）と必ず表記を一致させてください。同じファイルを示すURIであっても，表記上の違いがある場合は，高速パースが適用されません。例えば，parseメソッドの引数として使用するURIが「a.xml」である場合に，高速化定義ファイルで「./a.xml=～」と指定しても，高速パースは適用されません。

ただし，parseメソッドの引数としてFileオブジェクトを渡す場合は，必ず「file:」の後ろに絶対パスを連結した文字列を指定してください。この場合に，Fileクラスのコンストラクタ引数に指定した文字列が，Javaのプロパティファイルの中で使用できない文字（日本語や複数バイト文字など）を含むときは，次に示すように¥uxxxxの形式でエスケープする必要があります。

事前解析用XML文書名

事前解析用XML文書名を絶対パスで指定します。絶対パスを指定する際の注意事項については，「6.17.6　絶対パスの指定方法に関する注意事項」を参照してください。

NS　名前空間の設定

事前解析用XML文書を解析する際，名前空間を有効にするかどうかを指定します。名前空間を有効にする場合は，事前解析用XML文書名に続けて，「,NS」と記述してください。「,NS」の記述がない場合は，名前空間を無効にして事前解析を実施します。

なお，「NS」は必ず大文字で指定してください。小文字で指定した場合は，事前解析用XML文書名の一部として扱われます。また，「,NS」は，必ず事前解析用XML文書名の直後に，空白やタブを入れないで指定してください。

なお，高速化定義ファイルはJavaのプロパティファイルであり，基本的な構文規則はプロパティファイルの規則に従います。このため，同一のキーを複数指定した場合は，あとに書かれた指定が有効となります。

(2)　記述例

高速化定義ファイルの記述例を次に示します。

高速パース機能の対象となるXML文書名を相対URIで指定する場合

test.xml=C:/preparse/pre.xml

事前解析時に名前空間を有効にする場合

test.xml=C:/preparse/pre.xml,NS

解析対象のXML文書がFileオブジェクトでXMLパーサに渡される場合

file¥:C¥:/document/example.xml=C:/preparse/pre.xml

高速パース機能の対象となるXML文書名には，「file:」の後ろに絶対パスを連結した文字列を指定します。また，左辺に「:」を記述する場合は，「¥」でエスケープします。

複数のXML文書に同一の事前解析用XML文書を指定する場合

test1.xml=C:/preparse/pre.xml
test2.xml=C:/preparse/pre.xml

3.3.15　高速化定義ファイルの設定

高速化定義ファイルを使用するには，Cosminexus XML Processorが規定するシステムプロパティを設定する必要があります。

高速化定義ファイルを使用するためのシステムプロパティ，およびエラー発生時の動作について説明します。

＜この項の構成＞

(1)　高速化定義ファイルを使用するためのシステムプロパティ

(2)　エラー発生時の動作

(1)　高速化定義ファイルを使用するためのシステムプロパティ

システムプロパティ名

com.cosminexus.jaxp.preparsedxml.config

値

高速化定義ファイルを示す絶対パスを指定します。絶対パスを指定する際の注意事項については，「6.17.6　絶対パスの指定方法に関する注意事項」を参照してください。

値が設定されていない場合は，高速化定義ファイルを使用しません。

なお，このシステムプロパティは，システムで最初に事前解析を実行する際に1度だけ参照されます。このため，事前解析が1度でも実行されたあとにこのシステムプロパティを変更したり，このシステムプロパティに設定されている高速化定義ファイルを更新したりしても，効果はありません。

(2)　エラー発生時の動作

(1)のシステムプロパティに設定した高速化定義ファイルについて入出力エラーが発生した場合は，事前解析の実行タイミングによって次のように動作します。

J2EEサーバまたはWebコンテナサーバの起動時に事前解析を行う場合

標準エラー出力ストリームにエラーメッセージが出力されて，サーバの起動が中止されます。

高速パースの対象となる各XML文書の初回解析時に事前解析を行う場合

IOException例外が発生します。

事前解析の実行タイミングについては，「3.3.16　事前解析の実行タイミングの設定」を参照してください。

3.3.16　事前解析の実行タイミングの設定

高速化定義ファイルを使用した高速パースでは，ユーザプログラムを変更しないため，次のどちらかのタイミングで事前解析用XML文書の解析を実行します。

J2EEサーバまたはWebコンテナサーバの起動時

高速パースの対象となる各XML文書の初回解析時

事前解析の実行タイミング，および事前解析の実行タイミングの設定方法について説明します。

＜この項の構成＞

(1)　事前解析の実行タイミング

(2)　事前解析の実行タイミングの設定方法

(1)　事前解析の実行タイミング

高速化定義ファイルを使用して高速パース機能を使用する場合の，事前解析の実行タイミングについて説明します。

J2EEサーバまたはWebコンテナサーバの起動時

サーバの起動時に，高速化定義ファイルの記述内容に従って，事前解析用XML文書の解析を実行します。事前解析で生成された解析結果オブジェクトは，サーバが終了するまでメモリ上に保持されます。

高速パースの対象となる各XML文書の初回解析時

高速化定義ファイルに指定した高速パース機能の対象となるXML文書を初めて解析するタイミングで，事前解析用XML文書を解析します。このため，高速パースの対象となる各XML文書の初回解析時には，通常の解析時間に加え，解析結果オブジェクトを生成する時間が掛かります。高速パースの対象となるXML文書の2回目以降の解析では，初回に生成した解析結果オブジェクトを利用して高速パースを実現します。

なお，高速パースの対象となる一つのXML文書を複数のスレッドで解析する場合，すべてのスレッドの中で最初に実行された解析で，事前解析を開始します。この場合，事前解析が完了する前に開始された別のスレッドの解析には，高速パースが適用されません。

それぞれの事前解析の実行タイミングを次の図に示します。

図3-19　事前解析の実行タイミング

なお，高速化定義ファイルを使用する場合の事前解析時の外部エンティティ参照は，事前解析のタイミングに関係なく，デフォルトのエンティティリゾルバで解決されます。

(2)　事前解析の実行タイミングの設定方法

事前解析の実行タイミングは，J2EEサーバまたはWebコンテナサーバのユーザプロパティファイル（usrconf.properties）のシステムプロパティで設定します。

事前解析の実行タイミングを設定するためのシステムプロパティ，およびエラー発生時の動作について説明します。

(a)　事前解析の実行タイミングを設定するためのシステムプロパティ

システムプロパティ名

ejbserver.application.InitTermProcessClasses

値

com.cosminexus.jaxp.preparsedxml.PreparsedInitializerを含む
J2EEサーバまたはWebコンテナサーバの起動時に事前解析を実行します。

com.cosminexus.jaxp.preparsedxml.PreparsedInitializerを含まない
高速パースの対象となる各XML文書の初回解析時に事前解析を実行します。

なお，システムプロパティ「ejbserver.application.InitTermProcessClasses」の詳細は，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(b)　エラー発生時の動作

事前解析中にエラーが発生した場合は，事前解析の実行タイミングによって次のように動作します。

J2EEサーバまたはWebコンテナサーバの起動時に事前解析を行う場合

標準エラー出力ストリームにエラーメッセージが出力されて，サーバの起動が中止されます。

高速パースの対象となる各XML文書の初回解析時に事前解析を行う場合

SAXException例外またはIOException例外が発生します。

3.3.17　XML文書の解析（高速化定義ファイルを使用する場合）

高速化定義ファイルを使用する場合は，通常の高速パースを適用していないすべてのXMLパーサが高速パースの対象となります。XMLパーサの入力となるXML文書が，高速化定義ファイルで高速パース機能の対象となるXML文書として指定されている場合に，自動的に高速パースが適用されます。

高速化定義ファイルを使用する場合に高速パース機能の対象となるparseメソッドを次の表に示します。

注意

表に記載のないparseメソッドを使用して解析した場合の動作は保証されません。

表3-5　高速パース機能の対象となるparseメソッド（高速化定義ファイルを使用する場合）

クラス名 | メソッド名
javax.xml.parsers.DocumentBuilder | parse(File f)
parse(InputSource is)※
parse(InputStream is, String systemId)
parse(String uri)
javax.xml.parsers.SAXParser | parse(File f, DefaultHandler dh)
parse(InputSource is, DefaultHandler dh)※
parse(InputStream is, DefaultHandler dh, String systemId)
parse(String uri, DefaultHandler dh)
org.xml.sax.XMLReader | parse(InputSource input)※
parse(String systemId)

注※

InputSourceにシステム識別子が設定されていない場合は，高速パースの対象外となります。

3.4　XML SchemaのエラーメッセージとW3C仕様との対応

Cosminexus XML Processorが出力するエラーメッセージには，W3Cでの仕様個所を特定するための識別子が付いています。これは，スキーマ文書での構文エラーおよびXML文書での検証エラーに対して，一貫したエラー情報を提供するためです。

エラーメッセージに付いている識別子の一覧は，W3CによるXML Schemaの仕様書，Part1: Structure Appendices Cに記載されています。

例えば，スキーマ文書中で要素内のデータ型を整数型（xsd:integer）と規定したにもかかわらず，XML文書で文字列データを指定した場合は，次のメッセージが出力されます。

このメッセージでは，「cvc-datatype-valid.1.2.1」が識別子となります。これは，「Validation Rule: Datatype Valid」の，1.2.1に記載された規則に違反していることを示します。

4.　フィーチャーおよびプロパティの使用方法

この章では，JAXPで規定されているフィーチャーおよびプロパティの使用方法について説明します。また，Cosminexus XML Processorの拡張機能に関連したフィーチャーおよびプロパティの使用方法についても説明します。

＜この章の構成＞

4.1　SAX2のフィーチャーおよびプロパティの使用方法

4.2　XSLTのフィーチャーの使用方法

4.3　XML Schemaのプロパティの使用方法

4.4　Shift_JIS切り替え機能のプロパティの使用方法

4.5　高速パース機能のプロパティの使用方法

4.1　SAX2のフィーチャーおよびプロパティの使用方法

SAX2規格では，フィーチャーおよびプロパティという機構により，SAXパーサのオプション機能を使用する方法を規定しています。

フィーチャー名およびプロパティ名は，SAXパーサのオプション機能に対応したURIです。フィーチャー名，プロパティ名の形式は次のとおりです。

Cosminexus XML ProcessorがサポートしているSAX2のフィーチャーを表4-1に，Cosminexus XML ProcessorがサポートしているSAX2のプロパティを表4-2に示します。

表4-1　Cosminexus XML ProcessorがサポートしているSAX2のフィーチャー一覧

項番 | フィーチャー名
1 | http://xml.org/sax/features/external-general-entities
2 | http://xml.org/sax/features/external-parameter-entities
3 | http://xml.org/sax/features/namespace
4 | http://xml.org/sax/features/namespace-prefixes
5 | http://xml.org/sax/features/use-attributes2
6 | http://xml.org/sax/features/use-locator2
7 | http://xml.org/sax/features/use-entity-resolver2
8 | http://xml.org/sax/features/validation

表4-2　Cosminexus XML ProcessorがサポートしているSAX2のプロパティ一覧

項番 | プロパティ名
1 | http://xml.org/sax/properties/declaration-handler
2 | http://xml.org/sax/properties/lexical-handler

それぞれのフィーチャー，およびプロパティの意味については，Simple API for XML (SAX) 2.0.2 (sax2r3)のJavadocの次に示す個所を参照してください。

org.xml.saxパッケージの "SAX2 Standard Feature Flags"

org.xml.saxパッケージの "SAX2 Standard Handler and Property IDs"

＜この節の構成＞

(1)　SAX2のフィーチャーの使用方法

(2)　SAX2のプロパティの使用方法

(1)　SAX2のフィーチャーの使用方法

SAX2のフィーチャーを設定するには，org.sax.xml.XMLReaderクラスのsetFeatureメソッドを使用します。フィーチャーの設定方法を次に示します。

(2)　SAX2のプロパティの使用方法

SAX2のプロパティを設定するには，org.sax.xml.XMLReaderクラスのsetPropertyメソッドを使用します。プロパティの設定方法を次に示します。

4.2　XSLTのフィーチャーの使用方法

JAXP規格では，フィーチャーという機構により，XSLTトランスフォーマのオプション機能を使用する方法を規定しています。

フィーチャー名は，XSLTトランスフォーマのオプション機能に対応したURIです。JAXPで規定されているXSLTフィーチャー一覧を表4-3に示します。

表4-3　JAXPで規定されているXSLTのフィーチャー一覧

項番 | フィーチャー名
1 | http://javax.xml.transform.stream.StreamSource/feature
2 | http://javax.xml.transform.stream.StreamResult/feature
3 | http://javax.xml.transform.dom.DOMSource/feature
4 | http://javax.xml.transform.dom.DOMResult/feature
5 | http://javax.xml.transform.dom.SAXSource/feature
6 | http://javax.xml.transform.dom.SAXResult/feature
7 | http://javax.xml.transform.sax.SAXTransformerFactory/feature
8 | http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter

それぞれのフィーチャーの意味については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 8. Package javax.xml.transform, Chapter 9. Package javax.xml.transform.dom, Chapter 10. Package javax.xml.transform.saxの各クラスに記載されているFEATUREフィールドを参照してください。

＜この節の構成＞

(1)　XSLTのフィーチャーの使用方法

(1)　XSLTのフィーチャーの使用方法

XSLTのフィーチャーは，設定することはできません。XSLTのフィーチャーを参照するには，javax.xml.transform.TransformerFactoryクラスのgetFeatureメソッドを使用します。getFeatureの結果はすべてtrueになります。

4.3　XML Schemaのプロパティの使用方法

JAXPで規定されたプロパティを設定すると，スキーマ検証に使用するスキーマ言語，およびスキーマ文書を特定できます。プロパティの詳細については，JSR 206 Java API for XML Processing(JAXP) 1.3のChapter 3. Plugability Layer の Properties For Enabling Schema Validationを参照してください。

＜この節の構成＞

4.3.1　DOMパーサに対するXML Schemaのプロパティの設定方法

4.3.2　SAXパーサに対するXML Schemaのプロパティの設定方法

4.3.3　スキーマ文書をXML文書内で設定する方法

4.3.1　DOMパーサに対するXML Schemaのプロパティの設定方法

DOMパーサに対してXML Schemaのプロパティを設定するには，javax.xml.parsers.DocumentBuilderFactoryクラスのsetAttributeメソッドを使用します。プロパティの設定方法を次に示します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

妥当性を検証するように設定します。
javax.xml.parsers.DocumentBuilderFactoryクラス，setValidatingメソッドの引数にtrueを設定します。これによって，XML文書の妥当性検証の機能が有効になります。

スキーマ検証に使用するスキーマ言語を設定します。
javax.xml.parsers.DocumentBuilderFactoryクラス，setAttributeメソッドで，プロパティ文字列"http://java.sun.com/xml/jaxp/properties/schemaLanguage"に対して，XML Schemaの仕様に従って検証を行うことを示す値，"http://www.w3.org/2001/XMLSchema"を設定します。これによって，XML Schemaによる妥当性検証が行われます。

スキーマ文書を特定します。
javax.xml.parsers.DocumentBuilderFactoryクラス，setAttributeメソッドで，プロパティ文字列"http://java.sun.com/xml/jaxp/properties/schemaSource"に対して，検証に使うスキーマ文書を特定します。XML文書内でスキーマ文書を特定する場合，この指定は不要です。

4.3.2　SAXパーサに対するXML Schemaのプロパティの設定方法

SAXパーサに対してXML Schemaのプロパティを設定するには，javax.xml.parsers.SAXParserクラスのsetPropertyメソッドを使用します。プロパティの設定方法を次に示します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

妥当性を検証するように設定します。
javax.xml.parsers.SAXParserFactoryクラス，setValidatingメソッドの引数にtrueを設定します。これによって，XML文書の妥当性検証の機能が有効になります。

XML Schemaの仕様に従うように設定します。
javax.xml.parsers.SAXParserクラス，setPropertyメソッドで，プロパティ文字列"http://java.sun.com/xml/jaxp/properties/schemaLanguage"に対して，XML Schemaの仕様に従って検証を行うことを示す値，"http://www.w3.org/2001/XMLSchema"を設定します。これによって，XML Schemaによる妥当性検証が行われます。

スキーマ文書を特定します。
javax.xml.parsers.SAXParserクラス，setPropertyメソッドで，プロパティ文字列"http://java.sun.com/xml/jaxp/properties/schemaSource"に対して，検証に使うスキーマ文書を指定します。XML文書内でスキーマ文書を特定する場合，この指定は不要です。

4.3.3　スキーマ文書をXML文書内で設定する方法

「4.3.1　DOMパーサに対するXML Schemaのプロパティの設定方法」，および「4.3.2　SAXパーサに対するXML Schemaのプロパティの設定方法」に示した方法では，プロパティを用いてスキーマ文書を設定しています。これに対して，検証の対象となるXML文書内で，直接スキーマ文書を特定する方法もあります。なお，XML文書内でスキーマ文書を特定し，かつ，プロパティを用いてスキーマ文書を特定した場合は，プロパティを使って特定したスキーマ文書が優先されます。

検証の対象となるXML文書内でスキーマ文書を特定するには，xsi:schemaLocation属性またはxsi:noNamespaceSchemaLocation属性を使用します。これらの属性は，特定するスキーマ文書内で，名前空間を定義しているかどうかによって異なります。特定するスキーマ文書の種類と使用する属性の関係を表4-4に示します。

表4-4　特定するスキーマ文書の種類と使用する属性の関係

特定するスキーマ文書の種類 | 使用する属性
名前空間を定義したスキーマ文書 | xsi:schemaLocation
名前空間を定義していないスキーマ文書 | xsi:noNamespaceSchemaLocation

xsi:schemaLocation属性を使用する場合，特定するスキーマ文書内で宣言されている要素や属性の名前空間のURIと，特定するスキーマ文書名を空白で区切って指定します。

xsi:schemaLocation属性，およびxsi:noNamespaceSchemaLocation属性は，どちらも名前空間"http://www.w3.org/2001/XMLSchema-instance"に属します。したがって，これらの属性を使ってスキーマ文書を特定する場合，名前空間"http://www.w3.org/2001/XMLSchema-instance"を宣言する必要があります。

xsi:schemaLocation属性を使用してスキーマ文書を特定する場合の例を次に示します。

xsi:schemaLocation属性の名前空間を宣言します。
xsi:schemaLocation属性を使ってスキーマ文書を特定するために，この属性の名前空間"http://www.w3.org/2001/XMLSchema-instance"を宣言します。

スキーマ文書を特定します。
特定するスキーマ文書内で宣言されている要素や属性の名前空間のURI，およびスキーマ文書名を空白で区切って指定します。
上記の例では，スキーマ文書としてpurchaseOrder.xsdを，スキーマ文書purchaseOrder.xsd内で宣言されている要素や属性の名前空間として"http://www.myshopping.com/schema/purchaseOrder"を指定しています。

4.4　Shift_JIS切り替え機能のプロパティの使用方法

Shift_JIS切り替え機能を使用するためには，Cosminexus XML Processorが独自に規定する次のプロパティを設定する必要があります。

プロパティの値には，文字エンコーディングを設定します。設定するプロパティの値とその意味を表4-5に示します。

表4-5　設定するプロパティの値とその意味（Shift_JIS切り替え機能）

プロパティに設定する値※1 | 意味
SJIS | SJISエンコーディングを適用する。
MS932 | MS932エンコーディングを適用する。
その他の文字列 | 指定を無視する。※2

注※1

指定された文字列は，大文字・小文字を区別しません。

注※2

指定が無視された場合は，直前に指定されたエンコーディングが有効となります。

注意

Shift_JIS切り替え機能の指定がない場合，デフォルトではSJISエンコーディングとなります。

Shift_JIS切り替え機能のプロパティは，次に示すクラス，インタフェースのインスタンスごとに設定する必要があります。Shift_JIS切り替え機能の設定用メソッドを表4-6に示します。表4-6では，プロパティの設定に使用するメソッドを，クラス，インタフェースごとに示しています。

表4-6　Shift_JIS切り替え機能の設定用メソッド

クラス，インタフェース | メソッド
javax.xml.parsers.DocumentBuilderFactory | setAttribute
javax.xml.parsers.SAXParser | setProperty
org.xml.sax.XMLReader | setProperty
javax.xml.parsers.TransformerFactory | setAttribute

DOMパーサ，SAXパーサ，およびXSLTトランスフォーマでShift_JIS切り替え機能を使用する場合について，例を用いて説明します。

＜この節の構成＞

4.4.1　DOMパーサでShift_JIS切り替え機能を使用する方法

4.4.2　SAXパーサでShift_JIS切り替え機能を使用する方法

4.4.3　XSLTトランスフォーマでShift_JIS切り替え機能を使用する方法

4.4.1　DOMパーサでShift_JIS切り替え機能を使用する方法

DOMパーサでShift_JIS切り替え機能を使用する基本的なコーディングの流れについて説明します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

DocumentBuilderFactoryを作成します。
javax.xml.parsers.DocumentBuilderFactoryのstaticメソッドnewInstance()を使用してファクトリを作成します。

Shift_JISをMS932に切り替えます。
DOMパーサの設定用メソッドsetAttributeの第一引数に設定キーhttp://cosminexus.com/xml/properties/shift_jis_mapを，第二引数にMS932を指定します。

DocumentBuilderを作成します。
newDocumentBuilder()メソッドを使用して，DocumentBuilderを作成します。

4.4.2　SAXパーサでShift_JIS切り替え機能を使用する方法

SAXパーサでShift_JIS切り替え機能を使用する基本的なコーディングの流れについて説明します。コーディング例を次に示します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

SAXParserFactoryを作成します。
javax.xml.parsers.SAXParserFactoryのstaticメソッドnewInstance()を使用してファクトリを作成します。

SAXParserを作成します。
newSAXParser()を使用してSAXパーサを作成します。

XMLReaderを取得します。
getXMLReader()を使用してXMLReaderを取得します。

Shift_JISをMS932に切り替えます。
SAXパーサの設定用メソッドsetPropertyの第一引数に設定キーhttp://cosminexus.com/xml/properties/shift_jis_mapを，第二引数にMS932を指定します。

4.4.3　XSLTトランスフォーマでShift_JIS切り替え機能を使用する方法

XSLTトランスフォーマでShift_JIS切り替え機能を使用する基本的なコーディングの流れについて説明します。コーディング例を次に示します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

TransformerFactoryを作成します。
javax.xml.transform.TransformerFactoryのstaticメソッドnewInstance()を使用してファクトリを作成します。

Shift_JISをMS932に切り替えます。
XSLTトランスフォーマファクトリの設定用メソッドsetAttributeの第一引数に設定キーhttp://cosminexus.com/xml/properties/shift_jis_mapを，第二引数にMS932を指定します。

Transformerを作成します。
newTransformer()メソッドを使用して，トランスフォーマを作成します。

4.5　高速パース機能のプロパティの使用方法

高速パース機能を使用するためには，Cosminexus XML Processorが独自に規定する次のプロパティを設定する必要があります。

プロパティの値には，nullまたはPreparsedObjectオブジェクトを設定します。設定するプロパティの値とその意味を表4-7に示します。

表4-7　設定するプロパティの値とその意味（高速パース機能）

プロパティに設定する値※ | 意味
null | 解析時に解析結果オブジェクトを使用しない。
PreparsedObjectオブジェクト | 解析時に，指定した解析結果オブジェクトを使用する。

注※

指定が省略された場合は，nullが指定されたものとして扱います。

また，nullおよびPreparsedObjectオブジェクト以外の値が設定された場合は，プロパティが設定されているXMLパーサによって，次の例外が発生します。

DocumentBuilderFactoryの場合：IllegalArgumentException

SAXParserまたはXMLReaderの場合：SAXNotSupportedException

高速パース機能のプロパティは，次に示すXMLパーサのオブジェクトごとに設定する必要があります。解析結果オブジェクトの設定用メソッドを表4-8に示します。表4-8では，プロパティの設定に使用するメソッドを，クラス，インタフェースごとに示しています。

表4-8　解析結果オブジェクトの設定用メソッド

クラス，インタフェース | メソッド
javax.xml.parsers.DocumentBuilderFactory | setAttribute
javax.xml.parsers.SAXParser | setProperty
org.xml.sax.XMLReader | setProperty

DocumentBuilder，SAXParser，およびXMLReaderで高速パース機能を使用する場合について，例を用いて説明します。

＜この節の構成＞

4.5.1　DocumentBuilderに解析結果オブジェクトを設定する方法

4.5.2　SAXParserに解析結果オブジェクトを設定する方法

4.5.3　XMLReaderに解析結果オブジェクトを設定する方法

4.5.1　DocumentBuilderに解析結果オブジェクトを設定する方法

DocumentBuilderに解析結果オブジェクトを設定する場合のコーディング例を次に示します。

コーディング例について次に説明します。各項番はコーディング例のコメントに記述している番号に対応しています。

解析結果オブジェクトを生成します。
解析結果オブジェクトを生成する方法については，「3.3.4　解析結果オブジェクトの生成」を参照してください。

DocumentBuilderに解析結果オブジェクトを設定します。
解析結果オブジェクトの設定用メソッドsetAttributeの第一引数に設定キーhttp://cosminexus.com/xml/properties/preparsedobject-loadを，第二引数にPreparsedObjectオブジェクトを示すpobjを指定します。

4.5.2　SAXParserに解析結果オブジェクトを設定する方法

SAXParserに解析結果オブジェクトを設定する場合のコーディング例を次に示します。

解析結果オブジェクトを生成します。
解析結果オブジェクトを生成する方法については，「3.3.4　解析結果オブジェクトの生成」を参照してください。

SAXParserに解析結果オブジェクトを設定します。
解析結果オブジェクトの設定用メソッドsetPropertyの第一引数に設定キーhttp://cosminexus.com/xml/properties/preparsedobject-loadを，第二引数にPreparsedObjectオブジェクトを示すpobjを指定します。

4.5.3　XMLReaderに解析結果オブジェクトを設定する方法

XMLReaderに解析結果オブジェクトを設定する場合のコーディング例を次に示します。

解析結果オブジェクトを生成します。
解析結果オブジェクトを生成する方法については，「3.3.4　解析結果オブジェクトの生成」を参照してください。

XMLReaderに解析結果オブジェクトを設定します。
解析結果オブジェクトの設定用メソッドsetPropertyの第一引数に設定キーhttp://cosminexus.com/xml/properties/preparsedobject-loadを，第二引数にPreparsedObjectオブジェクトを示すpobjを指定します。

5.　プログラムの作成方法

この章では，プログラム作成の流れ，使用するパッケージ，およびJAXPの主な機能を用いたサンプルプログラムについて説明します。

＜この章の構成＞

5.1　プログラム作成の流れ

5.2　Cosminexus XML Processorが使用しているパッケージ名

5.3　プログラム実行時のトラブルシュート

5.4　DOMパーサを使用するサンプルプログラム

5.5　SAXパーサを使用するサンプルプログラム

5.6　XML Schemaを使用するサンプルプログラム

5.7　XSLTトランスフォーマを使用するサンプルプログラム

5.8　XSLTCトランスフォーマを使用するサンプルプログラム

5.1　プログラム作成の流れ

Cosminexus XML Processorを使用したプログラムの作成の流れを図5-1に示します。

図5-1　Cosminexus XML Processorを使用したプログラム作成の流れ

＜この節の構成＞

(1)　使用するパッケージを決定する

(2)　ソースファイルを作成する

(3)　実行ファイルを作成する

(4)　プログラムを実行する

(1)　使用するパッケージを決定する

Cosminexus XML Processorは，JAXP仕様で規定されたパッケージ，およびXSLTCトランスフォーマ機能のパッケージを提供しています。プログラムを作成する際には，そのプログラムの用途に適したパッケージを選択してください。

例えば，読み込んだXML文書をメモリ上に保持し，その構造を変更したり，複雑な操作をしたりする必要がある場合はDOMを，対話的にXML文書を解析しながら処理をする場合はSAXを使用します。また，XML文書をHTMLなどに変換する場合は，XSLTを使用します。

JAXP仕様で規定されたパッケージについては，「2.2　JAXPが規定するパッケージとその機能」を，XSLTCトランスフォーマ機能のパッケージについては，「3.2.3　XSLTCトランスフォーマで使用するクラス」を参照してください。

(2)　ソースファイルを作成する

使用するパッケージの決定後，それぞれのパッケージに含まれるクラスやインタフェースを使用して，ソースファイルを作成します。

(3)　実行ファイルを作成する

作成したソースファイルから実行ファイルを作成します。

実行ファイルを作成するには，作成したソースファイルをjavacコマンドでコンパイルし，使用するクラスやインタフェースに必要なライブラリをリンクする必要があります。

(4)　プログラムを実行する

コンパイルしたプログラムを実行します。

5.2　Cosminexus XML Processorが使用しているパッケージ名

Cosminexus XML Processorは，「com.cosminexus.jaxp.」で始まるパッケージ名を使用しています。

注意

ユーザプログラムのパッケージ名が，「com.cosminexus.jaxp.」で始まらないようにしてください。

5.3　プログラム実行時のトラブルシュート

Cosminexus XML Processorを使用したシステムを運用する場合，システム管理者への連絡が必要になるような障害や，対処方法が不明な障害が発生した場合の障害調査資料として，アプリケーションログには次の情報を採取しておく必要があります。

障害発生時時刻

障害発生時の入力となったXML文書名（スキーマ文書名，スタイルシート名含む）

上記のアプリケーションログと同時に，次に示す障害情報を取得した上，システム管理者に連絡してください。

アプリケーションログファイル

障害発生時の入力となったXML文書（スキーマ文書，スタイルシート含む）

障害発生時に出力されたCosminexus XML Processorのエラーメッセージ

サーバ，およびクライアントに設定したシステムプロパティとシステムクラスパス

サーバ，およびクライアントの標準出力と標準エラー出力

Cosminexus Component Container，およびWebサーバのログ

Cosminexus Component Containerで規定する障害時取得情報
Cosminexus Component Containerで規定する障害時取得情報を次に示します。

J2EEサーバのユーザ定義ファイル

J2EEサーバの保守情報

サーバ管理コマンドのユーザ定義ファイル

サーバ管理コマンドの保守情報

J2EEサーバの標準出力，標準エラー出力

J2EEサーバ側のCosminexus TPBrokerのログ

EJBクライアントアプリケーションに設定したシステムプロパティ，およびシステムクラスパス

EJBクライアントアプリケーションの標準出力，標準エラー出力

ネットワークモニタツールで採取したパケットの内容

Cosminexus Component Containerで規定する障害時取得情報の取得方法については，マニュアル「Cosminexus 　アプリケーション開発ガイド」を参照してください。

5.4　DOMパーサを使用するサンプルプログラム

この節では，DOMパーサを使用するサンプルプログラムについて説明します。

サンプルプログラムのインストール先，ファイル名は次のとおりです。

インストール先

Cosminexus XML Processorをインストールしたディレクトリ/samples/DOM

ファイル名

SampleDOM.java

注意

サンプルプログラムの実行ファイルの作成，および実行は，DOMディレクトリ下で行ってください。

＜この節の構成＞

5.4.1　サンプルプログラムの処理

5.4.2　サンプルプログラムの作成の流れ

5.4.3　サンプルプログラム（SampleDOM.java）

5.4.4　サンプルプログラム（SampleDOM.java）の実行結果

5.4.1　サンプルプログラムの処理

サンプルプログラムは次のような処理を行います。

商品の情報について記述したDOMツリーを新規に作成します。

作成したDOMツリーをXML文書に変換・出力します。

出力したXML文書を読み込みます。

読み込んだXML文書から，商品の合計金額を画面に出力します。

5.4.2　サンプルプログラムの作成の流れ

DOMパーサを使用するサンプルプログラムの作成の流れを図5-2に示します。

図5-2　DOMパーサを使用するサンプルプログラムの作成の流れ

Documentオブジェクトを作成します。
Documentオブジェクトを新規に作成します。

Documentノードを作成します。
1.で作成したDocumentオブジェクトを使用してDOMツリーの親となるDocumentノードを作成します。

Elementノードを作成します。
必要となる要素ノードをDocumentノードから作成し，DOMツリーを作成します。

Textノードを作成します。
要素の内容となる文字列を作成します。

5.4.3　サンプルプログラム（SampleDOM.java）

サンプルプログラムを次に示します。

import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.xml.sax.SAXException;
import org.w3c.dom.*;

public class SampleDOM
{
 public static final void main(String[] args)
 {
   try{
     new SampleDOM().CreateXMLFile();
     new SampleDOM().GetStringFromXML();
   }catch(Exception exception){
     exception.printStackTrace();
   }
 }

 //XMLファイルを作成する
 public final void CreateXMLFile()
 {
   try{
     DocumentBuilderFactory dbf =
         DocumentBuilderFactory.newInstance();
     DocumentBuilder db = dbf.newDocumentBuilder();

     Document doc = db.newDocument();
     Element parent = doc.createElement("伝票");

     Element sub = doc.createElement("商品");
     Element leaf1 = doc.createElement("商品名");
     Element leaf2 = doc.createElement("単価");
     Element leaf3 = doc.createElement("数量");
     leaf1.appendChild(doc.createTextNode("テレビ"));
     sub.appendChild(leaf1);
     leaf2.appendChild(doc.createTextNode("15000"));
     sub.appendChild(leaf2);
     leaf3.appendChild(doc.createTextNode("14"));
     sub.appendChild(leaf3);
     parent.appendChild(sub);

     sub = doc.createElement("商品");
     leaf1 = doc.createElement("商品名");
     leaf2 = doc.createElement("単価");
     leaf3 = doc.createElement("数量");
     leaf1.appendChild(doc.createTextNode("ラジオ"));
     sub.appendChild(leaf1);
     leaf2.appendChild(doc.createTextNode("3500"));
     sub.appendChild(leaf2);
     leaf3.appendChild(doc.createTextNode("6"));
     sub.appendChild(leaf3);
     parent.appendChild(sub);

     sub = doc.createElement("商品");
     leaf1 = doc.createElement("商品名");
     leaf2 = doc.createElement("単価");
     leaf3 = doc.createElement("数量");
     leaf1.appendChild(doc.createTextNode("ビデオ"));
     sub.appendChild(leaf1);
     leaf2.appendChild(doc.createTextNode("21000"));
     sub.appendChild(leaf2);
     leaf3.appendChild(doc.createTextNode("4"));
     sub.appendChild(leaf3);
     parent.appendChild(sub);

     doc.appendChild(parent);

     OutputStream os =
         new BufferedOutputStream(
         new FileOutputStream("SampleDOM.xml"));
     TransformerFactory tf =
         TransformerFactory.newInstance();
     Transformer tran = tf.newTransformer();
     tran.setOutputProperty("encoding", "Shift_JIS");
     tran.setOutputProperty("indent", "yes");
     tran.transform(new DOMSource(doc),
         new StreamResult(os));

     os.flush();
     os.close();

   }catch(ParserConfigurationException e){
     e.printStackTrace();
   }catch(TransformerConfigurationException e){
     e.printStackTrace();
   }catch(TransformerException e){
     e.printStackTrace();
   }catch(IOException e){
     e.printStackTrace();
   }
 }

 //CreateXMLFileで作成したXMLファイルからデータを取得して計算する
 public final void GetStringFromXML()
 {
   try{
     int tvPrice = 0;
     int radioPrice = 0;
     int videoPrice = 0;

     DocumentBuilderFactory factory =
         DocumentBuilderFactory.newInstance();
     DocumentBuilder builder = factory.newDocumentBuilder();

     Document doc = builder.parse("SampleDOM.xml");
     Element element1 = doc.getDocumentElement();
     NodeList nodelist1 = element1.getElementsByTagName("商品");

     //商品の数だけループをまわす
     for(int nShouhin = 0 ;
         nShouhin < nodelist1.getLength() ; nShouhin++){
       String str = new java.lang.String();
       int price = 0;
       int number = 0;
       Element element2 = (Element)nodelist1.item(nShouhin);

       //商品名の取得
       NodeList nodelist2 =
           element2.getElementsByTagName("商品名");
       Node node1 = nodelist2.item(0);
       if(node1.getNodeType() == Node.ELEMENT_NODE){
         Element element3 = (Element)node1;
         NodeList nodelist3 = element3.getChildNodes();
         Node node2 = nodelist3.item(0);
         str = node2.getNodeValue();
       }

       //商品名に対する単価の取得
       nodelist2 = element2.getElementsByTagName("単価");
       node1 = nodelist2.item(0);
       if(node1.getNodeType() == Node.ELEMENT_NODE){
         Element element3 = (Element)node1;
         NodeList nodelist3 = element3.getChildNodes();
         Node node2 = nodelist3.item(0);
         price = Integer.parseInt(node2.getNodeValue());
       }

       //商品名に対する数量の取得
       nodelist2 = element2.getElementsByTagName("数量");
       node1 = nodelist2.item(0);
       if(node1.getNodeType() == Node.ELEMENT_NODE){
         Element element3 = (Element)node1;
         NodeList nodelist3 = element3.getChildNodes();
         Node node2 = nodelist3.item(0);
         number = Integer.parseInt(node2.getNodeValue());
       }

       //各商品の小計を計算する
       if(str.equals("テレビ")){
         tvPrice = price * number;
       }else if(str.equals("ラジオ")){
         radioPrice = price * number;
       }else if(str.equals("ビデオ")){
         videoPrice = price * number;
       }
     }
     int sum = tvPrice + radioPrice + videoPrice;
     System.out.println("合計は" + sum + "円です。");
   }catch(ParserConfigurationException e){
     e.printStackTrace();
   }catch(SAXException e){
     e.printStackTrace();
   }catch(IOException e){
     e.printStackTrace();
   }
 }
}

5.4.4　サンプルプログラム（SampleDOM.java）の実行結果

このサンプルプログラムの実行結果は標準出力，およびsampleDOM.xmlに出力されます。

標準出力の内容を次に示します。

$  合計は315000円です。

sampleDOM.xmlに出力される内容を次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<伝票>
<商品>
<商品名>テレビ</商品名>
<単価>15000</単価>
<数量>14</数量>
</商品>
<商品>
<商品名>ラジオ</商品名>
<単価>3500</単価>
<数量>6</数量>
</商品>
<商品>
<商品名>ビデオ</商品名>
<単価>21000</単価>
<数量>4</数量>
</商品>
</伝票>

5.5　SAXパーサを使用するサンプルプログラム

この節では，SAXパーサを使用するサンプルプログラムについて説明します。

サンプルプログラムのインストール先，ファイル名は次のとおりです。

インストール先

Cosminexus XML Processorをインストールしたディレクトリ/samples/SAX

ファイル名

SampleSAX.xml，およびSampleSAX.java

注意

サンプルプログラムの実行ファイルの作成，および実行は，SAXディレクトリ下で行ってください。

＜この節の構成＞

5.5.1　サンプルプログラムの処理

5.5.2　サンプルプログラムの作成の流れ

5.5.3　使用するXML文書（SampleSAX.xml）

5.5.4　サンプルプログラム（SampleSAX.java）

5.5.5　サンプルプログラム（SampleSAX.java）の実行結果

5.5.1　サンプルプログラムの処理

サンプルプログラムは次のような処理を行います。

商品の情報について記述したXML文書を読み込みます。

読み込んだXML文書から，商品の合計金額を画面に出力します。

5.5.2　サンプルプログラムの作成の流れ

SAXパーサを使用するサンプルプログラムの作成の流れを図5-3に示します。

図5-3　SAXパーサを使用するサンプルプログラムの作成の流れ

コールバック用ハンドラを作成します。
SAXパーサを使用して解析を開始すると，SAXパーサからXML文書内の情報が通知されます。これを受け取るための，コールバック用ハンドラを作成します。

コールバック用ハンドラをSAXパーサに登録します。
1.で作成したコールバック用ハンドラをSAXパーサに登録します。

XML文書をSAXパーサに渡して解析します。
XML文書を解析します。

SAXパーサが呼び出すメソッド

SAXパーサが呼び出すメソッドを次の図に示します。

5.5.3　使用するXML文書（SampleSAX.xml）

使用するXML文書を次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<伝票>
 <商品>
   <商品名>テレビ</商品名>
   <単価>15000</単価>
   <数量>14</数量>
 </商品>
 <商品>
   <商品名>ラジオ</商品名>
   <単価>3500</単価>
   <数量>6</数量>
 </商品>
 <商品>
   <商品名>ビデオ</商品名>
   <単価>21000</単価>
   <数量>4</数量>
 </商品>
</伝票>

5.5.4　サンプルプログラム（SampleSAX.java）

サンプルプログラムを次に示します。

import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.xml.sax.SAXException;
import java.io.*;

public class SampleSAX{

 public static final void main(String[] args){
   try{
     SAXParserFactory factory = SAXParserFactory.newInstance();
     SAXParser parser = factory.newSAXParser();
     String xml = "SampleSAX.xml";
     DefaultHandler handler = new EventHandler();

     parser.parse(xml, handler);
   }catch(ParserConfigurationException e){
     e.printStackTrace();
   }catch(IOException e){
     e.printStackTrace();
   }catch(SAXException e){
     e.printStackTrace();
   }
 }
}

//合計金額を計算して出力する
class EventHandler extends DefaultHandler{

 int     tvPrice;        //テレビ単価
 int     radioPrice;     //ラジオ単価
 int     videoPrice;     //ビデオ単価
 int     tvNum;          //テレビ数量
 int     radioNum;       //ラジオ数量
 int     videoNum;       //ビデオ数量
 boolean tvFlag;         //テレビ用フラグ
 boolean radioFlag;      //ラジオ用フラグ
 boolean videoFlag;      //ビデオ用フラグ
 boolean tankaFlag;      //単価タグ内用フラグ
 boolean volFlag;        //数量タグ内用フラグ
 boolean nameFlag;       //商品名タグ内用フラグ

 String str;             //要素内容の文字列
 StringBuffer buffer;    //要素内容の文字列連結用バッファ

 //XMLの開始通知イベント
 public void startDocument(){
   tvPrice = 0;
   radioPrice = 0;
   videoPrice = 0;
   tvNum = 0;
   radioNum = 0;
   videoNum = 0;
   tvFlag = false;
   radioFlag = false;
   videoFlag = false;
   tankaFlag = false;
   volFlag = false;
   nameFlag = false;
 }

 //XMLの終了通知イベント
 public void endDocument(){
   int sum = tvNum * tvPrice + radioNum * radioPrice +
       videoNum * videoPrice;
   System.out.println("合計は" + sum + "円です。");
 }

 //エレメント開始(タグの開始)通知イベント
 public void startElement(String nameSpace, String localName,
     String modName, Attributes attr){
   buffer = new StringBuffer();
   if(modName.equals("単価")){
     tankaFlag = true;
   }
   if(modName.equals("数量")){
     volFlag = true;
   }
   if(modName.equals("商品名")){
     nameFlag = true;
   }
 }

 //エレメント終了(タグの終了)通知イベント
 public void endElement(String nameSpace, String localName,
     String modName){
   str = buffer.toString();
   if(nameFlag == true){
     if(str.equals("テレビ")){
       tvFlag = true;
     }
     if(str.equals("ラジオ")){
       radioFlag = true;
     }
     if(str.equals("ビデオ")){
       videoFlag = true;
     }
   }else if(tvFlag == true){
     if(tankaFlag == true){
       //テレビの単価をセット
       tvPrice = Integer.parseInt(str);
     }else if(volFlag == true){
       //テレビの数量をセット
       tvNum = Integer.parseInt(str);
     }
   }else if(radioFlag == true){
     if(tankaFlag == true){
       //ラジオの単価をセット
       radioPrice = Integer.parseInt(str);
     }else if(volFlag == true){
       //ラジオの数量をセット
       radioNum = Integer.parseInt(str);
     }
   }else if(videoFlag == true){
     if(tankaFlag == true){
       //ビデオの単価をセット
       videoPrice = Integer.parseInt(str);
     }else if(volFlag == true){
       //ビデオの数量をセット
       videoNum = Integer.parseInt(str);
     }
   }
   if(modName.equals("単価")){
     tankaFlag = false;
   }
   if(modName.equals("数量")){
     volFlag = false;
   }
   if(modName.equals("商品名")){
     nameFlag = false;
   }
   if(modName.equals("商品")){
     tvFlag = false;
     radioFlag = false;
     videoFlag = false;
   }
 }

 //文字列通知イベント
 public void characters(char[] ch, int start, int length){
   buffer.append(ch, start, length);
 }
}

5.5.5　サンプルプログラム（SampleSAX.java）の実行結果

このサンプルプログラムの実行結果は標準出力に出力されます。標準出力の内容を次に示します。

$  合計は315000円です。

5.6　XML Schemaを使用するサンプルプログラム

この節では，XML Schemaを使用するサンプルプログラムについて説明します。

サンプルプログラムのインストール先，ファイル名は次のとおりです。

インストール先

Cosminexus XML Processorをインストールしたディレクトリ/samples/XMLSchema

ファイル名

purchaseOrder.xml，purchaseOrder-fail.xml，purchaseOrder.xsd，personalData.xsd，SampleValidateDOM.java，およびSampleValidateSAX.java

注意

サンプルファイルの実行ファイルの作成，および実行は，XMLSchemaディレクトリ下で行ってください。

＜この節の構成＞

5.6.1　サンプルプログラムの処理

5.6.2　使用するXML文書（purchaseOrder.xml，purchaseOrder-fail.xml）

5.6.3　使用するスキーマ文書（purchaseOrder.xsd，personalData.xsd）

5.6.4　DOMパーサを使用する場合のサンプルプログラム

5.6.5　SAXパーサを使用する場合のサンプルプログラム

5.6.6　検証に失敗した場合の実行結果

5.6.1　サンプルプログラムの処理

サンプルプログラムでは，XML文書として作成された注文明細書の妥当性を検証します。注文明細書は顧客の個人データを共有して使用しているため，注文明細書のスキーマ文書は，個人データのスキーマ文書を読み込みます。なお，スキーマ文書はjavaプログラム内で特定します。

XML Schemaを使用するサンプルプログラムの処理の流れを図5-4に示します。

図5-4　XML Schemaを使用するサンプルプログラムの処理の流れ

サンプルプログラムは次のような処理を行います。

スキーマ文書purchaseOrder.xsdを読み込みます。
purchaseOrder.xsdは，商品の注文明細書を規定するスキーマ文書です。

purchaseOrder.xsdは，スキーマ文書personalData.xsdを読み込みます。
personalData.xsdは，注文した顧客の個人データを規定するスキーマ文書で，purchaseOrder.xsdとは異なる対象名前空間を持ちます。

XML文書purchaseOrder.xml（またはpurchaseOrder-fail.xml）を読み込みます。
purchaseOrder.xml，およびpurchaseOrder-fail.xmlは，検証されるXML文書となる注文明細書です。

XML文書の妥当性の検証を行います。
XML文書がスキーマ文書に対して妥当な場合は「Validation OK」，妥当ではない場合はメッセージとともに「Validation NG」と標準出力に表示します。

5.6.2　使用するXML文書（purchaseOrder.xml，purchaseOrder-fail.xml）

Cosminexus XML Processorは，XML Schemaによる検証の対象となるXML文書として，検証に成功するXML文書（purchaseOrder.xml），および検証に失敗するXML文書（purchaseOrder-fail.xml）を提供します。

＜この項の構成＞

(1)　XML文書（purchaseOrder.xml）

(2)　XML文書（purchaseOrder-fail.xml）

(1)　XML文書（purchaseOrder.xml）

検証に成功するXML文書（purchaseOrder.xml）を次に示します。

<?xml version="1.0"?>
<po:purchaseOrder
   xmlns:po="http://www.myshopping.com/schema/purchaseOrder"
   xmlns:psd="http://www.myshopping.com/schema/personalData">
 <po:shipTo age="20">
   <psd:firstName>John</psd:firstName>
   <psd:familyName>Doe</psd:familyName>
   <psd:occupation>accountant</psd:occupation>
   <psd:email>johnD@bpl.com</psd:email>
   <psd:tel>050-1234-1234</psd:tel>
   <psd:address country="US">
     <psd:street>Universal street 100</psd:street>
     <psd:city>Carson</psd:city>
     <psd:state>Nevada</psd:state>
     <psd:zip>10-456</psd:zip>
   </psd:address>
 </po:shipTo>
 <po:billTo age="20">
   <psd:firstName>Jane</psd:firstName>
   <psd:familyName>Doe</psd:familyName>
   <psd:occupation>lawyer</psd:occupation>
   <psd:email>janeD@bpl.com</psd:email>
   <psd:tel>033-1111-2345</psd:tel>
   <psd:address country="US">
     <psd:street>Times Square 555</psd:street>
     <psd:city>New York</psd:city>
     <psd:state>New York</psd:state>
     <psd:zip>155-5600</psd:zip>
   </psd:address>
   <po:credit year="2007" month="10">
     <po:creditHolder>Jane Doe</po:creditHolder>
     <po:creditNumber>1111444422229999</po:creditNumber>
     <po:creditCompany>CardCompanyA</po:creditCompany>
   </po:credit>
 </po:billTo>
 <po:items>
   <po:item>
     <po:productName
         productID="DTPC2000S">DeskTop PC</po:productName>
     <po:quantity>1</po:quantity>
     <po:price>1500</po:price>
     <po:shipDate>2004-05-20</po:shipDate>
   </po:item>
   <po:item>
     <po:productName
         productID="DC500MP">Digital Camera</po:productName>
     <po:quantity>1</po:quantity>
     <po:price>450</po:price>
     <po:shipDate>2004-05-20</po:shipDate>
   </po:item>
   <po:item>
     <po:productName
         productID="LP800S">Printer</po:productName>
     <po:quantity>1</po:quantity>
     <po:price>200</po:price>
     <po:shipDate>2004-05-20</po:shipDate>
   </po:item>
 </po:items>
</po:purchaseOrder>

(2)　XML文書（purchaseOrder-fail.xml）

検証に失敗するXML文書（purchaseOrder-fail.xml）の一部を次に示します。

        :
        :
   <po:credit year="2007" month="10">
     <po:creditHolder>Jane Doe</po:creditHolder>
     <po:creditNumber>111144442222999955</po:creditNumber>
     <po:creditCompany>CardCompanyA</po:creditCompany>
   </po:credit>
        :
        :

このXML文書は，<po:creditNumber>で始まるクレジット番号の定義以外は「5.6.2(1)　XML文書（purchaseOrder.xml）」と同じです。<po:creditNumber>で始まるクレジット番号の値として18桁の数字を使用していますが，サンプルのスキーマ文書ではクレジット番号を16桁で規定しているため，検証時にエラーとなります。

このXML文書を使用した場合の実行結果については「5.6.6　検証に失敗した場合の実行結果」を参照してください。

5.6.3　使用するスキーマ文書（purchaseOrder.xsd，personalData.xsd）

このサンプルでは，スキーマ文書として，purchaseOrder.xsd，およびpersonalData.xsdを使用します。

＜この項の構成＞

(1)　スキーマ文書での各名前空間の関係

(2)　スキーマ文書（purchaseOrder.xsd）

(3)　スキーマ文書（personalData.xsd）

(1)　スキーマ文書での各名前空間の関係

purchaseOrder.xsd，およびpersonalData.xsdでの各名前空間の関係を図5-5に示します。それぞれの矢印は，参照する型定義や要素などが定義された対象名前空間を指しています。

図5-5　スキーマ文書の名前空間の関係

(2)　スキーマ文書（purchaseOrder.xsd）

使用するスキーマ文書（purchaseOrder.xsd）を次に示します。

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.myshopping.com/schema/purchaseOrder"
 xmlns:po="http://www.myshopping.com/schema/purchaseOrder"
 xmlns:psd="http://www.myshopping.com/schema/personalData">

<xsd:import
 namespace="http://www.myshopping.com/schema/personalData"
 schemaLocation="personalData.xsd"/>

<xsd:element name="purchaseOrder" type="po:purchaseOrderType"/>
<xsd:element name="shipTo" type="psd:personalDataType"/>
<xsd:element name="billTo" type="po:billToPersonalDataType"/>
<xsd:element name="items" type="po:itemsType">
 <xsd:key name="productID_unique">
   <xsd:selector xpath="po:item/po:productName"/>
   <xsd:field xpath="@productID"/>
 </xsd:key>
</xsd:element>

<xsd:element name="item" type="po:itemType"/>
<xsd:element name="productName" type="po:productNameType"/>
<xsd:element name="quantity">
 <xsd:simpleType>
   <xsd:restriction base="xsd:positiveInteger">
     <xsd:maxExclusive value="100"/>
   </xsd:restriction>
 </xsd:simpleType>
</xsd:element>

<xsd:element name="price" type="xsd:positiveInteger"/>
<xsd:element name="shipDate" type="xsd:date"/>
<xsd:element name="credit" type="po:creditType"/>
<xsd:element name="creditHolder" type="xsd:string"/>
<xsd:element name="creditNumber">
 <xsd:simpleType>
   <xsd:restriction base="xsd:string">
     <xsd:pattern value="¥d{16}"/>
   </xsd:restriction>
 </xsd:simpleType>
</xsd:element>

<xsd:element name="creditCompany">
 <xsd:simpleType>
   <xsd:restriction base="xsd:string">
     <xsd:enumeration value="CardCompanyA"/>
     <xsd:enumeration value="CardCompanyB"/>
     <xsd:enumeration value="CardCompanyC"/>
     <xsd:enumeration value="CardCompanyD"/>
   </xsd:restriction>
 </xsd:simpleType>
</xsd:element>

<xsd:complexType name="purchaseOrderType">
 <xsd:sequence>
   <xsd:element ref="po:shipTo"/>
   <xsd:element ref="po:billTo"/>
   <xsd:element ref="po:items"/>
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="billToPersonalDataType">
 <xsd:sequence>
   <xsd:group ref="psd:personalDataGroup"/>
   <xsd:element ref="po:credit"/>
 </xsd:sequence>
 <xsd:attributeGroup ref="psd:personalAttributeGroup"/>
</xsd:complexType>

<xsd:complexType name="itemsType">
 <xsd:sequence>
   <xsd:element ref="po:item"
       minOccurs="0" maxOccurs="unbounded"/>
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="itemType">
 <xsd:sequence>
   <xsd:element ref="po:productName"/>
   <xsd:element ref="po:quantity"/>
   <xsd:element ref="po:price"/>
   <xsd:element ref="po:shipDate"/>
 </xsd:sequence>
</xsd:complexType>

<xsd:complexType name="productNameType">
 <xsd:simpleContent>
   <xsd:extension base="xsd:string">
     <xsd:attribute name="productID" type="xsd:string"/>
   </xsd:extension>
 </xsd:simpleContent>
</xsd:complexType>

<xsd:complexType name="creditType">
 <xsd:sequence>
   <xsd:element ref="po:creditHolder"/>
   <xsd:element ref="po:creditNumber"/>
   <xsd:element ref="po:creditCompany"/>
 </xsd:sequence>
 <xsd:attribute name="year" type="po:yearType" use="required"/>
 <xsd:attribute name="month" type="po:monthType" use="required"/>
</xsd:complexType>

<xsd:simpleType name="yearType">
 <xsd:annotation>
   <xsd:documentation>
     Year set from 2004 to 2008
   </xsd:documentation>
 </xsd:annotation>
 <xsd:restriction base="xsd:string">
   <xsd:pattern value="200[4-8]"/>
 </xsd:restriction>
</xsd:simpleType>

<xsd:simpleType name="monthType">
 <xsd:restriction base="xsd:string">
   <xsd:pattern value="0[1-9]|1[0-2]"/>
 </xsd:restriction>
</xsd:simpleType>

</xsd:schema>

(3)　スキーマ文書（personalData.xsd）

使用するスキーマ文書（personalData.xsd）を次に示します。

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://www.myshopping.com/schema/personalData"
 xmlns:psd="http://www.myshopping.com/schema/personalData">

<xsd:element name="personalData" type="psd:personalDataType"/>
<xsd:element name="firstName" type="xsd:string"/>
<xsd:element name="familyName" type="xsd:string"/>
<xsd:element name="occupation" type="xsd:string"/>
<xsd:element name="email" type="xsd:string"/>
<xsd:element name="tel" type="xsd:string"/>
<xsd:element name="address" type="psd:addressType"/>
<xsd:element name="building" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:string"/>

<xsd:complexType name="personalDataType">
 <xsd:group ref="psd:personalDataGroup"/>
 <xsd:attributeGroup ref="psd:personalAttributeGroup"/>
</xsd:complexType>

<xsd:group name="personalDataGroup">
 <xsd:sequence>
   <xsd:element ref="psd:firstName"/>
   <xsd:element ref="psd:familyName"/>
   <xsd:element ref="psd:occupation"/>
   <xsd:element ref="psd:email"/>
   <xsd:element ref="psd:tel"/>
   <xsd:element ref="psd:address"/>
 </xsd:sequence>
</xsd:group>

<xsd:attributeGroup name="personalAttributeGroup">
 <xsd:attribute name="age"
     type="xsd:positiveInteger" use="optional"/>
 <xsd:attribute name="company"
     type="xsd:string" use="optional"/>
 <xsd:attribute name="department"
     type="xsd:string" use="optional"/>
 <xsd:attribute name="title"
     type="xsd:string" use="optional"/>
 <xsd:attribute name="fax"
     type="xsd:string" use="optional"/>
</xsd:attributeGroup>

<xsd:complexType name="addressType">
 <xsd:sequence>
   <xsd:element ref="psd:building" minOccurs="0"/>
   <xsd:element ref="psd:street"/>
   <xsd:element ref="psd:city"/>
   <xsd:element ref="psd:state"/>
   <xsd:element ref="psd:zip"/>
 </xsd:sequence>
 <xsd:attribute name="country" type="xsd:string"
     use="optional" default="US"/>
</xsd:complexType>
</xsd:schema>

5.6.4　DOMパーサを使用する場合のサンプルプログラム

DOMパーサを使用してXML文書を検証する場合のサンプルプログラム，サンプルプログラムの実行方法，および実行結果について説明します。

＜この項の構成＞

(1)　サンプルプログラム（SampleValidateDOM.java）

(2)　サンプルプログラムの実行結果

(1)　サンプルプログラム（SampleValidateDOM.java）

DOMパーサを使用する場合のサンプルプログラム（SampleValidateDOM.java）を次に示します。

import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import java.io.*;

public class SampleValidateDOM implements ErrorHandler{
 public static final void main(String[] argv){
   if (argv.length != 2) {
     System.out.println(
       "Usage: java SampleValidateDOM <xml_file> <schema_file>");
     System.exit(1);
   }

   try{
     DocumentBuilderFactory dbf =
       DocumentBuilderFactory.newInstance();
     dbf.setNamespaceAware(true);
     dbf.setValidating(true);
     dbf.setAttribute(
       "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
       "http://www.w3.org/2001/XMLSchema");
     dbf.setAttribute(
       "http://java.sun.com/xml/jaxp/properties/schemaSource",
       argv[1]);

     DocumentBuilder db = dbf.newDocumentBuilder();
     db.setErrorHandler(new SampleValidateDOM());
     Document doc = db.parse(argv[0]);
     System.out.println("Validation OK");

   }catch(ParserConfigurationException e){
     e.printStackTrace();
   }catch(SAXParseException e){
     e.printStackTrace();
   }catch(SAXException e){
     System.out.println("Validation NG: " + e.getMessage());
   }catch(IOException e){
     e.printStackTrace();
   }
 }

 public void warning(SAXParseException exception)
     throws SAXException {
   System.out.println("**Parsing Warning**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
 }

 public void error(SAXParseException exception)
     throws SAXException {
   System.out.println("**Parsing Error**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
   throw new SAXException("Error encountered");
 }

 public void fatalError(SAXParseException exception)
     throws SAXException {
   System.out.println("**Parsing Fatal Error**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
   throw new SAXException("Fatal Error encountered");
 }
}

注意

サンプルプログラムは，SampleValidateDOM.javaがあるディレクトリで実行します。

(2)　サンプルプログラムの実行結果

このサンプルプログラムの実行結果は標準出力に出力されます。標準出力の内容を次に示します。

Validation OK

5.6.5　SAXパーサを使用する場合のサンプルプログラム

SAXパーサを使用してXML文書を検証する場合のサンプルプログラム，サンプルプログラムの実行方法，および実行結果について説明します。

＜この項の構成＞

(1)　サンプルプログラム（SampleValidateSAX.java）

(2)　サンプルプログラムの実行結果

(1)　サンプルプログラム（SampleValidateSAX.java）

SAXパーサを使用する場合のサンプルプログラム（SampleValidateSAX.java）を次に示します。

import javax.xml.parsers.*;
import org.xml.sax.*;
import java.io.*;

public class SampleValidateSAX implements ErrorHandler{
 public static final void main(String[] argv){
   if (argv.length != 2) {
     System.out.println(
       "Usage: java SampleValidateSAX <xml_file> <schema_file>");
     System.exit(1);
   }

   try{
     SAXParserFactory spf = SAXParserFactory.newInstance();
     spf.setNamespaceAware(true);
     spf.setValidating(true);
     SAXParser sp = spf.newSAXParser();
     sp.setProperty(
       "http://java.sun.com/xml/jaxp/properties/schemaLanguage",
       "http://www.w3.org/2001/XMLSchema");
     sp.setProperty(
       "http://java.sun.com/xml/jaxp/properties/schemaSource",
       argv[1]);

     XMLReader reader = sp.getXMLReader();
     reader.setErrorHandler(new SampleValidateSAX());
     reader.parse(argv[0]);
     System.out.println("Validation OK");

   }catch(ParserConfigurationException e){
     e.printStackTrace();
   }catch(SAXParseException e){
     e.printStackTrace();
   }catch(SAXException e){
     System.out.println("Validation NG: " + e.getMessage());
   }catch(IOException e){
     e.printStackTrace();
   }
 }

 public void warning(SAXParseException exception)
     throws SAXException {
   System.out.println("**Parsing Warning**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
 }

 public void error(SAXParseException exception)
     throws SAXException{
   System.out.println("**Parsing Error**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
   throw new SAXException("Error encountered");
 }

 public void fatalError(SAXParseException exception)
     throws SAXException {
   System.out.println("**Parsing Fatal Error**¥n" +
       "  Line:    " +
       exception.getLineNumber() + "¥n" +
       "  URI:     " +
       exception.getSystemId() + "¥n" +
       "  Message: " +
       exception.getMessage());
   throw new SAXException("Fatal Error encountered");
 }
}

注意

サンプルプログラムは，SampleValidateSAX.javaがあるディレクトリで実行します。

(2)　サンプルプログラムの実行結果

このサンプルプログラムの実行結果は標準出力に出力されます。標準出力の内容を次に示します。

Validation OK

5.6.6　検証に失敗した場合の実行結果

サンプルのXML文書purchaseOrder-fail.xmlを対象に検証を行うと，検証に失敗します。サンプルファイルの実行方法は，「5.6.4　DOMパーサを使用する場合のサンプルプログラム」，および「5.6.5　SAXパーサを使用する場合のサンプルプログラム」と同じです。

検証に失敗した場合，エラーが標準出力に出力されます。標準出力の内容を次に示します。

**Parsing Error**
 Line:    33
 URI:     file:///サンプルが格納されたディレクトリ/purchaseOrder-fail.xml
 Message: KECX06063-E cvc-pattern-valid: Value '111144442222999955' is not facet-valid with respect to pattern '¥d{16}' for type '#AnonType_creditNumber'.
Validation NG: Error encountered

5.7　XSLTトランスフォーマを使用するサンプルプログラム

この節では，XSLTトランスフォーマを使用するサンプルプログラムについて説明します。

サンプルプログラムのインストール先，ファイル名は次のとおりです。

インストール先

Cosminexus XML Processorをインストールしたディレクトリ/samples/XSLT

ファイル名

SampleXSLT.xml，SampleXSLT.xsl，およびSampleXSLT.java

注意

サンプルプログラムの実行ファイルの作成，および実行は，XSLTディレクトリ下で行ってください。

＜この節の構成＞

5.7.1　サンプルプログラムの処理

5.7.2　サンプルプログラムの作成の流れ

5.7.3　使用するXML文書（SampleXSLT.xml）

5.7.4　使用するXSLファイル（SampleXSLT.xsl）

5.7.5　サンプルプログラム（SampleXSLT.java）

5.7.6　サンプルプログラム（SampleXSLT.java）の実行結果

5.7.1　サンプルプログラムの処理

サンプルプログラムは次のような処理を行います。

変換元のXML文書を読み込みます。

1.で読み込んだXML文書をHTMLデータへ変換します。

5.7.2　サンプルプログラムの作成の流れ

XSLTトランスフォーマを使用するサンプルプログラムの作成の流れを図5-6に示します。

図5-6　XSLTトランスフォーマを使用するサンプルプログラムの作成の流れ

TransformerFactoryインスタンスを取得します。
メソッドnewInstanceでTransformerFactoryインスタンスを取得します。

Transformerオブジェクトを作成します。

HTMLデータへの変換を行います。
Transformerオブジェクトを使用してXML文書をHTMLデータに変換します。

5.7.3　使用するXML文書（SampleXSLT.xml）

サンプルプログラムが読み込むXML文書を次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="SampleXSLT.xsl" ?>
<START>
 <伝票>
   <商品>
     <商品名>テレビ</商品名>
     <単価>15000</単価>
     <数量>14</数量>
   </商品>
   <商品>
     <商品名>ラジオ</商品名>
     <単価>3500</単価>
     <数量>6</数量>
   </商品>
   <商品>
     <商品名>ビデオ</商品名>
     <単価>21000</単価>
     <数量>4</数量>
   </商品>
 </伝票>
</START>

5.7.4　使用するXSLファイル（SampleXSLT.xsl）

サンプルプログラムが読み込むXSLファイルを次に示します。

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   version="1.0">
 <xsl:output method="html" indent="yes" encoding="Shift_JIS"/>

 <xsl:template match="/">
   <xsl:apply-templates />
 </xsl:template>

 <!-- STARTをルートとして変換を開始する -->
 <xsl:template match="START">
   <HTML>
     <HEAD>
       <TITLE>XMLをHTMLのテーブルで表示する</TITLE>
     </HEAD>
     <BODY BGCOLOR="#C0C0C0">
     <FONT SIZE="5">発注伝票</FONT>
     <TABLE BORDER="2">
     <TR><TH>商品名</TH><TH>単価</TH>
         <TH>数量</TH><TH>小計</TH></TR>
     <xsl:apply-templates />
     <TR><TH>合計</TH><TD>&#160;</TD><TD>&#160;</TD>
     <TD ALIGN="RIGHT"><xsl:value-of
         select="(//商品[1]/単価 * //商品[1]/数量 +
                  //商品[2]/単価 * //商品[2]/数量 +
                  //商品[3]/単価 * //商品[3]/数量)" /></TD></TR>
     </TABLE>
     </BODY>
   </HTML>
 </xsl:template>

 <xsl:template match="伝票">
   <xsl:apply-templates />
 </xsl:template>

 <!-- 1商品で1行を作成するし，最後に小計を出力する -->
 <xsl:template match="商品">
   <TR><xsl:apply-templates />
   <TD ALIGN="RIGHT">
       <xsl:value-of select="number(単価)*number(数量)" />
   </TD></TR>
 </xsl:template>

 <!-- 商品名を出力する -->
 <xsl:template match="商品名">
   <TD><xsl:value-of select="."/></TD>
 </xsl:template>

 <!-- 単価を出力する -->
 <xsl:template match="単価">
   <TD ALIGN="RIGHT"><xsl:value-of select="."/></TD>
 </xsl:template>

 <!-- 数量を出力する -->
 <xsl:template match="数量">
   <TD ALIGN="RIGHT"><xsl:value-of select="."/></TD>
 </xsl:template>
</xsl:stylesheet>

5.7.5　サンプルプログラム（SampleXSLT.java）

サンプルプログラムを次に示します。

import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.parsers.*;

public class SampleXSLT{
 public static void main(String[] args){

   try{
     File file = new File(args[0]);

     //XMLファイルの読み込み
     Source source  = new StreamSource(file);
     Result result = new StreamResult(System.out);
     TransformerFactory factory =
         TransformerFactory.newInstance();

     //HTMLファイルへの変換
     Source style = factory.getAssociatedStylesheet(source,
         null, null, null);

     Transformer transformer = factory.newTransformer(style);
     transformer.transform(source, result);

   }catch(TransformerConfigurationException e){
     e.printStackTrace();
   }catch(TransformerException e){
     e.printStackTrace();
   }
 }
}

注意

サンプルプログラムは，SampleXSLT.javaがあるディレクトリで実行します。

5.7.6　サンプルプログラム（SampleXSLT.java）の実行結果

このサンプルプログラムの実行結果は標準出力に出力されます。標準出力の内容を次に示します。

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>XMLをHTMLのテーブルで表示する</TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT SIZE="5">発注伝票</FONT>
<TABLE BORDER="2">
<TR>
<TH>商品名</TH><TH>単価</TH><TH>数量</TH><TH>小計</TH>
</TR>
<TR>
<TD>テレビ</TD>
     <TD ALIGN="RIGHT">15000</TD>
     <TD ALIGN="RIGHT">14</TD>
   <TD ALIGN="RIGHT">210000</TD>
</TR>
<TR>
<TD>ラジオ</TD>
     <TD ALIGN="RIGHT">3500</TD>
     <TD ALIGN="RIGHT">6</TD>
   <TD ALIGN="RIGHT">21000</TD>
</TR>
<TR>
<TD>ビデオ</TD>
     <TD ALIGN="RIGHT">21000</TD>
     <TD ALIGN="RIGHT">4</TD>
   <TD ALIGN="RIGHT">84000</TD>
</TR>
<TR>
<TH>合計</TH><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="RIGHT">315000</TD>
</TR>
</TABLE>
</BODY>
</HTML>

5.8　XSLTCトランスフォーマを使用するサンプルプログラム

XSLTCトランスフォーマを使用するプログラムについて説明します。

ここでは，「5.7　XSLTトランスフォーマを使用するサンプルプログラム」を変更して，XSLTCトランスフォーマ機能を使用する方法を示します。

XSLTCトランスフォーマ機能を使用する場合のプログラム変更を図5-7に示します。図5-7に示す変更により，XSLTCトランスフォーマ機能を使用できます。プログラムの実行方法，実行結果は「5.7　XSLTトランスフォーマを使用するサンプルプログラム」と同じです。

図5-7　XSLTCトランスフォーマ機能を使用する場合のプログラム変更

プログラムの変更個所について次に説明します。各項番はプログラムのコメントに記述している番号に対応しています。

XSLTCトランスフォーマ機能を使用するためのパッケージをimportします。

TransformerFactoryXSLTCクラスにnewInstanceメソッドを適用して，TransformerFactoryオブジェクトを生成します。

6.　Cosminexus XML Processor使用時の注意事項

この章では，Cosminexus XML Processorをご使用になる際の注意事項について説明します。

＜この章の構成＞

6.1　JAXP1.3機能の共通の注意事項

6.2　DOMパーサに関する注意事項

6.3　SAXパーサに関する注意事項

6.4　スキーマ検証に関する注意事項

6.5　XSLT/XSLTC共通の注意事項

6.6　XSLTに関する注意事項

6.7　XSLTCに関する注意事項

6.8　javax.xml.datatypeパッケージに関する注意事項

6.9　javax.xml.validationパッケージに関する注意事項

6.10　javax.xml.xpathパッケージに関する注意事項

6.11　org.w3c.domパッケージに関する注意事項

6.12　org.w3c.dom.bootstrapパッケージに関する注意事項

6.13　org.w3c.dom.lsパッケージに関する注意事項

6.14　org.xml.sax.extパッケージに関する注意事項

6.15　XIncludeに関する注意事項

6.16　実装依存仕様に関する注意事項

6.17　高速パース機能に関する注意事項

6.1　JAXP1.3機能の共通の注意事項

JAXP1.3機能の共通の注意事項を表6-1に示します。

表6-1　JAXP1.3機能の共通の注意事項

項番
注意事項

1
JAXP1.3仕様書で，引数にnullを指定したときの動作が規定されていないメソッドがあります。このようなメソッドの引数にnullを指定した場合，NullPointerException例外が発生するなど，動作結果が未定義ですので注意してください。

2
JAXP1.3仕様書が規定するメソッドで例外が発生したとき，例外オブジェクトにgetMessageメソッドを適用することで，多くの場合は詳細メッセージが得られます。ただし，詳細メッセージが必ず得られることを保証するものではありません。したがって，アプリケーションでは，詳細メッセージの内容に依存した例外処理をしないで，例外の種別に応じて適切な処理をしてください。例えば，DOMException例外の場合は，codeフィールドでエラーの詳細要因を判定してください。

3
DocumentBuilderクラスのparse(String uri)メソッドやSAXParserクラスのparse(String uri, ...)メソッドなどの引数に指定するURIは，正しい形式で指定してください。URIとして不正な文字列を指定すると，IllegalArgumentExceptionなどのRuntimeException例外が発生する場合があります。

4
DocumentBuilderクラスのparse(File f)メソッドやSAXParserクラスのparse(File f, ...)メソッドなどの引数に指定するFileオブジェクトは，引数に「%」「#」「?」を含まないFileコンストラクタで生成してください。引数にこれらの文字が含まれるFileコンストラクタで生成されたFileオブジェクトを指定すると，次に示す現象が発生する場合があります。

IllegalArgumentExceptionなどのRuntimeException例外が発生する

SAXException例外が発生する

XMLパーサの動作が不正になる

6.2　DOMパーサに関する注意事項

DOMパーサに関する注意事項を表6-2に示します。

表6-2　DOMパーサに関する注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，DocumentBuilderFactoryクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のDocumentBuilderFactoryインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次のどちらかの方法を使用してください。

各スレッドに一つのDocumentBuilderFactoryインスタンスを持つ。

各スレッドが排他的にDocumentBuilderFactoryインスタンスにアクセスする。

2
マルチスレッドプログラミングをする場合，DocumentBuilderクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のDocumentBuilderインスタンスを使用してはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドごとに一つのDocumentBuilderインスタンスを持つ。

3
マルチスレッドプログラミングをする場合，DOMツリーはスレッドセーフではありません。したがって，parseメソッドにより生成された同一のDOMツリーに対して，複数のスレッドが同時にアクセスしてはいけません。更新系メソッドだけではなく，参照系メソッドでも同時にアクセスしてはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドが排他的にDOMツリーにアクセスする。

4
マルチスレッドプログラミングをする場合，org.w3c.dom，org.w3c.dom.bootstrap，org.w3c.dom.lsパッケージで規定されたオブジェクトはスレッドセーフではありません。したがって，複数のスレッドが同時にこれらのオブジェクトにアクセスしてはいけません。更新系メソッドだけではなく，参照系メソッドでも同時にアクセスしてはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドが排他的にこれらのオブジェクトにアクセスする。

5
DocumentインタフェースのcreateAttributeメソッドまたはcreateAttributeNSメソッドを使用してAttrノードを生成する場合は，AttrインタフェースのsetValueメソッドで値を設定してください。値が設定されていない状態で，NodeインタフェースのgetChildNodesメソッドでNodeListを取得した場合，そのNodeListの動作は保証しません。

6
NodeインタフェースのinsertBeforeメソッドやappendChildメソッドを使用して，すでにElementノードを持つDocumentノードに対して要素を追加する場合，NodeインタフェースのreplaceChildメソッドを使用した場合と同じ結果になります。

7
DocumentBuilderクラスの「InputStreamやInputSourceを引数とするparseメソッド」でエラーが発生したとき，エラーハンドラへ渡されるSAXParseExceptionにgetSystemIdメソッドを適用するとnullが返される場合があります。エラー発生元のシステム識別子を返すようにする場合は，parseメソッドを次のように使用してください。

parse(InputStream is, String systemId)メソッドで，システム識別子を引数systemIdに指定する。

parse(InputSource is)メソッドで，システム識別子を設定したInputSourceを引数isに指定する。

8
BOM(Byte Order Mark)付きのUTF-16で保存されたXML文書をparse(InputSource is)メソッドで解析する場合，InputSourceにsetEncodingメソッドを適用するときは引数に"UTF-16"を指定してください。

9
内部エンティティを定義する文字列中に，477文字以上の要素名が含まれていると，java.lang.IndexOutOfBoundsException例外が発生する場合があります。

6.3　SAXパーサに関する注意事項

SAXパーサに関する注意事項を表6-3に示します。

表6-3　SAXパーサに関する注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，SAXParserFactoryクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のSAXParserFactoryインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次のどちらかの方法を使用してください。

各スレッドに一つのSAXParserFactoryインスタンスを持つ。

各スレッドが排他的にSAXParserFactoryインスタンスにアクセスする。

2
マルチスレッドプログラミングをする場合，SAXParserクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のSAXParserインスタンスを使用してはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドに一つのSAXParserインスタンスを持つ。

3
マルチスレッドプログラミングをする場合，org.xml.sax，org.xml.sax.ext，org.xml.sax.helpersパッケージで規定されたオブジェクトはスレッドセーフではありません。したがって，複数のスレッドが同時にこれらのオブジェクトにアクセスしてはいけません。更新系メソッドだけではなく，参照系メソッドでも同時にアクセスしてはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドが排他的にこれらのオブジェクトにアクセスする。

4
SAXパーサは，一つの文字列データを複数の文字列（チャンク）に分割し，複数のcharacters イベントとしてアプリケーションに報告することが許されています。したがって，ContentHandler の実装では，文字列データが分割されることを意識する必要があります。
ContentHandler の実装例を次に示します。この例では，characters イベントが発生するたびに文字列データをバッファリングしていき，endElement イベントが報告された時点で文字列データの終端とみなしています。

class MyHandler implements ContentHandler {
String str = null;
StringBuffer buffer = new StringBuffer();
:
public void characters(char c[], int start, int length) throws SAXException {
buffer.append(c, start, length);
}
:

public void endElement(String uri, String name, String qname) throws SAXException {
str = buffer.toString();
}
:

5
XMLReaderFactory クラスのcreateXMLReader(String className)メソッドを使用し，XMLReader の生成を行う場合は，引数classNameに"com.cosminexus.jaxp.impl.parsers.parsers.SAXParser"を指定してください。XMLReader の生成例を次に示します。

XMLReader reader =
XMLReaderFactory.createXMLReader("com.cosminexus.jaxp.impl.parsers.parsers.SAXParser");

6
SAXParserクラスの「InputStreamやInputSourceを引数とするparseメソッド」でエラーが発生したとき，エラーハンドラへ渡されるSAXParseExceptionにgetSystemIdメソッドを適用するとnullが返される場合があります。エラー発生元のシステム識別子を返すようにする場合は，parseメソッドを次のように使用してください。

parse(InputStream is, …, String systemId)メソッドで，システム識別子を引数systemIdに指定する。

parse(InputSource is, …)メソッドで，システム識別子を設定したInputSourceを引数isに指定する。

7
BOM(Byte Order Mark)付きのUTF-16で保存されたXML文書をparse(InputSource is, …)メソッドで解析する場合，InputSourceにsetEncodingメソッドを適用するときは引数に"UTF-16"を指定してください。

8
内部エンティティを定義する文字列中に，477文字以上の要素名が含まれていると，java.lang.IndexOutOfBoundsException例外が発生する場合があります。

6.4　スキーマ検証に関する注意事項

スキーマ検証に関する注意事項を表6-4に示します。

表6-4　スキーマ検証に関する注意事項

項番 | 注意事項
1 | maxOccursファセットに大きな値を指定するとメモリを大量に消費します。maxOccursファセットには，可能な限りunboundedを指定してください。
2 | XMLパーサにエンティティリゾルバを登録する場合は，エンティティリゾルバのresolveEntityメソッドの戻り値であるInputSourceに必ずシステム識別子を設定してください。設定しないと，xsd:importやxsd:includeで指定したスキーマ文書の場所の解決に失敗してエラーとなる場合があります。

6.5　XSLT/XSLTC共通の注意事項

XSLT/XSLTC共通の注意事項を表6-5に示します。

表6-5　XSLT/XSLTC共通の注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，TransformerFactoryクラス，およびTransformerFactoryXSLTCクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のTransformerFactoryインスタンス，およびTransformerFactoryXSLTCインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次のどちらかの方法を使用してください。

各スレッドにTransformerFactoryインスタンス，およびTransformerFactoryXSLTCインスタンスを持つ。

各スレッドが排他的にTransformerFactoryインスタンス，およびTransformerFactoryXSLTCインスタンスにアクセスする。

2
マルチスレッドプログラミングをする場合，Transformerクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のTransformerインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドにTransformerインスタンスを持つ。

3
マルチスレッドプログラミングをする場合，SAXTransformerFactoryクラス，TemplatesHandlerオブジェクト，TransformerHandlerオブジェクトはスレッドセーフではありません。したがって，各スレッドは排他的にこれらのオブジェクトにアクセスするようにしてください。

4
XSLTトランスフォーマとXSLTCトランスフォーマは同一の機能を提供しますが，エラー発生時に出力するメッセージは異なる場合があります。

5
xsl:attribute要素のnamespace属性に"http://www.w3.org/1999/XSL/Transform"を指定した場合，出力される属性の名前空間接頭辞がXSLTとXSLTCとで異なります。ただし，名前空間を有効に設定したパーサにとっては，名前空間接頭辞そのものは意味を持ちません。

6
xsl:attribute要素およびxsl:processing-instruction要素のname属性にQNameでない名前を指定した場合，XSLTではwarningイベントが発生しますが，XSLTCではerrorイベントが発生します。

7
name属性以外の属性値が異なるxsl:decimal-format要素が複数存在する場合に発生するエラーイベントは，XSLTではfatalErrorイベントが発生し，XSLTCではwarningイベントが発生します。

8
xsl:element要素またはxsl:attribute要素のname属性には，"xml"で始まる名前空間接頭辞を持つ名前を指定しないでください。

9
xsl:element要素，xsl:attribute要素，またはxsl:processing-instruction要素のname属性が，空文字列になる変数参照である場合，XSLTではwarningイベントが発生しますが，XSLTCではerrorイベントが発生します。

10
xsl:element要素のname属性がない場合，XSLTではerrorイベントが発生しますが，XSLTCではwarningイベントが発生します。

11
xsl:namespace-alias要素を使った場合，出力される属性の名前空間接頭辞がXSLTとXSLTCとで異なります。ただし，名前空間を有効に設定したパーサにとっては，名前空間接頭辞そのものは意味を持ちません。

12
xsl:number要素のformat属性に指定するフォーマットトークンには，"1"，" 1の前に任意の個数の0が続いたもの"，"A"，"a"，"i"，"I"のどれかを指定してください。

13
xsl:number要素のlevel属性が"any"の場合，count属性に属性ノードを表すパターンを指定すると，XSLTとXSLTCとで動作が異なります。XSLTでは属性ノードがカウントされませんが，XSLTCでは属性ノードがカウントされます。

14
xsl:output要素のdoctype-system属性に空文字列を指定しないでください。同様に，TransformerクラスのsetOutputPropertyメソッドを用いてdoctype-systemプロパティに空文字列を指定しないでください。

15
xsl:output要素のmethod属性には"xml"，"html"，"text"のうちのどれか一つを指定してください。

16
xsl:processing-instruction要素のname属性に，評価結果が空文字列になるようなXPath式を記述すると，XSLTではwarningイベントが発生しますが，XSLTCではerrorイベントが発生します。

17
xsl:value-of要素のselect属性に変数参照を記述すると，TransformerExceptionが発生します。

18
XSLTとXSLTCでは"document(/)"の評価結果が異なります。XSLTではスタイルシートのルート要素として評価され，XSLTCでは空のノード集合として評価されます。

19
document関数の第一引数に文字列を指定するとき，その文字列に次に該当するXML文書を指定した場合，XSLTCはXSLTとエラーレベルが異なります。

存在しないXML文書

整形式でないXML文書

20
format-number関数のフォーマットパターン文字列に通貨記号（#x00A4）を含めてもエラーにならないことがあります。

21
system-property関数の引数には，"xsl:version"，"xsl:vendor"，"xsl:vendor-url"のうちのどれか一つを指定してください。

22
埋め込みスタイルシートを使った変換で，処理命令"xml-stylesheet"の擬似属性"href"で指定したIDに対応するスタイルシート要素が複数存在する場合，XSLTとXSLTCでは適用されるテンプレートが異なります。XSLTでは最後に現れたテンプレートが適用され，XSLTCでは最初に現れたテンプレートが適用されます。

23
トランスフォーマ機能で，出力プロパティに，未サポートのエンコーディングが指定されている場合，アプリケーションでトランスフォーマにエラーリスナーを登録しても，エラーメッセージ（KECX02322-W）は，エラーリスナーに報告されず，標準出力ストリームへ出力されます。なお，XSLTCの場合，上記エラーメッセージが標準出力ストリームへ出力されるのに加えて，エラーメッセージ（KECX07076-W）がエラーリスナーに報告されます。

24
変換結果をHTML形式で出力した場合，XSLTとXSLTCとでは要素間の改行出力に差異があります。ただし，HTML文書では，要素間の改行は意味を持たないため問題ありません。

25
次の条件がすべて重なるとき，DOMResultオブジェクトのsetNode（Node node）メソッドを実行すると，IllegalStateException例外ではなく，IllegalArgumentException例外が発生します。

DOMResultオブジェクトのnextSiblingがnullではない。

nextSiblingが引数nodeの子でない。

この場合は，setNodeメソッドの例外を処理するcatch節で，IllegalStateException例外だけでなくIllegalArgumentException例外もキャッチしてください。

26
スタイルシート内でQNameとして評価される場所（xsl:element要素のname属性，key関数の第一引数など）に，XML1.0規格で名前として使用することが許されていない文字（Unicode補助文字，全角数字など）が使用されても，エラーにならないで処理が続行される場合があります。このような場合，トランスフォーマに出力メソッドとして"xml"を指定し，出力バージョンとして"1.0"を指定しても，出力される文書はXML1.0規格に準拠しません。

27
内部エンティティを定義する文字列中に，477文字以上の要素名が含まれていると， java.lang.IndexOutOfBoundsException例外が発生する場合があります。

6.6　XSLTに関する注意事項

XSLTに関する注意事項を次に示します。

＜この節の構成＞

6.6.1　エラーを通知しないケース

6.6.2　その他の注意事項

6.6.1　エラーを通知しないケース

表6-6　XSLTに関する注意事項（エラーを通知しないケース）

項番 | 注意事項
1 | xsl:copy-of要素のselect属性に，ノード集合以外のオペランドを"|"演算子で結合した式が書かれた場合，XSLTトランスフォーマはエラーを通知しません。
2 | xsl:for-each要素のselect属性がXPath式として許されない文字（"~"，"#"など）を含む場合，XSLTトランスフォーマはエラーを通知しません。
3 | xsl:output要素のcdata-section-elements属性にQName規則に合致しない文字列を指定した場合，XSLTトランスフォーマはエラーを通知しません。
4 | element-available関数およびfunction-available関数に文字列型以外の引数を指定した場合，XSLTトランスフォーマはエラーを通知しません。

6.6.2　その他の注意事項

表6-7　XSLTに関する注意事項（その他）

項番 | 注意事項
1 | xsl:number要素のgrouping-size属性に指定できない負の値を指定した場合，正の値に変換してグルーピングを行います。
2 | xsl:preserve-space要素およびxsl:strip-space要素のelements属性には空文字列以外の文字列を指定してください。
3 | XSLTを使って変換を行う場合，xsl:strip-space要素またはxsl:preserve-space要素のelements属性に"*"を指定すると，名前空間接頭辞付きの要素が空白の削除対象，または保存対象として選択されない場合があります。名前空間接頭辞付きの要素を空白の削除対象または保存対象とする場合は，elements属性に名前空間接頭辞付きの要素名を指定してください。
4 | format-number関数の第二引数には，長さが1文字以上のフォーマットパターンを指定してください。
5 | 出力プロパティのmethod属性に"html"を指定し，cdata-section-elements属性に要素名を指定した場合，cdata-section-elements属性が無視されず，指定した要素の内容がCDATAセクションとして出力されます。

6.7　XSLTCに関する注意事項

XSLTCに関する注意事項を次に示します。

＜この節の構成＞

6.7.1　スタイルシートサイズの注意事項

6.7.2　変換処理性能に関する注意事項

6.7.3　XSLT要素の注意事項

6.7.4　XPath式の注意事項

6.7.5　エラーを通知しないケース

6.7.6　その他の注意事項

6.7.1　スタイルシートサイズの注意事項

表6-8　XSLTCに関する注意事項（スタイルシートサイズ）

項番 | 注意事項
1 | XSLTCには，処理可能なスタイルシートサイズの上限があります。18000バイトを超えるスタイルシートを処理すると，KECX07058-Eエラーが発生して処理を中止する場合があります。ただし，スタイルシートサイズの上限は，スタイルシートの内容によって変動します。

6.7.2　変換処理性能に関する注意事項

表6-9　XSLTCに関する注意事項（変換処理性能）

項番 | 注意事項
1 | 「3.2.1（1）　同一のXSLTスタイルシートを使って複数のXML文書を変換する場合」で示したケースに該当するすべての場合について，XSLTCトランスフォーマの変換処理性能がXSLTトランスフォーマより高いことを保証するものではありません。XSLTCトランスフォーマを使用する場合は，実際に使用するXSLTスタイルシートおよび変換対象のXML文書を使って性能を評価することを推奨します。

6.7.3　XSLT要素の注意事項

表6-10　XSLTCに関する注意事項（XSLT要素）

項番
注意事項

1
xsl:apply-imports要素が処理されません。

2
テンプレートがxsl:with-paramによってパラメタとしてノード集合を受け取った場合，そのパラメタをxsl:apply-templates要素のselect属性で参照すると，それ以降，同じパラメタを参照してもノード集合を取得できなくなります。

3
xsl:attribute要素の子要素がxsl:copyの場合，出力される属性値が空になります。

4
xsl:attribute要素の内容にxsl:value-of要素を指定する場合は，select属性に指定するXPath式を絶対ロケーションパスで記述してください。

5
xsl:attribute-set要素がuse-attribute-sets属性で自分自身を参照（循環参照）する場合，XSLTCではスタックオーバーフローが発生します。

6
すべての属性の属性値が等しいxsl:decimal-format要素を複数個定義した場合，XSLTCはエラーを通知します。

7
xsl:element要素またはxsl:attribute要素のname属性には属性値テンプレートを指定しないでください。

8
次の条件がすべて重なるとき，要素が属する名前空間が不正になります。

xsl:element要素の子要素にxsl:attribute要素がある。

xsl:element要素のname属性が接頭辞付きの名前で，namespace属性の指定がある。

xsl:attribute要素のname属性が接頭辞付きの名前で，namespace属性の指定がある。

xsl:elementとxsl:attributeのname属性に指定された接頭辞が同じで，namespace属性の値が異なる。

上記現象が発生するスタイルシートの例を次に示します。

<xsl:template match="/">
 <xsl:element name="child1" namespace="AAA">
     <xsl:element name="A:child2" namespace="XXX">
       <xsl:attribute name="A:attr" namespace="AAA">1</xsl:attribute>
     </xsl:element>
 </xsl:element>
</xsl:template>

9
xsl:for-each要素のselect属性に述部を持つXPath式を指定する場合，述部に「ノードを比較対象とする式」を指定しないでください。この場合，スタイルシートを次のように変更してください。

xsl:for-each要素のselect属性のXPath式から述部を削除してください。

xsl:for-each要素の子にxsl:if要素を挿入して，test属性に1.で削除した述部の内容を指定してください。

スタイルシートの変更例を次に示します。
（変更前）

<xsl:template match="/">
 <xsl:for-each select="element[sub='x']">
   <xsl:value-of select="."/>
 </xsl:for-each>
</xsl:template>

（変更後）

<xsl:template match="/">
 <xsl:for-each select="element">
   <xsl:if test="sub='x'">
     <xsl:value-of select="."/>
   </xsl:if>
 </xsl:for-each>
</xsl:template>

10
xsl:for-each要素のselect属性に「"descendant::node()"または"descendant-or-self::node()"を含むXPath式」を指定しないでください。要素ノードおよびテキストノードを選択する目的でこのようなXPath式を使用する場合は，スタイルシートを次のように変更してください。

"descendant::node()"を"descendant::node()|descendant::text()"に置き換えてください。

"descendant-or-self::node()" を"descendant-or-self::node()|descendant-or-self::text()"に置き換えてください。

11
xsl:if要素またはxsl:when要素のtest属性に「self軸と述部を両方持つXPath式」を指定しないでください。この場合，スタイルシートを次のように変更してください。

xsl:if要素またはxsl:when要素のtest属性のXPath式から，述部を削除してください。

xsl:if要素またはxsl:when要素の子にxsl:if要素を挿入して，そのtest属性に1.で削除した述部の内容を指定してください。

スタイルシートの変更例を次に示します。
（変更前）

<xsl:template match="/element/sub">
 <xsl:if test="self::sub[attribute::attr='x']">
   <xsl:value-of select="."/>
 </xsl:if >
</xsl:template>

（変更後）

<xsl:template match="/element/sub">
 <xsl:if test="self::sub">
   <xsl:if test="attribute::attr='x'">
     <xsl:value-of select="."/>
   </xsl:if>
 </xsl:if >
</xsl:template>

12
xsl:import要素のhref属性の値が空文字列または空白だけの場合，errorイベントが発生し，エラーメッセージとして"null"が出力されます。

13
xsl:number要素のcount属性に"node()"を含むパターンを指定しないでください。要素ノードを番号付けする目的で"node()"を使用する場合は，代わりに"*"または"要素名"を使用してください。

14
xsl:number要素またはxsl:decimal-format要素のgrouping-separator属性に複数の空白文字列や1文字以上の文字列，または全角文字を指定した場合，エラーにはならず，指定した文字列で区切られた値が出力されます。

15
xsl:number要素のcount属性に"/"を指定した場合，XSLTでは"1"が出力されますが，XSLTCではjava.lang.VerifyErrorが発生します。

16
xsl:number要素のfrom属性に"/"を指定した場合，XSLTでは"1"が出力されますが，XSLTCではjava.lang.VerifyErrorが発生します。

17
xsl:output要素のdoctype-public属性には空文字列以外の文字列を指定してください。同様に，TransformerクラスのsetOutputPropertyメソッドを用いてdoctype-publicプロパティを設定する場合も，空文字列以外の文字列を指定してください。

18
xsl:processing-instruction要素のname属性に，処理命令のターゲット名として許されない"XML"を指定した場合，"<?XML?>"という不正な処理命令が出力されます。

19
xsl:sortのdata-type属性に不正な値"NUMBER"（大文字）を指定した場合，デフォルト動作（"text"が指定された場合と同じ順序でソートする）が行われません。

20
xsl:sortのorder属性に不正な値"DESCENDING"（大文字）を指定した場合，デフォルト動作（"ascending"が指定された場合と同じ順序でソートする）が行われません。

21
xsl:template要素のmatch属性に「"node()"を含み，かつ，その後ろにロケーションパスが続くXPath式」を指定しないでください。要素ノードを選択する目的で"node()"を使用する場合は，代わりに"*"を使用してください。スタイルシートの変更例を次に示します。
（変更前）

<xsl:template match="/node()/sub">
<result><xsl:value-of select="."/></result>
</xsl:template>

（変更後）

<xsl:template match="/*/sub">
<result><xsl:value-of select="."/></result>
</xsl:template>

22
xsl:template要素の子要素としてトップレベル要素を書いた場合，無視されずに有効な子要素として処理されます。

23
xsl:value-of要素のselect属性に，負のゼロを引数とするstring関数を記述した場合，XSLTでは"0"が出力されますが，XSLTCでは"-0"が出力されます。

24
xsl:variable要素の子要素にxsl:call-template要素を指定し，かつ，xsl:call-templateで呼び出されたテンプレート内に名前空間接頭辞を持つリテラル要素がある場合，xsl:copy-of要素でその変数が示す要素をコピーすると，要素の名前空間宣言が正しくコピーされません。

25
リテラル結果要素にxsl:extension-element-prefixes属性を指定して拡張要素とした場合，拡張要素の子要素として書かれたxsl:fallback要素が無視されます。代わりにxsl:stylesheet要素にextension-element-prefixes属性を指定してください。

26
スタイルシート内で仕様上，許されない場所に子要素を書いた場合（例：xsl:stylesheet要素の子要素としてリテラル要素を書いた場合，xsl:namespace-alias要素の子要素としてxsl:text要素が現れた場合など），エラーにはならないで，不正な子要素が無視されます。

6.7.4　XPath式の注意事項

表6-11　XSLTCに関する注意事項（XPath式）

項番 | 注意事項
1 | document関数にXPath式を続けて指定する場合，"//"は使用しないで，代わりに"/descendant-or-self::node()/"を使用してください。
2 | 最上位要素の中でcurrent関数を使用しないでください。
3 | XPath式の中でノードテスト"node()"を使用した場合，ノードを正しく取得できません。
4 | XPath式に，"*"を含むノードテストと論理演算子を組み合わせたXPath式を書いた場合，XPath式の構文解析中にエラーが発生します。
5 | 変数およびパラメタの値が，結果ツリーフラグメント（select属性ではなく，要素内容として書かれたテンプレートによって定義される値）の場合，そのテンプレートの中に変数参照があると，NullPointerExceptionが発生する場合があります。

6.7.5　エラーを通知しないケース

要素や属性の指定内容が不当な場合や，関数の引数が不正な場合など，XSLTCがエラーを通知しないケースがあります。XSLTCがエラーを通知しないケースを表6-12に示します。

表6-12　XSLTCに関する注意事項（エラーを通知しないケース）

項番
注意事項

1
xsl:apply-templates要素の子要素としてxsl:sort要素とxsl:with-param要素以外のスタイルシート要素を指定した場合。

2
xsl:apply-templates要素のselect属性に空文字列を指定した場合。

3
xsl:comment要素の要素内容にテキスト以外を指定した場合。

4
xsl:decimal-format要素の次に挙げた属性に2文字以上の値を指定した場合。

decimal-separator

grouping-separator

minus-sign

percent

per-mille

zero-digit

pattern-separator

5
xsl:element要素またはxsl:attribute要素のname属性に接頭辞で修飾した要素名を指定し，かつ，namespace属性に空文字列を指定した場合。

6
xsl:for-each要素の先頭以外の子要素としてxsl:sortを指定した場合。

7
xsl:import要素に要素内容を指定した場合。

8
xsl:import要素がトップレベル要素の先頭要素でない場合や，xsl:import要素やxsl:include要素がトップレベル要素でない場合。

9
xsl:key要素のuse属性にkey関数を含むXPath式を指定した場合。

10
xsl:message要素をxsl:stylesheet要素の子要素として指定した場合。

11
xsl:message要素のterminate属性に"yes"，"no"以外の値を指定した場合。

12
xsl:namespace-alias要素のstylesheet-prefix属性やresult-prefix属性に指定した接頭辞に対応する名前空間宣言がない場合。

13
xsl:namespace-alias要素のstylesheet-prefix属性やresult-prefix属性の指定がない場合。

14
xsl:namespace-alias要素に要素内容を指定した場合。

15
xsl:number要素のgrouping-size属性にNumber規則に合致しない文字列を指定した場合。

16
xsl:number要素のlang属性およびlevel属性に不当な値を指定した場合。

17
xsl:number要素のletter-value属性に不当な値を指定した場合。

18
xsl:number要素のgrouping-separator属性に，値が空文字となる変数参照を指定した場合。

19
xsl:output要素のversion属性に不当な値を指定した場合。

20
xsl:output要素のindent属性に不当な値を指定した場合。

21
xsl:output要素のstandalone属性に不当な値を指定した場合。

22
xsl:output要素のomit-xml-declaration属性に不当な値を指定した場合。

23
xsl:param要素のselect属性に空文字列を指定した場合。

24
xsl:sort要素のdata-type属性，order属性，またはcase-order属性に不正な値を指定した場合。

25
xsl:sort要素のdata-type属性，order属性，またはcase-order属性が空文字列になる変数参照である場合。

26
xsl:sort要素のdata-type属性，order属性，またはcase-order属性に大文字の値を指定した場合，小文字で指定されたものとして扱われます。

27
xsl:strip-space要素，xsl:preserve-space要素，xsl:apply-imports要素など，仕様上は要素内容を持てない要素に要素内容を指定した場合。

28
xsl:stylesheet要素のversion属性に不当な値を指定した場合。

29
xsl:stylesheet要素のexclude-result-prefixes属性に指定した接頭辞に対応する名前空間URIが，この属性を持つ要素で有効でない場合。

30
xsl:stylesheet要素の中にxsl:stylesheet要素を指定した場合。

31
xsl:template要素のmatch属性およびmode属性に空文字列を指定した場合。

32
xsl:template要素にname属性の指定がなく，match属性の指定もない場合。

33
xsl:template要素またはxsl:apply-template要素のmode属性に空文字列を指定した場合。

34
xsl:template要素のpriority属性に空文字列を指定した場合。

35
最初のxsl:template要素より前にリテラル結果要素が現れた場合。

36
xsl:template要素にmode属性があり，match属性がない場合。

37
複数のxsl:with-param要素が同じ値のname属性を持っている場合。

38
xsl:text要素のdisable-output-escaping属性に"yes"，"no"以外の値を指定した場合。

39
xsl:value-of要素のdisable-output-escaping属性に"yes"または"no"以外の値を指定した場合。

40
xsl:variable要素のselect属性に空文字列を指定した場合。

41
xsl:variable要素またはxsl:param要素に，select属性とテキスト内容の両方が存在する場合。

42
xsl:with-param要素のselect属性に空文字列を指定した場合。

43
次の関数呼び出しの引数の数が不正な場合。

number関数

boolean関数

lang関数

concat関数

44
document関数の第二引数が空文字列の場合。

45
format-number関数の第三引数に空文字列を指定した場合。

46
key関数の第一引数に存在しないキー名を指定した場合。

47
unparsed-entity-uri関数の引数の個数が不正な場合。

6.7.6　その他の注意事項

表6-13　XSLTCに関する注意事項（その他）

項番 | 注意事項
1 | XSLTCを使った場合，デフォルトのエラーリスナーはエラー時に例外をスローします。
2 | ErrorListenerのwarningメソッドやerrorメソッドの実装が例外をスローしない場合，スタイルシート解析時にwarningやerrorが発生するとトランスレットの作成ができないため，変換ができません。
3 | エラーメッセージ中のエラーIDの前に，エラー原因となったファイルのファイル名と行番号が出力される場合があります。
4 | SAXTransformerFactoryクラスのnewTemplatesHandlerメソッドで作成したTemplatesHandlerオブジェクトをXMLReaderクラスのsetContentHandlerメソッドでパーサに登録して変換処理を行う場合，エラーのあるスタイルシートを処理してもエラーが出力されません。
5 | SAXTransformerFactoryを使って変換を行う場合，エラーリスナーの設定にかかわらず，スタイルシートのエラーがエラーリスナーに通知されません。
6 | XSLTCを使って変換を行う場合，一つのxsl:namespace-alias要素のstylesheet-prefix属性とresult-prefix属性の両方に"#default"を指定すると，NullPointerExceptionが発生します。
7 | XSLTCを使って変換を行う場合，インポート優先順位が異なる二つのテンプレートがname属性とmatch属性を持ち，name属性の値が同じであるとき，インポート優先順位が低い方のテンプレートが無視されます。
8 | XSLTCを使って変換を行う場合，スタイルシートとJAXPインタフェースの両方で出力プロパティのcdata-section-elements属性を設定すると，スタイルシート内で定義された値がJAXPインタフェースで設定された値によって上書きされます。
9 | XSLTCを使って変換を行う場合，DocumentFragmentから作ったDOMSourceを返すように実装したURIResolverを使用すると，正しい変換処理が行われません。
10 | 出力メソッドにHTML出力を指定した場合，xsl:element要素のname属性に"{name()}"または"{name( . )}"を指定すると，NullPointerExceptionが発生します。

6.8　javax.xml.datatypeパッケージに関する注意事項

javax.xml.datatypeパッケージに関する注意事項を表6-14に示します。

表6-14　javax.xml.datatypeパッケージに関する注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，javax.xml.datatypeパッケージで規定されたオブジェクトはスレッドセーフではありません。したがって，各スレッドは排他的にこれらのオブジェクトにアクセスするようにしてください。

2
DatatypeFactoryクラスの各メソッドでIllegalArgumentExceptionが発生したとき，getMessage()メソッドでは，各メソッドに指定したパラメタが戻ります。

3
DatatypeFactoryクラスのnewXMLGregorianCalendarメソッド，newXMLGregorianCalendarDateメソッド，newXMLGregorianCalendarTimeメソッドで，月を表すフィールドに4，6，9，11のどれかを設定したとき，日のフィールドに31を設定してもエラーが発生しません。

4
DatatypeFactoryクラスのnewXMLGregorianCalendarメソッドおよびnewXMLGregorianCalendarTimeメソッドの引数millisecondには，0から999までの値を指定してください。

5
月を表すフィールドが1のDurationオブジェクトと，日を表すフィールドが28のDurationオブジェクトを比較したとき，結果は次のようになります。

compareメソッドで比較したときは，DatatypeConstants.EQUALが戻ります。

equalsメソッドで比較したときは，trueが戻ります。

6
XMLGregorianCalendarクラスのnewDuration(long durationInMilliSeconds)メソッド，newDurationDayTime(long durationInMilliseconds)メソッド，またはnewDurationYearMonth(long durationInMilliseconds)メソッドで作成したDurationオブジェクトは，DatatypeConstants.DURATION_DAYTIME型になります。したがって，このDurationオブジェクトの月を表すフィールド，日を表すフィールドの値は0になります。

7
XMLGregorianCalendarクラスのsetHourメソッド，およびsetTimeメソッドの引数hourには，0から23までの値を指定してください。また，DatatypeFactoryクラスのnewXMLGregorianCalendarメソッド，newXMLGregorianCalendarTimeメソッドの引数の「時間を表すフィールド」には，0から23までの値を指定してください。

8
JAXP1.3仕様書では，XMLGregorianCalendarクラスのisValidメソッドは「Validate instance by getXMLSchemaType() constraints.」と定義されています。Cosminexus XML Processorでは，次の制約をすべて満たしているときにtrueを返します。

月を表すフィールドが2のとき，日を表すフィールドが28以内（うるう年以外の場合），または29以内（うるう年の場合）である。

年を表すフィールドが0ではない。

9
XMLGregorianCalendarクラスのequalsメソッドの引数がnullのとき，NullPointerException例外は発生せずにfalseが戻ります。

10
DatatypeConstants.GMONTH型のXMLGregorianCalendarオブジェクトにtoString, toXMLFormatメソッドを適用して得られる字句表現は，W3C XML Schema 1.0 Part 2（second edition）仕様書のセクション3.2.14で規定された文字列「--MM」ではなく，second editionより前の仕様書で規定された文字列「--MM--」になります。

6.9　javax.xml.validationパッケージに関する注意事項

javax.xml.validationパッケージに関する注意事項を表6-15に示します。

表6-15　javax.xml.validationパッケージに関する注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，SchemaFactoryクラス，Validatorクラス，ValidatorHandlerクラス，TypeInfoProviderクラスはスレッドセーフではありません。したがって，各スレッドは排他的にこれらのオブジェクトにアクセスするようにしてください。

2
SchemaFactoryクラスのnewInstance(String schemaLanguage)メソッドの引数に指定可能なURIは"http://www.w3.org/2001/XMLSchema"だけです。

3
SchemaFactoryクラスのisSchemaLanguageSupportedメソッドには，
"http://www.w3.org/2001/XMLSchema"を指定してください。その他のスキーマ言語を指定した場合は，falseが戻ります。

4
SchemaFactoryクラスのnewSchema(Source[] schemas)メソッドの引数schemasの配列要素には，それぞれ異なるtargetNamespaceを持つスキーマ文書を指定してください。同一のtargetNamespaceを持つスキーマ文書，またはtargetNamespaceを持たないスキーマ文書を複数個指定すると，インデックスの小さい配列要素のスキーマ文書が優先されます。

5
次の条件でSchemaFactoryクラスのnewSchema(Source[] schemas)メソッドを実行すると，例外が発生しない場合があります。

引数schemasの配列要素が，正しいスキーマ文書と不正なスキーマ文書の両方を含んでいる。

この問題は，次のようにして回避できます。

SchemaFactoryオブジェクトのエラーハンドラで，error, fatalErrorメソッドに渡される例外オブジェクトを保存しておく。

newSchemaメソッドの呼び出し後に，1.で例外オブジェクトが保存されたかどうかチェックして，保存されていればその例外オブジェクトをスローする。

6
Validatorクラスのvalidate(Source)，validate(Source, Result)の引数には，表6-16に示す組み合わせで指定してください。

7
Validatorクラスのvalidateメソッドによって，ID型の属性の定義を含むスキーマ文書を用いてXML文書を検証する場合は，validate(DOMSource, DOMResult)ではなく，validate(SAXSource)，validate(DOMSource)，validate(SAXSource, SAXResult)のどれかのメソッドを使用してください。

8
次の条件がすべて重なるとき，Validatorクラスのvalidate(Source source, Result result)メソッドを実行すると，DOMException例外が発生する場合があります。

引数resultがDOMResultオブジェクトである。

DOMResultオブジェクトに設定された「結果ツリーを含むDOMノード」が子ノードを持つDocumentオブジェクトである。

したがって，2.のDocumentオブジェクトには子ノードを持たせないようにしてください。

9
スキーマ文書の中にxsd:ENTITY型，およびxsd:ENTITIES型が含まれるとき，ValidatorHandlerクラスを用いたスキーマ検証はサポートしていません。このような場合は，例えばValidatorクラスなどのほかの方法でスキーマ検証するようにしてください。

10
スキーマ文書で定義されていない要素および属性から取得したTypeInfoオブジェクトは，妥当性検証失敗時には，xsd:anyType型のTypeInfoオブジェクトと同じになります。

11
Validatorクラスのvalidate(Source)およびvalidate(Source, Result)の引数SourceにDOMSourceオブジェクトを指定する場合，DOMSourceオブジェクトが保持するNodeオブジェクトは，次に示すすべての条件に従う必要があります。

名前空間を有効に設定したパーサによって生成されている。
例えば，setNamespaceAware(true)を適用したDocumentBuilderFactoryで生成したDocumentBuilderなど。

妥当性検証をしないパーサによって生成されている。
例えば，setValidating (false)を適用したDocumentBuilderFactoryで生成したDocumentBuilderなど。

12
Validatorクラスのvalidate(Source)，validate(Source, Result)の引数SourceにSAXSourceオブジェクトを指定する場合に，そのSAXSourceオブジェクトがXMLReaderオブジェクトを使用するとき，XMLReaderオブジェクトは次に示すすべての条件に従う必要があります。

名前空間を有効に設定したXMLReaderオブジェクトである。
例えば，setNamespaceAware(true)を適用したSAXParserFactoryでSAXParserを生成し，そのSAXParserから取り出したXMLReaderオブジェクトなど。

妥当性検証をしないXMLReaderオブジェクトである。
例えば，setValidating (false)を適用したSAXParserFactoryでSAXParserを生成し，そのSAXParserから取り出したXMLReaderオブジェクトなど。

表6-16　Validatorクラスのvalidate(Source)，validate(Source, Result)の引数の組み合わせ

引数Result | 引数Source
SAXSource | DOMSource | StreamSource | null
SAXResult | ○ | × | × | ×
DOMResult | × | ○ | × | ×
StreamResult | × | × | × | ×
null | ○ | ○ | × | ×

6.10　javax.xml.xpathパッケージに関する注意事項

javax.xml.xpathパッケージに関する注意事項を表6-17に示します。

表6-17　javax.xml.xpathパッケージに関する注意事項

項番
注意事項

1
マルチスレッドプログラミングをする場合，XPathFactoryクラスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のXPathFactoryインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次のどちらかの方法を使用してください。

各スレッドに一つのXPathFactoryインスタンスを持つ。

各スレッドが排他的にXPathFactoryインスタンスにアクセスする。

2
マルチスレッドプログラミングをする場合，XPathFactoryクラスのnewInstanceメソッドで生成されるXPathインスタンス，およびXPathインタフェースのcompileメソッドで生成されるXPathExpressionインスタンスはスレッドセーフではありません。したがって，複数のスレッドが同時に同一のXPathインスタンス，およびXPathExpressionインスタンスにアクセスしてはいけません。スレッド間の競合を避けるため，次の方法を使用してください。

各スレッドに一つのXPathインスタンス，およびXPathExpressionインスタンスを持つ。

3
XPathFactoryクラスのnewInstance(String uri)メソッドの引数に指定可能なURIは"http://java.sun.com/jaxp/xpath/dom"だけです。

4
次のメソッドを用いて，コンテキストを参照するようなXPath式を評価する場合は，引数itemにnullではないコンテキストを指定してください。

XPathインタフェースのevaluate(String expression, Object item, QName returnType)メソッド

XPathインタフェースのevaluate(String expression, Object item)メソッド

XPathExpressionインタフェースのevaluate(Object item, QName returnType)メソッド

XPathExpressionインタフェースのevaluate(Object item)メソッド

5
4で示したメソッドの引数itemには，Document，DocumentFragment，Element，Text，Attr，ProcessingInstruction，Commentのどれかのオブジェクトを指定してください。

6
XPathFunctionインタフェースを実装するクラスのevaluateメソッドの戻り値の型，および， XPathVariableResolverインタフェースを実装するクラスのresolveVariableメソッドの戻り値の型は，java.lang.String，java.lang.Boolean，java.lang.Number，org.w3c.Node，org.w3c.NodeListのどれかにしてください。

7
javax.xml.xpathパッケージのメソッドで例外が発生した場合，発生した例外オブジェクトにgetMessageメソッドを適用した戻り値がnullになり詳細メッセージを取得できないことがあります。この場合，例外オブジェクトにgetCauseメソッドを適用して「ラップされた例外オブジェクト」を取得し，これにgetMessageメソッドを適用することで，詳細なメッセージを取得できる場合があります。

8
and，or，mod，div演算子の前後には，空白を入れてください。
（例）"1000 div 10"

9
次のすべての条件が重なるXPath式はサポートしません。

| 演算子のオペランドのそれぞれにノードセットを返すXPath関数を指定して，ノードセットの和集合を作成する。

1.で作成したノードセットの和集合に述語を適用する。

10
次のすべての条件が重なるXPath式はサポートしません。

local-name，namespace-uri，nameのどれかの関数を使用する。

1.で示した関数の引数に次の式を指定する。
　　self::node()/descendant::prefix1:* (※)
この場合，1.で示した関数の引数を次の式に変更することで回避できます。
　　self::node()/self::node()/descendant::prefix1:* (※)
注※：prefix1は，任意の名前空間接頭辞を表します。

11
属性ノード，名前空間ノードにfollowing-sibling軸を適用したXPath式はサポートしません。

12
| 演算子のオペランドがロケーションセット以外のXPath式はサポートしません。

13
名前空間接頭辞と名前空間URIの組が等しい名前空間ノードが複数存在するとき，それらの名前空間ノードに軸を適用するXPath式はサポートしません。

6.11　org.w3c.domパッケージに関する注意事項

org.w3c.domパッケージに関する注意事項を表6-18に示します。

表6-18　org.w3c.domパッケージに関する注意事項

項番
注意事項

1
DOMConfigurationオブジェクトに設定可能なパラメタを表6-19に示します。設定可能なパラメタは，getParameterNamesメソッドの戻り値，およびcanSetParameterメソッドの戻り値とは一致しません。また，設定不可の値を設定しても，例外が発生しない場合があります。設定不可の値を設定した場合の動作は保証しません。

2
DOMConfigurationオブジェクトのパラメタ名は，大文字と小文字が区別されません。

3
DOM Level 3では，従来のDOM Level 2のインタフェースに対して新しいメソッドが追加されています。例えば，AttrインタフェースにはisIdメソッドが追加されています。通常のアプリケーションプログラムがこれらのインタフェースをimplementsすることはありませんが，もしimplementsしている場合は，DOM Level 3で追加されたメソッドの実装をアプリケーションに追加する必要があります。

4
XMLSchemaで属性のデフォルト値を定義して，その属性に対応するAttrノードを削除したとき，getSpecifiedメソッドの戻り値がfalseである属性ノードは生成されません。

5
DocumentオブジェクトのnormalizeDocumentメソッドはサポートしていません。

6
DocumentオブジェクトのadoptNodeメソッドはサポートしていません。代わりに，DocumentオブジェクトのimportNodeメソッドとNodeオブジェクトのremoveChildメソッドを組み合わせて使用してください。

7
DocumentオブジェクトのgetInputEncodingメソッドおよびEntityオブジェクトのgetInputEncodingメソッドはサポートしていません。

8
次の条件がすべて重なるとき，DocumentオブジェクトのrenameNode(Node n, String namespaceURI, String qualifiedName)メソッドを実行してもDOMException例外は発生しません。

引数nが名前空間をサポートしないAttrオブジェクトである。

引数namespaceURIがnullである。

引数qualifiedNameが不正な修飾名である。

また，引数nにElementまたはAttrオブジェクトを指定し，かつ，引数qualifiedNameにnullを指定した場合，DOMException例外ではなくNullPointerException例外が発生します。

9
Attrオブジェクト，Textオブジェクト，EntityReferenceオブジェクト，CDATASectionオブジェクト，DocumentTypeオブジェクト，DocumentFragmentオブジェクトのgetBaseURIメソッドではURIの取得ができません。

10
TextオブジェクトのreplaceWholeText(String)メソッドはEntityReferenceノードを含まないDOMツリーに適用してください。

11
DOMLocatorオブジェクトのgetByteOffsetの戻り値は常に-1です。

12
DOMErrorHandlerオブジェクトのhandleErrorメソッドの引数DOMErrorにgetRelatedDataメソッドを適用したときの戻り値のオブジェクトは，Nodeオブジェクトとは限りません。エラーメッセージを表すStringオブジェクトが戻り値となる場合があります。

表6-19　DOMConfigurationオブジェクトに設定可能なパラメタ

パラメタの名前 | 設定可能な値
canonical-form | false
cdata-sections | true，false
check-character-normalization | false
comments | true，false
datatype-normalization | false
element-content-whitespace | true
entities | true，false
error-handler | DOMErrorHandlerオブジェクト
infoset | true，false
namespaces | true
namespace-declarations | true，false
normalize-characters | false
schema-location | 設定できません
schema-type | 設定できません
split-cdata-sections | true，false
validate | false
validate-if-schema | false
well-formed | true
resource-resolver | LSResourceResolverオブジェクト

6.12　org.w3c.dom.bootstrapパッケージに関する注意事項

org.w3c.dom.bootstrapパッケージに関する注意事項を表6-20に示します。

表6-20　org.w3c.dom.bootstrapパッケージに関する注意事項

項番 | 注意事項
1 | DOMImplementationRegistryクラスのgetDOMImplementationメソッド，およびgetDOMImplementationListメソッドの引数とする文字列には空文字列以外を指定してください。

6.13　org.w3c.dom.lsパッケージに関する注意事項

org.w3c.dom.lsパッケージに関する注意事項を表6-21に示します。

表6-21　org.w3c.dom.lsパッケージに関する注意事項

項番 | 注意事項
1 | DOMImplementationLSインタフェースのcreateLSParser(short mode, String schemaType)メソッドの引数modeにはDOMImplementationLS. MODE_SYNCHRONOUSだけを指定できます。また，引数schemaTypeにはnull，"http://www.w3.org/2001/XMLSchema"，"http://www.w3.org/TR/REC-xml"のどれかを指定できます。
2 | LSParserオブジェクトにgetDomConfigメソッドを適用して得られるDOMConfigurationオブジェクトに設定可能なパラメタを表6-22に示します。これに加えて，表6-19に示したパラメタも設定可能です。設定可能なパラメタは，getParameterNamesメソッドの戻り値，およびcanSetParameterメソッドの戻り値とは一致しません。また，設定不可の値を設定しても，例外が発生しない場合があります。設定不可の値を設定した場合の動作は保証しません。
3 | LSParserオブジェクトのcharset-overrides-xml-encodingパラメタに値を設定しても，無視されます。
4 | LSParserインタフェースのparseWithContextメソッドはサポートしていません。
5 | LSParserオブジェクトのsetNewLineメソッドはサポートしていません。
6 | LSParserオブジェクトでは，XML1.1文書を解析できません。
7 | LSParserオブジェクトのstartElementメソッドは，ルート要素については呼び出されません。
8 | LSParserオブジェクトでの解析時，およびLSSerializerオブジェクトでの直列化時にLSException例外が発生したとき，getMessage()メソッドの戻り値がnullになる場合があります。この場合は，LSParserFilterやLSSerializerFilterのユーザ実装クラスで例外が発生している可能性があります。
9 | LSSerializerオブジェクトにgetDomConfigメソッドを適用して得られるDOMConfigurationオブジェクトに設定可能なパラメタを表6-23に示します。これに加えて，表6-19に示したパラメタも設定可能です。設定可能なパラメタは，getParameterNamesメソッドの戻り値，およびcanSetParameterメソッドの戻り値とは一致しません。また，設定不可の値を設定しても，例外が発生しない場合があります。設定不可の値を設定した場合の動作は保証しません。
10 | LSSerializeオブジェクトのwrite，writeToString，およびwriteToURIメソッドの引数nodeArgに，Document，DocumentFragment，Element以外のノードを指定した場合，それらのノードは直列化されません。
11 | LSSerializeオブジェクトのwrite，writeToString，およびwriteToURIメソッドは，名前空間が無効なノードを直列化できません。
12 | LSSerializerインタフェースのgetNewLineメソッドで得られる行末シーケンス文字のデフォルト値は，"¥n"です。
13 | ProcessingInstructionオブジェクトが持つ処理命令の内容に文字列「?>」が含まれるとき，そのProcessingInstructionオブジェクトを直列化してもエラーは通知されません。

表6-22　DOMConfigurationオブジェクトに設定可能なパラメタ（LSParserオブジェクト）

パラメタの名前 | 設定可能な値
charset-overrides-xml-encoding | true，false
disallow-doctype | false
ignore-unknown-character-denormalizations | true
supported-media-types-only | false

表6-23　DOMConfigurationオブジェクトに設定可能なパラメタ（LSSerializerオブジェクト）

パラメタの名前 | 設定可能な値
discard-default-content | true，false
format-pretty-print | false
ignore-unknown-character-denormalizations | true
xml-declaration | true，false

6.14　org.xml.sax.extパッケージに関する注意事項

org.xml.sax.extパッケージに関する注意事項を表6-24に示します。

表6-24　org.xml.sax.extパッケージに関する注意事項

項番
注意事項

1
Attributes2ImplクラスのaddAttributeメソッドはサポートしていません。
代わりに，AttributesImplクラスのaddAttributeメソッドを使用し，アプリケーションを次のように変更してください。
（変更前）

Attributes2Impl myAtt = new Attributes2Impl();
String type = "ID";
myAtt.addAttribute("http://hitachi-xmlprocessor.com/", "attr", "ht:attr", type, "value");
     :

（変更後）

AttributesImpl myAtt = new AttributesImpl();
String type = "ID";
myAtt.addAttribute("http://hitachi-xmlprocessor.com/", "attr", "ht:attr", type, "value");
Attributes2Impl myAtt2 = new Attributes2Impl(myAtt);
int position = myAtt2.getLength() -1;
myAtt2.setSpecified(position, true);
myAtt2.setDeclared (position, !"CDATA".equals(type));
    :

2
Locator2ImplクラスのgetXMLVersionメソッド，getEncodingメソッドはサポートしていません。

6.15　XIncludeに関する注意事項

XIncludeに関する注意事項を表6-25に示します。

表6-25　XIncludeに関する注意事項

項番 | 注意事項
1 | xi:include要素のxpointer属性に指定可能なスキーマは，element()スキーマと簡略ポインタだけです。
2 | xi:include要素のxpointer属性に簡略ポインタを指定する場合，その簡略ポインタは「DTDでID型と定義した属性」の属性値である必要があります。「XML Schemaでxsd:ID型と定義した属性」の属性値は指定できません。

6.16　実装依存仕様に関する注意事項

XML Schemaの実装に依存した仕様を表6-26～表6-28に示します。

表6-26　データ型に関する実装依存仕様

データ型
最大値
最大桁数

duration型
(形式：PnYnMnDTnHnMnS)
nY(年)
○
－

nM(月)
○

nD(日)
○

nH(時)
○

nM(分)
○

nS(秒)
1秒以上
○

1秒未満
○

date型
(形式：CCYY-MM-DD)
CCYY
("9999"を超える場合，桁数の追加ができる)
○

gYearMonth型
(形式：CCYY-MM)

gYear型
(形式：CCYY)

dateTime型
(形式：CCYY-MM-DDThh:mm:ss)

1秒未満
(ssに続く，小数点以下に1秒未満の値を指定できる)
○

time型
(形式：hh:mm:ss)

base64Binary型
△
◎

hexBinary型
◎

decimal型
◎

integer型
◎

nonPositiveInteger型
◎

nonNegativeInteger型
◎

negativeInteger型
◎

positiveInteger型
◎

（凡例）

〇：指定できる値は，最大2147483647です。

△：指定する値の最大値の規定はありません。

◎：指定できる最大桁数は，メモリに依存します。

－：該当しません。

表6-27　制約ファセットに関する実装依存仕様

制約ファセット | 最大値 | 最大桁数
length | ○ | －
minLength | ○
maxLength | ○
totalDigits | ○
fractionDigits | ○
maxInclusive | △ | ◎
maxExclusive | ◎
minInclusive | ◎
minExclusive | ◎

（凡例）

〇：指定できる値は，最大2147483647です。

△：指定する値の最大値の規定はありません。

◎：指定できる最大桁数は，メモリに依存します。

－：該当しません。

表6-28　出現回数の指定に関する実装依存仕様

出現回数の指定 | 最大値 | 最大桁数
minOccurs | ○ | －
maxOccurs | ○

（凡例）

〇：指定できる値は，最大2147483647です。

－：該当しません。

6.17　高速パース機能に関する注意事項

高速パース機能に関する注意事項を次に示します。

＜この節の構成＞

6.17.1　解析結果オブジェクトの設定に関する注意事項

6.17.2　解析結果オブジェクトを利用するXMLパーサに関する注意事項

6.17.3　XML1.1に関する注意事項

6.17.4　XIncludeに関する注意事項（高速パース機能）

6.17.5　高速化定義ファイルに関する注意事項

6.17.6　絶対パスの指定方法に関する注意事項

6.17.7　事前解析用XML文書に関する注意事項

6.17.8　チューニング情報に関する注意事項

6.17.9　解析性能に関する注意事項

6.17.1　解析結果オブジェクトの設定に関する注意事項

表6-29　高速パース機能に関する注意事項（解析結果オブジェクトの設定）

項番 | 注意事項
1 | 事前解析時の名前空間の有効・無効は，解析時の名前空間の有効・無効に合わせる必要があります。これらが異なる場合，解析結果が不正になるおそれがあります。
2 | エンティティ参照を解決するとき，事前解析時のエンティティリゾルバで解決した結果と，解析時のエンティティリゾルバで解決した結果は一致している必要があります。これらの結果が異なる場合，高速化の効果が得られないおそれがあります。

6.17.2　解析結果オブジェクトを利用するXMLパーサに関する注意事項

表6-30　高速パース機能に関する注意事項（解析結果オブジェクトを利用するXMLパーサ）

項番
注意事項

1
解析結果オブジェクトを利用するパーサの次のフィーチャーをfalseに設定した場合，高速化の効果が得られない場合があります。

http://xml.org/sax/features/external-general-entities

http://xml.org/sax/features/external-parameter-entities

6.17.3　XML1.1に関する注意事項

表6-31　高速パース機能に関する注意事項（XML1.1）

項番 | 注意事項
1 | 高速パース機能では，XML1.1はサポートしていません。このため，XML1.1文書を事前解析するとエラーが発生します。また，XML1.1文書を高速パース機能の対象に設定しても，高速パース機能は適用されません。

6.17.4　XIncludeに関する注意事項（高速パース機能）

表6-32　高速パース機能に関する注意事項（XInclude）

項番 | 注意事項
1 | XIncludeで取り込むファイルの解析に対しては，高速パース機能は適用されません。

6.17.5　高速化定義ファイルに関する注意事項

表6-33　高速パース機能に関する注意事項（高速化定義ファイル）

項番
注意事項

1
高速化定義ファイルのプロパティキー（高速パース機能の対象となるXML文書名）には，高速パース機能の対象となるparseメソッドで処理するXML文書のURIを指定してください。
高速パース機能の対象となるparseメソッドの一覧は，「3.3.17　XML文書の解析（高速化定義ファイルを使用する場合）」の表3-5を参照してください。
高速パース機能の対象となるparseメソッド以外※1で処理するXML文書※2のURIを指定すると，そのXML文書をparseメソッド以外で処理したときの結果が不正になるおそれがあります。

2
高速化定義ファイル内での名前空間の有効・無効の指定と，実際に解析を行うときのパーサに設定する名前空間の有効・無効の設定が一致しない場合，解析の実行結果が不正になるおそれがあります。

注※1

例えば，次のメソッドがあります。

・javax.xml.transform.Transformer#transformメソッド

・javax.xml.validation.SchemaFactory#newSchemaメソッド

・javax.xml.xpath.XPath#evaluateメソッド

注※2

スタイルシート，スキーマ文書またはXPath式の適用対象となるXML文書などを指します。

6.17.6　絶対パスの指定方法に関する注意事項

表6-34　高速パース機能に関する注意事項（絶対パスの指定方法）

項番
注意事項

1
絶対パスを指定する場合は，パス区切り文字に"/"を使用してください。

2
Windowsの場合，絶対パスにはドライブ名を含めてください。
Windowsの場合とUNIXの場合の，絶対パスの指定例を次に示します。

Windowsの場合

D:/home/xml/training/training1.xml

UNIXの場合

/home/xml/training/training1.xml

6.17.7　事前解析用XML文書に関する注意事項

表6-35　高速パース機能に関する注意事項（事前解析用XML文書）

項番 | 注意事項
1 | 事前解析用XML文書に記述できる要素名および属性名の長さには上限があります。事前解析用XML文書に記述されている最も長い要素名および属性名の文字数を足した長さ※が21000文字を超える場合，KECX09607-Eエラーが発生して処理が中止されることがあります。

注※

例えば，次のXML文書では，最も長い要素名（elementまたはcontent）の文字数は7で，最も長い属性名（index）の文字数は5なので，これらを足した文字数は12になります。

6.17.8　チューニング情報に関する注意事項

表6-36　高速パース機能に関する注意事項（チューニング情報）

項番
注意事項

1
パース対象XML文書のシステム識別子のパス区切り文字には"/"を使用してください。

2
コンストラクタ引数に相対パスを指定して作成したFileオブジェクトを，PreparsedObjectFactoryクラスのnewPreparsedObjectメソッドに指定すると，チューニングサマリファイルおよび詳細ファイルに出力される事前解析用XML文書のファイル名のパス区切り文字が，次に示すように重複して出力される場合があります。

Preparsed XML: C:¥¥a.xml

6.17.9　解析性能に関する注意事項

表6-37　高速パース機能に関する注意事項（解析性能）

項番 | 注意事項
1 | 外部エンティティ参照を含むXML文書に高速パース機能を適用すると，通常の解析と比べ，解析性能が向上しない場合があります。外部エンティティ参照を含むXML文書に高速パース機能を適用する場合は，事前に性能評価を行ってください。

7.　メッセージ

この章では，Cosminexus XML Processorで出力されるメッセージの形式，およびメッセージの一覧について説明します。

＜この章の構成＞

7.1　メッセージの形式

7.2　メッセージ一覧

7.1　メッセージの形式

Cosminexus XML Processorで出力されるメッセージは，メッセージIDとそれに続くメッセージテキストで構成されます。

メッセージの形式

KECXnnnnn-X メッセージテキスト

KECX

メッセージを出力したプログラムがCosminexus XML Processorであることを表します。

nnnnn

各コンポーネントで任意に割り当てられるメッセージ番号を表します。

X

メッセージの種別を表します。各種別を説明します。

E：エラー

W：警告

メッセージテキスト

出力されるメッセージを表します。

メッセージ中の{数字}の部分は，実際には該当する文字列が表示されます。該当する文字列に複数の語句が含まれる場合，コンマ（,）で区切って出力されます（例えば，メッセージKECX06223-Eでは，該当する文字列が ' 対象名前空間，名前' のように出力されることがあります）。

XML Schemaの検証では，型の名前が不明な場合，メッセージ中の型の名前が挿入される文字列の個所に "AnonType_xxx" が出力されます（例えば，メッセージKECX06063-Eでは，"#AnonType_xxx" のように出力されます）。

各メッセージは，メッセージID，メッセージ和文テキスト，メッセージ英文テキストの順に記載してあります。

7.2　メッセージ一覧

メッセージの一覧を記載します。

＜この節の構成＞

7.2.1　KECX01000～KECX01999

7.2.2　KECX02000～KECX02999

7.2.3　KECX03000～KECX03999

7.2.4　KECX04000～KECX04999

7.2.5　KECX06000～KECX06999

7.2.6　KECX07000～KECX07999

7.2.7　KECX09000～KECX09999

7.2.1　KECX01000～KECX01999

KECX01001-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX01002-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました。
An internal error occurred while formatting the following message:

KECX01003-E

解析途中でファイルの終端に達しました。
Premature end of file.

KECX01004-E

整形式なドキュメントにはルート要素が必要です。
The root element is required in a well-formed document.

KECX01005-E

CDATAセクションに無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the CDATA section.

KECX01006-E

ドキュメントのelement contentに無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the element content of the document.

KECX01010-E

XML宣言に無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the XML declaration.

KECX01011-E

文字シーケンス]]>は，CDATAセクションの終了を示す以外の目的で使用してはいけません。
The character sequence "]]>" must not appear in content unless used to mark the end of a CDATA section.

KECX01014-E

XML宣言中では，{0}のあとには'＝'がなければいけません。
The ' = ' character must follow "{0}" in the XML declaration.

KECX01015-E

XML宣言中では，{0}の値は引用符で囲まなければいけません。
The value following "{0}" in the XML declaration must be a quoted string.

KECX01016-E

XML宣言中は?>で終了する必要があります。
The XML declaration must end with "?>".

KECX01017-E

XML宣言にはversionが必要です。
The version is required in the XML declaration.

KECX01018-E

XML宣言のバージョン擬似属性の前には，空白が必要です。
White space is required before the version pseudo attribute in the XML declaration.

KECX01019-E

XML宣言のエンコーディング擬似属性の前には，空白が必要です。
White space is required before the encoding pseudo attribute in the XML declaration.

KECX01020-E

XML宣言のエンコーディング擬似属性の前には，空白が必要です。
White space is required before the encoding pseudo attribute in the XML declaration.

KECX01021-E

ルート要素より前のドキュメント中のmarkupは整形式でなくてはいけません。
The markup in the document preceding the root element must be well-formed.

KECX01022-E

ルート要素に続くドキュメント中のmarkupは整形式でなくてはいけません。
The markup in the document following the root element must be well-formed.

KECX01023-E

Doctypeはすでに宣言されています。
Already seen doctype.

KECX01024-E

prologには，contentを指定できません。または，parseメソッドの引数に空文字列が指定された可能性があります。
Content is not allowed in prolog.

KECX01025-E

prologには，referenceを指定できません。
Reference is not allowed in prolog.

KECX01026-E

trailing sectionには，contentを指定できません。
Content is not allowed in trailing section.

KECX01027-E

trailing sectionには，referenceを指定できません。
Reference is not allowed in trailing section.

KECX01028-E

standalone ドキュメント宣言の指定は，yesかnoにする必要があります。{0}であってはいけません。
The standalone document declaration value must be "yes" or "no", not "{0}".

KECX01030-E

要素タイプ{0}は，終了タグ</{0}>で終わらなければいけません。
The element type "{0}" must be terminated by the matching end-tag "</{0}>".

KECX01031-E

要素タイプ{0}のあとには，>または/>のどちらかがなければいけません。
Element type "{0}" must be followed by either attribute specifications, ">" or "/>".

KECX01032-E

要素タイプ{0}に関連した属性名{1}のあとには，'='がなければいけません。
Attribute name "{1}" associated with an element type "{0}" must be followed by the ' = ' character.

KECX01033-E

要素タイプ{0}に関連した属性指定{1}には，開始引用符がありません。
Open quote is expected for attribute "{1}" associated with an element type "{0}".

KECX01034-E

要素タイプ{0}に関連した属性指定{1}には，終了引用符がありません。
Close quote is expected for attribute "{1}" associated with an element type "{0}".

KECX01035-E

属性{1}は，すでに要素{0}で指定されています。
Attribute "{1}" was already specified for element "{0}".

KECX01036-E

名前空間{2}に境界を付ける属性{1}は，要素{0}にすでに結び付けられています。
Attribute "{1}" bound to namespace "{2}" was already specified for element "{0}".

KECX01037-E

要素タイプ{0}の終了タグは，'>'でなければいけません。
The end-tag for element type "{0}" must end with a '>' delimiter.

KECX01038-E

要素の中身は，整形式の文字またはmarkupでなければいけません。
The content of elements must consist of well-formed character data or markup.

KECX01039-E

要素内容にはDOCTYPEを指定できません。
A DOCTYPE is not allowed in content.

KECX01042-E

要素{0}は，同じエンティティ内で開始・終了しなければいけません。
The element "{0}" must start and end within the same entity.

KECX01043-E

XML文書は，同じエンティティ内で開始・終了しなければいけません。
XML document structures must start and end within the same entity.

KECX01044-E

要素が{0}の属性{1}に無効なXML文字(Unicode:0x{2})があります。
An invalid XML character (Unicode: 0x{2}) was found in the value of attribute "{1}" and element is "{0}".

KECX01045-E

コメントに無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the comment.

KECX01046-E

処理命令に無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the processing instruction.

KECX01048-E

テキスト宣言に無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the text declaration.

KECX01050-E

要素タイプ{0}に関連した属性値{1}は，'<'を含んではいけません。
The value of attribute "{1}" associated with an element type "{0}" must not contain the '<' character.

KECX01052-E

コメントは<!--で始めなければいけません。
Comment must start with "<!--".

KECX01053-E

コメント内では，--は使用できません。
The string "--" is not permitted within comments.

KECX01056-E

処理命令はターゲット名で始めなければいけません。
The processing instruction must begin with the name of the target.

KECX01057-E

処理命令ターゲットとデータの間には空白が必要です。
White space is required between the processing instruction target and data.

KECX01059-E

処理命令ターゲットは[xX][mM][lL]の指定ができません。
The processing instruction target matching "[xX][mM][lL]" is not allowed.

KECX01062-E

XMLバージョン{0}はサポートしていません。XML1.0だけをサポートしています。
XML version "{0}" is not supported, only XML 1.0 is supported.

KECX01063-E

文字参照では，10進コードは&#の直後に指定しなければいけません。
A decimal representation must immediately follow the "&#" in a character reference.

KECX01064-E

文字参照では16進コードは&#xの直後に指定しなければいけません。
A hexadecimal representation must immediately follow the "&#x" in a character reference.

KECX01065-E

文字参照は'；'で終了する必要があります。
The character reference must end with the ';' delimiter.

KECX01066-E

文字参照&#{0};は無効なXML文字指定です。
Character reference "&#{0};" is an invalid XML character.

KECX01067-E

エンティティ名は，エンティティ参照の中で'&'の直後に続かなければいけません。
The entity name must immediately follow the '&' in the entity reference.

KECX01068-E

エンティティ{0}の参照は，'；'で終了する必要があります。
The reference to entity "{0}" must end with the ';' delimiter.

KECX01070-E

テキスト宣言中では，{0}のあとには'='がなければいけません。
The ' = ' character must follow "{0}" in the text declaration.

KECX01071-E

テキスト宣言中では，{0}の値は引用符で囲まなければいけません。
The value following "{0}" in the text declaration must be a quoted string.

KECX01072-E

テキスト宣言中の{0}を閉じる引用符がありません。
closing quote in the value following "{0}" in the text declaration is missing.

KECX01073-E

テキスト宣言中のバージョン擬似属性の前には空白が必要です。
White space is required before the version pseudo attribute in the text declaration.

KECX01074-E

テキスト宣言中のエンコーディング擬似属性の前には空白が必要です。
White space is required before the encoding pseudo attribute in the text declaration.

KECX01076-E

テキスト宣言中で，エンコーディング宣言をする必要があります。
The encoding declaration is required in the text declaration.

KECX01077-E

これ以上の擬似属性指定はできません。
No more pseudo attributes are allowed.

KECX01078-E

擬似属性指定が足りません。
More pseudo attributes are expected.

KECX01079-E

擬似属性指定名称が指定されていません。
A pseudo attribute name is expected.

KECX01082-E

{0}は無効なエンコーディング名です。
Invalid encoding name "{0}".

KECX01083-E

エンコーディング{0}で与えられたバイトオーダーはサポートしていません。
Given byte order for encoding "{0}" is not supported.

KECX01087-E

公開識別子に無効なXML文字(Unicode:0x{0})があります。
An invalid XML character (Unicode: 0x{0}) was found in the public identifier.

KECX01088-E

システム識別子で無効なXML文字(Unicode:0x{0})が存在します。
An invalid XML character (Unicode: 0x{0}) was found in the system identifier.

KECX01089-E

DOCTYPE宣言で，キーワードSYSTEMのあとに空白が必要です。
White space is required after keyword SYSTEM in DOCTYPE decl.

KECX01090-E

システム識別子は単一引用符か二重引用符で開始する必要があります。
The system identifier must begin with either a single or double quote character.

KECX01091-E

システム識別子は単一引用符か二重引用符で終了する必要があります。
The system identifier must end with the matching quote character.

KECX01092-E

DOCTYPE宣言で，キーワードPUBLICのあとに空白が必要です。
White spaces are required after keyword PUBLIC in DOCTYPE decl.

KECX01093-E

公開識別子は単一引用符か二重引用符で開始する必要があります。
The public identifier must begin with either a single or double quote character.

KECX01094-E

公開識別子は単一引用符か二重引用符で終了する必要があります。
The public identifier must end with the matching quote character.

KECX01096-E

公開識別子とシステム識別子の間には空白が必要です。
White spaces are required between publicId and systemId.

KECX01097-E

DOCTYPE宣言で，<!DOCTYPE指定のあとには空白が必要です。
White space is required after "<!DOCTYPE" in the document type declaration.

KECX01098-E

DOCTYPE宣言で，<!DOCTYPE指定のあとにはルート要素タイプが現れる必要があります。
The root element type must appear after "<!DOCTYPE" in the document type declaration.

KECX01099-E

ルート要素タイプ{0}のDOCTYPE宣言は，'>'で終わる必要があります。
The document type declaration for root element type "{0}" must end with '>'.

KECX01100-E

パラメタエンティティ参照{0}は，DTD内部サブセット内のmarkupの内側には記述できません。
The parameter entity reference "%{0};" cannot occur within markup in the internal subset of the DTD.

KECX01101-E

markup宣言は，整形式なドキュメントタイプ宣言を含むか，またはポイントする必要があります。
The markup declarations contained or pointed to by the document type declaration must be well-formed.

KECX01103-E

要素タイプ宣言で，<!ELEMENTのあとに空白が必要です。
White space is required after "<!ELEMENT" in the element type declaration.

KECX01104-E

要素タイプの指定には，要素タイプ宣言が必要です。
The element type is required in the element type declaration.

KECX01105-E

要素タイプ宣言内で，要素タイプ{0}のあとに空白が必要です。
White space is required after the element type "{0}" in the element type declaration.

KECX01107-E

要素タイプ宣言{0}は，'>'で終了する必要があります。
The declaration for element type "{0}" must end with '>'.

KECX01108-E

要素タイプ{0}の宣言では，'（'または要素タイプが必要です。
A '(' character or an element type is required in the declaration of element type "{0}".

KECX01109-E

要素タイプ{0}の宣言では，'）'が必要です。
A ')' is required in the declaration of element type "{0}".

KECX01110-E

要素タイプ{0}の宣言で，要素タイプの指定が必要です。
An element type is required in the declaration of element type "{0}".

KECX01112-E

混合内容モデル{0}は，子要素のタイプが必要な場合に）*で終わらなくてはいけません。
The mixed content model "{0}" must end with ")*" when the types of child elements are constrained.

KECX01113-E

属性リスト宣言では，<!ATTLISTのあとに空白が必要です。
White space is required after "<!ATTLIST" in the attribute-list declaration.

KECX01114-E

要素タイプは，属性リスト宣言が必要です。
The element type is required in the attribute-list declaration.

KECX01115-E

要素{0}の属性リスト宣言では，属性名の前に空白が必要です。
White space is required before the attribute name in the attribute-list declaration for element "{0}".

KECX01116-E

属性名は要素{0}の属性リストを指定する必要があります。
The attribute name must be specified in the attribute-list declaration for element "{0}".

KECX01117-E

要素{0}の属性{1}の宣言で，属性タイプの前に空白が必要です。
White space is required before the attribute type in the declaration of attribute "{1}" for element "{0}".

KECX01118-E

要素{0}の属性{1}の宣言で，属性タイプが必要です。
The attribute type is required in the declaration of attribute "{1}" for element "{0}".

KECX01119-E

要素{0}の属性{1}の宣言で，デフォルト属性の前に空白が必要です。
White space is required before the attribute default in the declaration of attribute "{1}" for element "{0}".

KECX01120-W

指定された要素{0}の同じ属性{1}宣言のために，一つ以上の属性定義が与えられます。
More than one attribute definition is provided for the same attribute "{1}" of a given element "{0}".

KECX01121-E

属性宣言{1}で，NOTATIONのあとに空白が必要です。
White space must appear after "NOTATION" in the "{1}" attribute declaration.

KECX01122-E

属性宣言{1}でNOTATIONに続いて'（'の指定が必要です。
The '(' character must follow "NOTATION" in the "{1}" attribute declaration.

KECX01123-E

属性宣言{1}の記法タイプ指定で，記法名が必要です。
The notation name is required in the notation type list for the "{1}" attribute declaration.

KECX01124-E

属性宣言{1}の記法タイプ指定では，記法タイプは'）'で終わらなければいけません。
The notation type list must end with ')' in the "{1}" attribute declaration.

KECX01125-E

属性宣言{1}の列挙されたタイプリストで名称トークンが必要です。
The name token is required in the enumerated type list for the "{1}" attribute declaration.

KECX01126-E

属性宣言{1}の列挙されたタイプリストは'）'で終わらなくてはいけません。
The enumerated type list must end with ')' in the "{1}" attribute declaration.

KECX01127-E

属性宣言{1}で，FIXEDのあとに空白が必要です。
White space must appear after "FIXED" in the "{1}" attribute declaration.

KECX01128-E

含まれる条件つきセクションは，]]>で終了する必要があります。
The included conditional section must end with "]]>".

KECX01129-E

除外される条件つきセクションは，]]>で終了する必要があります。
The excluded conditional section must end with "]]>".

KECX01130-E

パラメタエンティティ参照のエンティティ名は，'%'に続いて記述する必要があります。
The entity name must immediately follow the '%' in the parameter entity reference.

KECX01131-E

パラメタエンティティ参照{0}は，'；'で終了する必要があります。
The parameter entity reference "%{0};" must end with the ';' delimiter.

KECX01132-E

エンティティ宣言で，<!ENTITYのあとに空白が必要です。
White space is required after "<!ENTITY" in the entity declaration.

KECX01133-E

パラメタエンティティ宣言で，<!ENTITYと'％'の間に空白が必要です。
White space is required between "<!ENTITY" and the '%' character in the parameter entity declaration.

KECX01135-E

エンティティの名前は，エンティティ宣言で必要です。
The name of the entity is required in the entity declaration.

KECX01136-E

エンティティ宣言で，エンティティ名{0}と定義の間に空白が必要です。
White space is required between the entity name "{0}" and the definition in the entity declaration.

KECX01137-E

エンティティ{0}の宣言で，NDATAと記法名の間に空白が必要です。
White space is required between "NDATA" and the notation name in the declaration for the entity "{0}".

KECX01138-E

エンティティ{0}の宣言で，NDATAの前に空白が必要です。
White space is required before "NDATA" in the declaration for the entity "{0}".

KECX01139-E

エンティティ{0}宣言で，NDATAのあとに記法名が必要です。
The notation name is required after "NDATA" in the declaration for the entity "{0}".

KECX01140-E

エンティティ{0}の宣言は，'>'で終わらなければいけません。
The declaration for the entity "{0}" must end with '>'.

KECX01146-E

記法宣言で，<!NOTATIONのあとに空白が必要です。
White space is required after "<!NOTATION" in the notation declaration.

KECX01147-E

記法宣言では記法名が必要です。
The name of the notation is required in the notation declaration.

KECX01148-E

記法宣言で，記法名{0}のあとに空白が必要です。
White space is required after the notation name "{0}" in the notation declaration.

KECX01149-E

記法{0}の宣言は，システム識別子または公開識別子を含まなければいけません。
The declaration for the notation "{0}" must include a system or public identifier.

KECX01150-E

表記法{0}の宣言は，'>'で終わらなければいけません。
The declaration for the notation "{0}" must end with '>'.

KECX01151-E

要素タイプ{1}は，要素宣言{0}の内容モデルですでに宣言されています。
The element type "{1}" was already specified in the content model of the element decl "{0}".

KECX01154-E

ID属性{0}は，宣言されている#IMPLIEDまたは#REQUIREDのデフォルトでなければいけません。
The ID attribute "{0}" must have a declared default of "#IMPLIED" or "#REQUIRED".

KECX01155-E

ID型の属性値{0}は名前でなければいけません。
Attribute value "{0}" of type ID must be a name.

KECX01156-E

ID型の属性値{0}は，文書中に同じ名称があってはいけません。
Attribute value "{0}" of type ID must be unique within the document.

KECX01157-E

IDREF型の属性値{0}は名前でなければいけません。
Attribute value "{0}" of type IDREF must be a name.

KECX01158-E

IDREF型の属性値{0}は一つ以上の名前でなければいけません。
Attribute value "{0}" of type IDREFS must be one or more names.

KECX01159-E

パラメタエンティティ{0}の置換テキストは，適切にネストされた宣言を含まなくてはいけません。
The replacement text of parameter entity "{0}" must include properly nested declarations.

KECX01161-E

属性{1}は要素タイプ{0}の宣言でなくてはいけません。
Attribute "{1}" must be declared for element type "{0}".

KECX01162-E

{1}の値を持つ属性{0}は，{2}のリスト中の値でなければいけません。
Attribute "{0}" with value "{1}" must have a value from the list "{2}".

KECX01163-E

属性{0}の値{1}は，スタンドアロン文書で正規化によって({2}に)変更されてはいけません。
The value "{1}" of attribute "{0}" must not be changed by normalization (to "{2}") in a standalone document.

KECX01164-E

要素タイプ{0}のコンテンツが不完全です。{1}と一致しなくてはいけません。
The content of element type "{0}" is incomplete, it must match "{1}".

KECX01165-E

要素タイプ{0}のコンテンツは，{1}と一致しなくてはいけません。
The content of element type "{0}" must match "{1}".

KECX01166-E

要素タイプ{0}の属性{1}はデフォルト値を持っていて，かつスタンドアロン文書で指定されていなければいけません。
Attribute "{1}" for element type "{0}" has a default value and must be specified in a standalone document.

KECX01168-E

要素タイプ{0}は2度以上宣言してはいけません。
Element type "{0}" must not be declared more than once.

KECX01169-E

要素タイプ{0}を宣言しなくてはいけません。
Element type "{0}" must be declared.

KECX01170-E

ドキュメントは無効です。文法がありません。
Document is invalid: no grammar found.

KECX01171-E

識別子{0}を持つ要素が，ドキュメント中になければいけません。
An element with the identifier "{0}" must appear in the document.

KECX01173-E

値{2}の属性{1}は，{3}の値を持っていなくてはいけません。
Attribute "{1}" with value "{2}" must have a value of "{3}".

KECX01174-E

要素タイプ{0}はID型の属性{1}をすでに持っています。ID型の第二の属性{2}は許可されません。
Element type "{0}" already has attribute "{1}" of type ID, a second attribute "{2}" of type ID is not permitted.

KECX01175-E

要素タイプ{0}はNOTATION型の属性{1}をすでに持っています。NOTATION型の第二の属性{2}は許可されません。
Element type "{0}" already has attribute "{1}" of type NOTATION, a second attribute "{2}" of type NOTATION is not permitted.

KECX01176-E

属性{0}の記法タイプリストで参照される場合は，記法{1}を宣言する必要があります。
The notation "{1}" must be declared when referenced in the notation type list for attribute "{0}".

KECX01177-E

属性{0}の解析対象外エンティティで参照される場合は，記法{1}を宣言する必要があります。
The notation "{1}" must be declared when referenced in the unparsed entity declaration for "{0}".

KECX01178-E

外部解析対象エンティティで宣言された{0}の参照は，スタンドアロン文書では許可されません。
The reference to entity "{0}" declared in an external parsed entity is not permitted in a standalone document.

KECX01179-E

要素タイプ{0}の指定のために属性{1}は必要です。
Attribute "{1}" is required and must be specified for element type "{0}".

KECX01180-E

スタンドアロン文書の要素コンテンツを持つ，外部解析対象エンティティの，要素宣言に空白があってはいけません。
White space must not occur between elements declared in an external parsed entity with element content in a standalone document.

KECX01181-E

NMTOKEN型の属性値{0}はname tokenでなければいけません。
Attribute value "{0}" of type NMTOKEN must be a name token.

KECX01182-E

NMTOKENS型の属性値{0}は一つ以上のname tokenでなければいけません。
Attribute value "{0}" of type NMTOKENS must be one or more name tokens.

KECX01183-E

ドキュメントルート要素{1}は，DOCTYPE root{0}と一致する必要があります。
Document root element "{1}", must match DOCTYPE root "{0}".

KECX01185-E

エンティティ・データタイプの有効性:有効な文法による初期化メソッドの呼び出しに失敗しました。
ENTITYDatatype Validator: Failed Need to call initialize method with a valid Grammar reference.

KECX01186-E

エンティティ{0}は解析対象外ではありません。
ENTITY "{0}" is not unparsed.

KECX01188-E

ENTITIES型，IDREFS型，NMTOKENS型の値に，空のリスト指定はできません。
Value of type ENTITIES, IDREFS, and NMTOKENS cannot be empty list.

KECX01189-E

外部エンティティ参照&{0}；は許可されていない属性です。
The external entity reference "&{0};" is not permitted in an attribute value.

KECX01190-E

エンティティ{0}が参照されましたが，宣言されていません。
The entity "{0}" was referenced, but not declared.

KECX01191-E

解析対象外エンティティ参照&{0};は許可されません。
The unparsed entity reference "&{0};" is not permitted.

KECX01192-E

再帰的なエンティティ参照{0}です（path{1}を参照してください）。
Recursive entity reference "{0}". (Reference path: {1}),

KECX01197-E

要素{1}の接頭辞{0}は結び付けられません。
The prefix "{0}" for element "{1}" is not bound.

KECX01198-E

要素タイプ{0}に関連した属性{1}の接頭辞{2}は結び付けられません。
The prefix "{2}" for attribute "{1}" associated with an element type "{0}" is not bound.

KECX01199-E

属性{0}値が無効です。接頭辞を付けた名前空間バインディングは，空ではありません。
The value of the attribute "{0}" is invalid. Prefixed namespace bindings may not be empty.

KECX01200-E

名前空間接頭辞{0}が宣言されませんでした。
The namespace prefix "{0}" was not declared.

KECX01201-E

属性{0}のデフォルト値{1}は，この属性タイプで使えない用語です。
The defaultValue "{1}" of attribute "{0}" is not legal as for the lexical constraints of this attribute type.

KECX01202-E

宣言に開始引用符がありません。
OpenQuoteMissingInDecl

KECX01203-E

リテラルで無効な文字があります。
InvalidCharInLiteral

KECX01204-E

未知の属性タイプ{0}が現れました。
!!! unknown attribute type {0}

KECX01206-W

警告:検証はされましたが，org.xml.sax.ErrorHandlerはセットされていません。これは望ましい処理ではありません。パーサはデフォルトのErrorHandlerを使って最初の{0}のエラーを報告します。これをセットするために，setErrorHandlerメソッドを呼び出してください。
Warning: validation was turned on but an org.xml.sax.ErrorHandler was not set, which is probably not what is desired. Parser will use a default ErrorHandler to print the first {0} errors. Please call the 'setErrorHandler' method to fix this.

KECX01207-E

この値を取得してはいけません。DeferredDocumentTypeImpl#synchronizeInfo: node.getNodeType()の値は{0}で，クラス名は{1}です。
Should never get here. : DeferredDocumentTypeImpl#synchronizeInfo: node.getNodeType() = {0}, class = {1}

KECX01208-E

{1}-バイトUTF-8シーケンスの{0}バイト目が不正です。
Invalid byte {0} of {1}-byte UTF-8 sequence.

KECX01209-E

{1}-バイトUTF-8シーケンスの{0}バイト目が必要です。
Expected byte {0} of {1}-byte UTF-8 sequence.

KECX01210-E

UTF-8シーケンスの高位サロゲートビットは0x10を超えてはいけませんが，0x{0}を見つけました。
High surrogate bits in UTF-8 sequence must not exceed 0x10 but found 0x{0}.

KECX01211-E

オペレーション{0}は{1}readerにサポートされていません。
Operation "{0}" not supported by {1} reader.

KECX01212-E

バイト{0}は，7-bit ASCII文字セットのメンバではありません。
Byte "{0}" is not a member of the (7-bit) ASCII character set.

KECX01213-W

エンティティ{0}は，2度以上宣言されています。
Entity "{0}" is declared more than once.

KECX01214-E

要素{0}の接頭辞にxmlnsは指定できません。
Element "{0}" cannot have "xmlns" as its prefix.

KECX01215-E

接頭辞xmlnsは任意の名前空間に明示的に結び付けることができません。また，xmlnsのための名前空間は，任意の接頭辞に明示的に結び付けることができません。
The prefix "xmlns" cannot be bound to any namespace explicitly; neither can the namespace for "xmlns" be bound to any prefix explicitly.

KECX01216-E

接頭辞xmlは，その通常の名前空間以外の任意の名前空間に結び付けられません。また，xmlのための名前空間は，xml以外に任意の接頭辞に結び付けることができません。
The prefix "xml" cannot be bound to any namespace other than its usual namespace; neither can the namespace for "xml" be bound to any prefix other than "xml".

KECX01217-E

実体参照が完全な宣言として使用される場合，パラメタ実体{0}の置換テキストは，適切にネストされた宣言を含まなくてはいけません。
The replacement text of parameter entity "{0}" must include properly nested declarations when the entity reference is used as a complete declaration.

KECX01218-E

パラメタ実体{0}の置換テキストは，条件つきのセクション全体，単なるINCLUDE，またはIGNOREを含んでいなければいけません。
The replacement text of parameter entity "{0}" must include the entire conditional section or just INCLUDE or IGNORE.

KECX01219-E

名前空間が有効な場合，コロンは名前{0}の中で許可されません。
A colon is not allowed in the name '{0}' when namespaces are enabled.

KECX01220-E

フィーチャー"http://cosminexus.com/xml/features/disallow-doctype-decl"にtrueがセットされている場合は，DOCTYPEは許可されません。
DOCTYPE is disallowed when the feature "http://cosminexus.com/xml/features/disallow-doctype-decl" set to true.

KECX01221-E

XMLバージョン{0}はサポートしていません。XML1.0とXML1.1だけをサポートしています。
XML version "{0}" is not supported, only XML 1.0 and XML 1.1 are supported.

KECX01222-E

名前空間が有効な場合，ID型の属性値{0}はNCNameでなければいけません。
Attribute value "{0}" of type ID must be an NCName when namespaces are enabled.

KECX01223-E

名前空間が有効な場合，IDREF型の属性値{0}はNCNameでなければいけません。
Attribute value "{0}" of type IDREF must be an NCName when namespaces are enabled.

KECX01224-E

要素または属性はQname生成と一致しません。QName::=(NCName':')?NCName
Element or attribute do not match QName production: QName::=(NCName':')?NCName.

KECX01225-E

パーサは，このドキュメント中に{0}以上のエンティティ拡張を検出しました。これはアプリケーションによって課された限界です。
The parser has encountered more than "{0}" entity expansions in this document; this is the limit imposed by the application.

KECX01226-E

ある特定のエンコーディングに含めると決定されたエンティティには，該当のエンコーディングで不正なシーケンスを含めることはできません。
An entity determined to be in a certain encoding must not contain sequences illegal in that encoding.

KECX01227-E

列挙値{1}が要素{0｝の属性{2}の宣言中で複数回指定されました。一つの列挙属性宣言内のNMTOKENSはすべて異なっている必要があります。
The enumeration value "{1}" was specified more than once in the declaration of attribute "{2}" for element "{0}". The NMTOKENS in a single Enumeration attribute declaration must all be distinct.

KECX01228-E

列挙値{1}が要素{0}の属性{2}の宣言中で複数回指定されました。一つの記法型属性宣言内のNOTATION名はすべて異なっている必要があります。
The enumeration value "{1}" was specified more than once in the declaration of attribute "{2}" for element "{0}". The NOTATION names in a single NotationType attribute declaration must all be distinct.

KECX01229-E

要素型{0}の内容は{1}に一致する必要があります。型{2}の子は許可されていません。
The content of element type "{0}" must match "{1}". Children of type "{2}" are not allowed.

KECX01230-E

EMPTYと宣言された要素型{0}は，NOTATION型の属性{1}を宣言できません。
Element type "{0}" which was declared EMPTY cannot declare attribute "{1}" of type NOTATION.

KECX01231-E

記法{0}の宣言は一意ではありません。同じ名前は複数の記法宣言内で宣言してはいけません。
The declaration for the notation "{0}" is not unique. A given Name must not be declared in more than one notation declaration.

KECX01301-E

メッセージキーに対応するエラーメッセージが見つかりません。
The error message corresponding to the message key can not be found.

KECX01302-E

次のメッセージをフォーマットする間に，内部エラーが発生しました。
An internal error occurred while formatting the following message:¥n

KECX01303-E

テキストの指定された範囲は，DOMStringに入りません。
The specified range of text does not fit into a DOMString.

KECX01304-E

許可されていない箇所に対して，ノードを挿入しようとしています。
An attempt was made to insert a node where it is not permitted.

KECX01305-E

インデックスまたはサイズが，負の値または許可された値より大きいです。
The index or size is negative, or greater than the allowed value.

KECX01306-E

ほかの場所で使用されている属性を追加しようとしています。
An attempt is made to add an attribute that is already in use elsewhere.

KECX01308-E

不正な，または無効なXML文字が指定されています。
An invalid or illegal XML character is specified.

KECX01310-E

存在しない，または使用できないオブジェクトを使用しようとしています。
An attempt is made to use an object that is not, or is no longer, usable.

KECX01311-E

名前空間に関して，誤った方法でオブジェクトを作成または変更しようとしています。
An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.

KECX01312-E

存在しないコンテキスト中のノードを参照しようとしています。
An attempt is made to reference a node in a context where it does not exist.

KECX01313-E

そのインプリメンテーションは，要求された型のオブジェクトまたはオペレーションをサポートしません。
The implementation does not support the requested type of object or operation.

KECX01315-E

修正してはいけない箇所に対して，オブジェクトを修正しようとしています。
An attempt is made to modify an object where modifications are not allowed.

KECX01318-E

ノードを作成した文書以外の文書中でノードが使用されています。
A node is used in a different document than the one that created it.

KECX01319-E

パラメタ{0}は認識されますが，要求された値はセットされません。
The parameter {0} is recognized but the requested value cannot be set.

KECX01320-E

パラメタ{0}は認識されません。
The parameter {0} is not recognized.

KECX01323-E

メソッド呼び出し前のイベントの初期化で，イベントの型が指定されませんでした。
The Event's type was not specified by initializing the event before the method was called.

KECX01324-E

結果として生じている文字列は長過ぎるので，DOMStringに入りません。{0}
The resulting string is too long to fit in a DOMString: '{0}'.

KECX01325-E

このパラメタ名の値型は期待された値型と互換性がありません。
The value type for this parameter name is incompatible with the expected value type.

KECX01326-E

{1}ノードのテキスト{0}に，無効なXML文字が含まれています。
The text {0} of the {1} node contains invalid XML characters.

KECX01327-E

{1}という名前の{0}ノードに，無効なXML文字が含まれています。
The {0} node named {1} contains invalid XML characters.

KECX01328-E

CDATAセクションにCDATAセクション終了マーカーの「]]>」が含まれています。
CDATA sections containing the CDATA section termination marker ']]>'

KECX01329-E

DOCTYPE宣言は許可されていません。
DOCTYPE declaration is not allowed.

KECX01330-E

エンコーディング{0}はサポートされていません。
The encoding {0} is not supported.

KECX01331-E

正規化中，DOM内に無効なXML文字（Unicode: 0x{0}）がありました。
An invalid XML character (Unicode: 0x{0}) was found in the DOM during normalization.

KECX01332-E

属性{0}値{1}が宣言されていないエンティティを参照しました。
The attribute "{0}" value "{1}" referenced an entity that was not declared.

KECX01333-E

要素{0}の名前空間正規化中，nullのローカル名がありました。
A null local name was encountered during namespace normalization of element {0}.

KECX01334-E

属性{0}の名前空間正規化中，nullのローカル名がありました。
A null local name was encountered during namespace normalization of attribute {0}.

KECX01335-E

DOMツリーの構築に使用されるドキュメントファクトリ{0}のクラス名はorg.w3c.dom.Document型ではありません。
The class name of the document factory "{0}" used to construct the DOM tree is not of type org.w3c.dom.Document.

KECX01336-E

DOMツリーの構築に使用されるドキュメントファクトリ{0}のクラス名はありませんでした。
The class name of the document factory "{0}" used to construct the DOM tree could not be found.

KECX01337-E

{0}という名前のクラスはorg.w3c.dom.Documentとして構築できませんでした。
The class named "{0}" could not be constructed as a org.w3c.dom.Document.

KECX01338-E

プロパティ{1}を設定する前にプロパティ{0}を設定する必要があります。
Property '{0}' must be set before setting property '{1}'.

KECX01339-E

指定したソースはnullにできません。
The source specified cannot be null.

KECX01401-E

引数{0}がnullです。
Argument '{0}' is null.

KECX01402-E

serializerに供給されるwriterがありません。
No writer supplied for serializer.

KECX01403-E

メソッド{0}はこのfactoryでサポートされていません。
The method '{0}' is not supported by this factory.

KECX01404-E

serializerは，シリアライゼーションの最中にリセットされないこともあります。
The serializer may not be reset in the middle of serialization.

KECX01405-E

内部エラーです。要素の状態がゼロです。
Internal error: element state is zero.

KECX01406-E

rawNameがありません。また，localNameはnullです。
There is no rawName and localName is null.

KECX01407-E

要素名{0}はQnameではありません。
The element name '{0}' is not a QName.

KECX01408-E

要素{0}は任意の名前空間に属しません。接頭辞は非宣言とされたか，またはある名前空間に結び付けられました。
Element '{0}' does not belong to any namespace: prefix could be undeclared or bound to some namespace.

KECX01409-E

属性名{0}はQnameではありません。
The attribute name '{0}' is not a QName.

KECX01410-E

属性{0}は，任意の名前空間に属しません。接頭辞は非宣言とされたか，またはある名前空間に結び付けられました。
Attribute '{0}' does not belong to any namespace: prefix could be undeclared or bound to some namespace.

KECX01411-E

名前空間宣言の構文に誤りがあります。{0}
Namespace declaration syntax is incorrect: {0}.

KECX01412-E

文字シーケンス]]>は，CDATAセクションの終了を示す以外の目的で使用してはいけません。
The character sequence "]]>" must not appear in content unless used to mark the end of a CDATA section.

KECX01413-W

CDATAセクション終了マーカー]]>を含んでいるCDATAセクションを分割します。
Splitting a CDATA section containing the CDATA section termination marker "]]>".

KECX01414-E

リソース{0}はありませんでした。
The resource '{0}' could not be found.

KECX01415-E

リソース{0}はロードできませんでした。{1}
The resource '{0}' could not be loaded. {1}

KECX01416-E

シリアライゼーションはユーザ要求により停止しました。
Serialization stopped at user request.

KECX01417-E

出力指定なし：書き込みデータの出力先はnullでした。
no-output-specified: The output destination for data to be written to was null.

KECX01418-E

エンコーディング未サポート：未サポートのエンコーディングがありました：{0}
unsupported-encoding: An unsupported encoding is encountered:{0}.

KECX01419-E

ノードシリアライゼーション不可：ノードはシリアライゼーションできませんでした。
unable-to-serialize-node: The node could not be serialized.

KECX01451-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX01452-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました：
An internal error occurred while formatting the following message:

KECX01453-E

入力指定がありません。
no-input-specified

KECX01600-E

DOMパース中に再びparseメソッドが呼ばれました。
parse may not be called while parsing.

KECX01601-E

要素スタックでアンダーフローが発生しました。
Element stack underflow.

KECX01701-E

メッセージキーに対応するエラーメッセージが見つかりません。
The error message corresponding to the message key can not be found.

KECX01702-E

次のメッセージをフォーマットする間に，内部エラーが発生しました。
An internal error occurred while formatting the following message:

KECX01703-E

includeに失敗しました。fallback要素が見つかりませんでした。
An 'include' failed, and no 'fallback' element was found.

KECX01704-E

include要素の子に一つを超えるfallback要素を含むことはできません。
The [children] of an 'include' element cannot contain more than one 'fallback' element.

KECX01705-E

親がincludeでないfallback要素がありました。
A 'fallback' element was found that did not have 'include' as the parent.

KECX01706-E

名前空間http://www.w3.org/2001/Xincludeからの要素は，fallback以外はinclude要素の子にはできません。しかし{0}がありました。
Elements from namespace 'http://www.w3.org/2001/XInclude', other than 'fallback', are not allowed to be children of 'include' elements. However, '{0}' was found.

KECX01707-E

include要素にhref属性がありません。
The 'href' attribute of an 'include' element is missing.

KECX01708-E

再帰的なインクルード派生になっています。ドキュメント{0}はすでに処理されました。
Recursive include detected. Document '{0}' was already processed.

KECX01709-E

include要素上のparse属性の無効な値です。{0}
Invalid value for 'parse' attribute on 'include' element: '{0}'.

KECX01710-E

XMLファイルを解析するエラーです（href='{0}'）。
Error attempting to parse XML file (href='{0}').

KECX01711-W

インクルード処理が失敗し，フォールバックに戻ります。ファイルをXMLとして読み込むリソースエラーです（href='{0}'）。理由は{1}です。
Include operation failed, reverting to fallback. Resource error reading file as XML (href='{0}'). Reason: {1}

KECX01712-E

インクルード処理が失敗し，フォールバックに戻ります。ファイルをテキストとして読み込むリソースエラーです（href='{0}'）。理由は{1}です。
Include operation failed, reverting to fallback. Resource error reading file as text (href='{0}'). Reason: {1}

KECX01713-E

名前"{0}"の複数の記法が使用されましたが，それが複写であるとはわかりませんでした。
Multiple notations were used which had the name '{0}', but which were not determined to be duplicates.

KECX01714-E

名前"{0}"の複数の解析されていない実体が使用されましたが，それが複写であるとはわかりませんでした。
Multiple unparsed entities were used which had the name '{0}', but which were not determined to be duplicates.

KECX01715-E

NamespaceContextの型はXIncludeの使用と互換性がありません。XIncludeNamespaceSupportのインスタンスでなければいけません。
The type of the NamespaceContext is incompatible with using XInclude; it must be an instance of XIncludeNamespaceSupport

KECX01716-E

インクルードリソースのシステムIDを拡張することができませんでした。
Could not expand system id of included resource

KECX01717-E

名前空間http://www.w3.org/2001/Xincludeからの要素は，include以外はfallback要素の子にできません。しかし，{0}がありました。
Elements from namespace 'http://www.w3.org/2001/XInclude', other than 'include', are not allowed to be children of 'fallback' elements. However, '{0}' was found.

KECX01718-E

href属性がない場合は，xpointer属性が必要です。
xpointer attribute must be present when href attribute is absent.

KECX01719-E

#x20～#x7Eの範囲外の文字は，include要素のaccept属性の値に含めることができません。
Characters outside the range #x20 through #x7E are not allowed in the value of the 'accept' attribute of an 'include' element.

KECX01720-E

#x20～#x7Eの範囲外の文字は，include要素のaccept-language属性の値に含めることができません。
Characters outside the range #x20 through #x7E are not allowed in the value of the 'accept-language' attribute of an 'include' element.

KECX01721-E

整形式ドキュメントはルート要素が必要です。
A well-formed document requires a root element.

KECX01722-E

整形式ドキュメントには複数のルート要素を含めることはできません。
A well-formed document must not contain multiple root elements.

KECX01723-E

最上位ソースinfoset内のドキュメント要素として表示されるinclude要素の代替物は文字を含むことができません。
The replacement of an 'include' element appearing as the document element in the top-level source infoset cannot contain characters.

KECX01724-E

最上位ソースinfoset内のドキュメント要素として表示されるinclude要素の代替物は未拡張のエンティティ参照を含むことができません。
The replacement of an 'include' element appearing as the document element in the top-level source infoset cannot contain unexpanded entity references.

KECX01725-E

フラグメント識別子は使用できません。href属性値{0}は許可されていません。
Fragment identifiers must not be used. The 'href' attribute value '{0}' is not permitted.

KECX01726-E

href属性値'{0}は構文的に不正です。エスケープ規則の適用後，値は構文的に正しいURIでもIRIでもありません。
href' attribute value '{0}' is syntactically invalid. After applying escaping rules the value is neither a syntactically correct URI or IRI.

KECX01727-E

ソースinfoset内の位置を示すxpointerが指定されました。該当位置はプロセッサのストリーミング性のため，アクセスできません。
An xpointer was specified that points to a location in the source infoset. This location cannot be accessed due to the streaming nature of the processor.

KECX01728-E

XPointer解決が失敗しました。
XPointer resolution unsuccessful.

KECX01801-E

不正な文字です。
Wrong character.

KECX01802-E

存在しないグループ番号です。
Invalid reference number.

KECX01803-E

¥のあとに1文字必要です。
A character is required after ¥.

KECX01804-E

'?' をここに書くことはできません。もしかして '(?:' か '(?=' か '(?!' か '(?<' か '(?#' か '(?>' ですか?
'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?

KECX01805-E

'(?<=' か '(?<!' が必要です。
'(?<=' or '(?<!' is expected.

KECX01806-E

コメントが閉じていません。
A comment is not terminated.

KECX01807-E

')' が必要です。
')' is expected.

KECX01808-E

オプションつきグループの中でパターンが終了しています。
Unexpected end of the pattern in a modifier group.

KECX01809-E

':' が必要です。
':' is expected.

KECX01810-E

条件つきグループの中でパターンが終了しています。
Unexpected end of the pattern in a conditional group.

KECX01811-E

条件パターンには，後方参照・アンカー・先読み・後読みだけを使用できます。
A back reference or an anchor or a lookahead or a lookbehind is expected in a conditional pattern.

KECX01812-E

条件つきグループの中に3個以上の選択を書くことはできません。
There are more than three choices in a conditional group.

KECX01813-E

¥cのあとにはコードポイントがU+0040～U+005fの範囲の文字が必要です。
A character in U+0040-U+005f must follow ¥c.

KECX01814-E

1文字のカテゴリ文字か '{' が必要です。
A '{' is required before a character category.

KECX01815-E

プロパティ名が '}' で閉じていません。
A property name is not closed by '}'.

KECX01816-E

メタ文字が不正なところにあります。
Unexpected meta character.

KECX01817-E

未知のプロパティ名です。
Unknown property.

KECX01818-E

POSIX文字クラスは ':]' で閉じる必要があります。
A POSIX character class must be closed by ':]'.

KECX01819-E

文字クラス内でパターンが終了しています。
Unexpected end of the pattern in a character class.

KECX01820-E

未知のPOSIX文字クラス名です。
Unknown name for a POSIX character class.

KECX01821-E

ここに '-' を書くことはできません。
'-' is invalid here.

KECX01822-E

']' が必要です。
']' is expected.

KECX01823-E

文字クラス内では '[' を直接書くことはできません。'¥[' と書いてください。
'[' is invalid in a character class. Write '¥['.

KECX01824-E

文字クラス内では ']' を直接書くことはできません。'¥]' と書いてください。
']' is invalid in a character class. Write '¥]'.

KECX01825-E

文字範囲指定に'-'を直接書くことはできません。'¥-' と書いてください。
'-' is an invalid character range. Write '¥-'.

KECX01826-E

'[' が必要です。
'[' is expected.

KECX01827-E

')' か '-[' か '+[' か '&[' が必要です。
')' or '-[' or '+[' or '&[' is expected.

KECX01828-E

範囲終了コードポイントがスタートコードポイント未満です。
The range end code point is less than the start code point.

KECX01829-E

コードポイントの16進数表記中に間違った文字があります。
Invalid Unicode hex notation.

KECX01830-E

コードポイントの数値が大き過ぎます。
Overflow in a hex notation.

KECX01831-E

'¥x{' は '}' で閉じなければいけません。
'¥x{' must be closed by '}'.

KECX01832-E

Unicodeのコードポイントとして不正です。
Invalid Unicode code point.

KECX01833-E

アンカーをここに書くことはできません。
An anchor must not be here.

KECX01834-E

この表現は現在のオプション設定では使用できません。
This expression is not supported in the current option setting.

KECX01835-E

指定が不正です。数字を指定してください。
Invalid quantifier. A digit is expected.

KECX01836-E

指定が不正です。不正な量数であるかまたは'}'がありません。
Invalid quantifier. Invalid quantity or a '}' is missing.

KECX01837-E

指定が不正です。数字または'}'を指定してください。
Invalid quantifier. A digit or '}' is expected.

KECX01838-E

指定が不正です。minの量数はmaxの量数以下でなければいけません。
Invalid quantifier. A min quantity must be <= a max quantity.

KECX01839-E

指定が不正です。量数値がオーバフローしています。
Invalid quantifier. A quantity value overflow.

KECX01853-E

{0}は未知のオプションです。
Unknown option: {0}

KECX01901-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX01902-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました：
An internal error occurred while formatting the following message:

KECX01903-E

指定されたスキーマ言語はサポートされていません。
The specified schema language is not supported.

KECX01904-E

プロパティ{1}を設定する前にプロパティ{0}を設定する必要があります。
Property '{0}' must be set before setting property '{1}'.

KECX01905-E

非nullのスキーマオブジェクトがすでに指定されている場合は，プロパティ{0}は設定できません。
Property '{0}' cannot be set when a non-null Schema object has already been specified.

KECX01906-E

フィーチャー{0}はサポートされていません。
Feature '{0}' is not supported.

KECX01907-E

フィーチャー{0}は認識されていません。
Feature '{0}' is not recognized.

KECX01908-E

フィーチャー{0}のtrue状態はサポートされていません。
True state for feature '{0}' is not supported.

KECX01909-E

フィーチャー{0}にfalse状態はサポートされていません。
False state for feature '{0}' is not supported.

KECX01910-E

フィーチャー{0}は読み込みのみ可能です。
Feature '{0}' is read only.

KECX01911-E

プロパティ{0}はサポートされていません。
Property '{0}' is not supported.

KECX01912-E

プロパティ{0}は認識されていません。
Property '{0}' is not recognized.

KECX01913-E

プロパティ{0}は読み込みのみ可能です。
Property '{0}' is read only.

KECX01914-E

構文解析中はプロパティ{0}はサポートされていません。
Property '{0}' is not supported while parsing.

KECX01915-E

DOMノードプロパティは読めません。DOMツリーがありません。
Cannot read DOM node property. No DOM tree exists.

KECX01916-E

プロパティ{0}に指定された値は{1}に変換できません。
The value specified for property '{0}' cannot be casted to {1}.

7.2.2　KECX02000～KECX02999

KECX02001-E

エラーです。式の中で'{'を持つことはできません。
Error: Can not have '{' within expression

KECX02002-E

{0}に不正な属性が含まれています。{1}
{0} has an illegal attribute: {1}

KECX02003-E

xsl:apply-importsでsourceNode がnullです。
sourceNode is null in xsl:apply-imports!

KECX02004-E

{0}を{1}に追加できません。
Can not add {0} to {1}

KECX02005-E

handleApplyTemplatesInstructionでsourceNodeがnullです。
sourceNode is null in handleApplyTemplatesInstruction!

KECX02006-E

{0}にはname属性が必要です。
{0} must have a name attribute.

KECX02007-E

{0}という名前のテンプレートが見つかりませんでした。
Could not find template named: {0}

KECX02008-E

xls:call-templateで名前AVTを解決できませんでした。
Could not resolve name AVT in xsl:call-template.

KECX02009-E

{0}には属性{1}が必要です。
{0} requires attribute: {1}

KECX02010-E

{0}にはtest属性が必要です。
{0} must have a 'test' attribute.

KECX02011-E

level属性に不正な値が指定されています。{0}
Bad value on level attribute: {0}

KECX02012-E

processing-instruction名はxmlにできません。
processing-instruction name can not be 'xml'

KECX02013-E

processing-instruction名は有効なNCNameでなければいけません。{0}
processing-instruction name must be a valid NCName: {0}

KECX02014-E

{0}にモードがある場合は，match 属性が必要です。
{0} must have a match attribute if it has a mode.

KECX02015-E

{0}はname属性か，またはmatch属性を必要とします。
{0} requires either a name or a match attribute.

KECX02016-E

名前空間の接頭辞{0}を解決できません。
Can not resolve namespace prefix: {0}

KECX02017-E

xml:spaceに不正な値があります。{0}
xml:space has an illegal value: {0}

KECX02018-E

子ノードに所有者ドキュメントがありません。
Child node does not have an owner document!

KECX02019-E

ElemTemplateElement エラーです。{0}
ElemTemplateElement error: {0}

KECX02020-E

nullである子を追加しようとしました。
Trying to add a null child!

KECX02021-E

{0}にはselect属性が必要です。
{0} requires a select attribute.

KECX02022-E

xsl:whenにはtest属性が必要です。
xsl:when must have a 'test' attribute.

KECX02023-E

xsl:with-paramにはname属性が必要です。
xsl:with-param must have a 'name' attribute.

KECX02024-E

コンテキストに所有者ドキュメントがありません。
context does not have an owner document!

KECX02025-E

XML TransformerFactory Liaison {0}を作成できませんでした。
Could not create XML TransformerFactory Liaison: {0}

KECX02026-E

XML Processor:処理は成功しませんでした。
XML Processor: Process was not successful.

KECX02027-E

XML Processor:は成功しませんでした。
XML Processor: was not successful.

KECX02028-E

エンコーディングはサポートされていません。{0}
Encoding not supported: {0}

KECX02029-E

TraceListenerを作成できませんでした。{0}
Could not create TraceListener: {0}

KECX02030-E

xsl:key にはname属性が必要です。
xsl:key requires a 'name' attribute!

KECX02031-E

xsl:key にはmatch属性が必要です。
xsl:key requires a 'match' attribute!

KECX02032-E

xsl:key にはuse属性が必要です。
xsl:key requires a 'use' attribute!

KECX02033-E

(StylesheetHandler) {0}にはelements属性が必要です。
(StylesheetHandler) {0} requires an 'elements' attribute!

KECX02034-E

(StylesheetHandler) {0} 属性の 'prefix' がありません。
(StylesheetHandler) {0} attribute 'prefix' is missing

KECX02035-E

スタイルシートのURLが不正です。{0}
Stylesheet URL is bad: {0}

KECX02036-E

スタイルシートファイルが見つかりませんでした。{0}
Stylesheet file was not found: {0}

KECX02037-E

スタイルシートファイルで入出力例外が発生しました。{0}
Had IO Exception with stylesheet file: {0}

KECX02038-E

(StylesheetHandler) {0}のhref属性が見つかりませんでした。
(StylesheetHandler) Could not find href attribute for {0}

KECX02039-E

(StylesheetHandler) {0}は直接的または間接的に自分自身をインクルードしています。
(StylesheetHandler) {0} is directly or indirectly including itself!

KECX02040-E

StylesheetHandler.processIncludeエラーです。{0}
StylesheetHandler.processInclude error, {0}

KECX02041-E

(StylesheetHandler) {0} 属性の 'lang' がありません。
(StylesheetHandler) {0} attribute 'lang' is missing

KECX02042-E

(StylesheetHandler) {0} 要素の場所を間違えた可能性があります。コンテナ要素 'component' がありません。
(StylesheetHandler) misplaced {0} element?? Missing container element 'component'

KECX02043-E

Element，DocumentFragment，Document，またはPrintWriterにだけ出力できます。
Can only output to an Element, DocumentFragment, Document, or PrintWriter.

KECX02044-E

StylesheetRoot.processエラーです。
StylesheetRoot.process error

KECX02045-E

UnImplNode エラーです。{0}
UnImplNode error: {0}

KECX02046-E

エラーです。xpathの選択式(-select)が見つかりませんでした。
Error! Did not find xpath select expression (-select).

KECX02047-E

XSLProcessorをシリアライズできません。
Can not serialize an XSLProcessor!

KECX02048-E

スタイルシートの入力が指定されませんでした。
Stylesheet input was not specified!

KECX02049-E

スタイルシートでの処理に失敗しました。
Failed to process stylesheet!

KECX02050-E

{0}ドキュメントを構文解析できませんでした。
Could not parse {0} document!

KECX02051-E

フラグメント{0}が見つかりませんでした。
Could not find fragment: {0}

KECX02052-E

フラグメント識別子が指すノードが要素ではありませんでした。{0}
Node pointed to by fragment identifier was not an element: {0}

KECX02053-E

for-eachにはmatchまたはnameのどちらかの属性が必要です。
for-each must have either a match or name attribute

KECX02054-E

テンプレートにはmatchまたはnameのどちらかの属性が必要です。
templates must have either a match or name attribute

KECX02055-E

ドキュメントのフラグメントにクローンがありません。
No clone of a document fragment!

KECX02056-E

結果ツリーに項目を作成できません。{0}
Can not create item in result tree: {0}

KECX02057-E

ソースXMLのxml:spaceに不正な値があります。{0}
xml:space in the source XML has an illegal value: {0}

KECX02058-E

{0}にxsl:key宣言がありません。
There is no xsl:key declaration for {0}!

KECX02059-E

エラーです。{0}のURLを作成できません。
Error! Cannot create url for: {0}

KECX02060-E

xsl:functionsはサポートされていません。
xsl:functions is unsupported

KECX02061-E

XSLT TransformerFactoryエラーです。
XSLT TransformerFactory Error

KECX02062-E

(StylesheetHandler) {0}はスタイルシート内で許可されません。
(StylesheetHandler) {0} not allowed inside a stylesheet!

KECX02063-E

result-ns はサポートされていません。代わりにxsl:outputを使用してください。
result-ns no longer supported! Use xsl:output instead.

KECX02064-E

default-spaceはサポートされていません。代わりにxsl:strip-spaceまたはxsl:preserve-spaceを使用してください。
default-space no longer supported! Use xsl:strip-space or xsl:preserve-space instead.

KECX02065-E

indent-resultはサポートされていません。代わりにxsl:outputを使用してください。
indent-result no longer supported! Use xsl:output instead.

KECX02066-E

(StylesheetHandler) {0}に不正な属性があります。{1}
(StylesheetHandler) {0} has an illegal attribute: {1}

KECX02067-E

未知の XSL 要素です。{0}
Unknown XSL element: {0}

KECX02068-E

(StylesheetHandler) xsl:sortはxsl:apply-templatesまたはxsl:for-eachとともにだけ使用できます。
(StylesheetHandler) xsl:sort can only be used with xsl:apply-templates or xsl:for-each.

KECX02069-E

(StylesheetHandler) xsl:whenの場所が誤っています。
(StylesheetHandler) misplaced xsl:when!

KECX02070-E

(StylesheetHandler) xsl:whenの親はxsl:chooseではありません。
(StylesheetHandler) xsl:when not parented by xsl:choose!

KECX02071-E

(StylesheetHandler) xsl:otherwiseの場所が誤っています。
(StylesheetHandler) misplaced xsl:otherwise!

KECX02072-E

(StylesheetHandler) xsl:otherwiseの親はxsl:chooseではありません。
(StylesheetHandler) xsl:otherwise not parented by xsl:choose!

KECX02073-E

(StylesheetHandler) {0}はテンプレートの中に置くことを許可されません。
(StylesheetHandler) {0} is not allowed inside a template!

KECX02074-E

(StylesheetHandler) {0}拡張名前空間の接頭辞{1}が未知です。
(StylesheetHandler) {0} extension namespace prefix {1} unknown

KECX02075-E

(StylesheetHandler) スタイルシートの最初の要素でだけインポートが実行できます。
(StylesheetHandler) Imports can only occur as the first elements in the stylesheet!

KECX02076-E

(StylesheetHandler) {0}は直接的または間接的に自身をインポートしています。
(StylesheetHandler) {0} is directly or indirectly importing itself!

KECX02077-E

(StylesheetHandler) xml:space に不当な値があります。{0}
(StylesheetHandler) xml:space has an illegal value: {0}

KECX02078-E

processStylesheetは成功しません。
processStylesheet not successful!

KECX02079-E

SAX例外です。
SAX Exception

KECX02080-E

未サポート機能です。
Function not supported!

KECX02081-E

XSLTエラーです。
XSLT Error

KECX02082-E

通貨記号は書式パターン文字列で許可されません。
currency sign is not allowed in format pattern string

KECX02083-E

Document関数はStylesheet DOMでサポートされていません。
Document function not supported in Stylesheet DOM!

KECX02084-E

non-Prefixリゾルバの接頭辞は解決できません。
Can't resolve prefix of non-Prefix resolver!

KECX02085-E

Redirect 拡張:ファイル名を取得できませんでした。- file属性またはselect属性が有効な文字列を戻す必要があります。
Redirect extension: Could not get filename - file or select attribute must return valid string.

KECX02086-E

Redirect 拡張でFormatterListenerを構築できません。
Can not build FormatterListener in Redirect extension!

KECX02087-E

exclude-result-prefixesの接頭辞が有効ではありません。{0}
Prefix in exclude-result-prefixes is not valid: {0}

KECX02088-E

指定された接頭辞の名前空間URIがありません。
Missing namespace URI for specified prefix

KECX02089-E

オプションの引数がありません。{0}
Missing argument for option: {0}

KECX02090-E

無効なオプションです。{0}
Invalid option: {0}

KECX02091-E

形式の誤った文字列です。{0}
Malformed format string: {0}

KECX02092-E

xsl:stylesheetにはバージョン属性が必要です。
xsl:stylesheet requires a 'version' attribute!

KECX02093-E

属性{0}に不正な値があります。{1}
Attribute: {0} has an illegal value: {1}

KECX02094-E

xsl:chooseにはxsl:whenが必要です。
xsl:choose requires an xsl:when

KECX02095-E

xsl:apply-importsはxsl:for-eachで許可されません。
xsl:apply-imports not allowed in a xsl:for-each

KECX02096-E

出力DOMノードにDTMLiaisonを使用できません。代わりにcom.cosminexus.jaxp.impl.xpath.DOM2Helperを渡します。
Cannot use a DTMLiaison for an output DOM node... pass a com.cosminexus.jaxp.impl.xpath.DOM2Helper instead!

KECX02097-E

入力DOMノードにDTMLiaisonを使用できません。代わりにcom.cosminexus.jaxp.impl.xpath.DOM2Helperを渡します。
Cannot use a DTMLiaison for a input DOM node... pass a com.cosminexus.jaxp.impl.xpath.DOM2Helper instead!

KECX02098-E

拡張要素の呼び出しに失敗しました。{0}
Call to extension element failed: {0}

KECX02099-E

接頭辞は名前空間で解決されなければいけません。{0}
Prefix must resolve to a namespace: {0}

KECX02100-E

無効なUTF-16サロゲートが検出されました。{0}
Invalid UTF-16 surrogate detected: {0} ?

KECX02101-E

xsl:attribute-set{0}を自分自身で使用しているので，無限ループの原因になります。
xsl:attribute-set {0} used itself, which will cause an infinite loop.

KECX02102-E

非XML Processor-DOM入力とXML Processor-DOM出力を混合できません。
Can not mix non XML Processor-DOM input with XML Processor-DOM output!

KECX02103-E

addTraceListenersToStylesheet ListenersExceptionが多過ぎます。
addTraceListenersToStylesheet - TooManyListenersException

KECX02104-E

ElemTemplateElement.readObjectに{0}があります。
In ElemTemplateElement.readObject: {0}

KECX02105-E

次に示す名前のテンプレートが複数見つかりました。{0}
Found more than one template named: {0}

KECX02106-E

無効な関数呼び出しです。recursive key() 呼び出しは許可されません。
Invalid function call: recursive key() calls are not allowed

KECX02107-E

変数{0}は直接的または間接的に自分自身を参照しています。
Variable {0} is directly or indirectly referencing itself!

KECX02108-E

newTemplatesのDOMSourceに対する入力ノードはnullにできません。
The input node can not be null for a DOMSource for newTemplates!

KECX02109-E

オプション{0}に対するクラスファイルが見つかりません。
Class file not found for option {0}

KECX02110-E

必要な要素が見つかりません。{0}
Required Element not found: {0}

KECX02111-E

InputStreamはnullにできません。
InputStream cannot be null

KECX02112-E

URIはnullにできません。
URI cannot be null

KECX02113-E

Fileはnullにできません。
File cannot be null

KECX02114-E

InputSourceはnullにできません。
InputSource cannot be null

KECX02116-E

BSF Managerを初期化できませんでした。
Could not initialize BSF Manager

KECX02117-E

拡張をコンパイルできませんでした。
Could not compile extension

KECX02118-E

拡張{0}を作成できませんでした。原因{1}
Could not create extension: {0} because of: {1}

KECX02119-E

メソッド{0}のインスタンスメソッド呼び出しは，最初の引数にObjectインスタンスを必要とします。
Instance method call to method {0} requires an Object instance as first argument

KECX02120-E

無効な要素名が指定されました。{0}
Invalid element name specified {0}

KECX02121-E

要素名メソッドはstaticでなければいけません。{0}
Element name method must be static {0}

KECX02122-E

拡張関数{0}: {1}は未知です。
Extension function {0} : {1} is unknown

KECX02123-E

{0}のコンストラクタに最適な一致が複数個あります。
More than one best match for constructor for {0}

KECX02124-E

メソッド{0}に最適な一致が複数個あります。
More than one best match for method {0}

KECX02125-E

要素メソッド{0}に最適な一致が複数個あります。
More than one best match for element method {0}

KECX02126-E

{0}を評価するのに無効なコンテキストが渡されました。
Invalid context passed to evaluate {0}

KECX02127-E

プールがすでに存在します。
Pool already exists

KECX02128-E

ドライバのNameが指定されていません。
No driver Name specified

KECX02129-E

URLが指定されていません。
No URL specified

KECX02130-E

プールサイズが1より小さいです。
Pool size is less than one!

KECX02131-E

無効なドライバ名が指定されました。
Invalid driver name specified!

KECX02132-E

スタイルシートのルートが見つかりませんでした。
Did not find the stylesheet root!

KECX02133-E

xml:spaceに不正な値です。
Illegal value for xml:space

KECX02134-E

processFromNodeが失敗しました。
processFromNode failed

KECX02135-E

リソース{0}は次のものをロードできませんでした。{1} {2} {3}
The resource [ {0} ] could not load: {1} {2} {3}

KECX02136-E

バッファサイズが0以下です。
Buffer size <=0

KECX02137-E

拡張を呼び出すときに未知のエラーが発生しました。
Unknown error when calling extension

KECX02138-E

接頭辞{0}には対応する名前空間宣言がありません。
Prefix {0} does not have a corresponding namespace declaration

KECX02139-E

要素の内容はlang=javaclass {0}に許可されません。
Element content not allowed for lang=javaclass {0}

KECX02140-E

スタイルシートによって終了が指示されました。
Stylesheet directed termination

KECX02143-E

{0}をロードできませんでした (CLASSPATHを確認してください)。デフォルトだけを使用します。
Could not load {0} (check CLASSPATH), now using just the defaults

KECX02144-E

デフォルトのテンプレートを初期化できません。
Cannot initialize default templates

KECX02145-E

Resultはnullにはできません。
Result should not be null

KECX02146-E

Resultを設定できませんでした。
Result could not be set

KECX02147-E

出力が指定されていません。
No output specified

KECX02148-E

タイプ{0}のResultに変換できません。
Can't transform to a Result of type {0}

KECX02149-E

タイプ{0}のSourceに変換できません。
Can't transform a Source of type {0}

KECX02150-E

コンテンツハンドラがnullです。
Null content handler

KECX02151-E

エラーハンドラがnullです。
Null error handler

KECX02152-E

ContentHandlerが設定されていないと構文解析を呼び出すことができません。
parse can not be called if the ContentHandler has not been set

KECX02153-E

フィルタ処理をする親がありません。
No parent for filter

KECX02154-E

スタイルシートが{0}，メディア= {1}に見つかりません。
No stylesheet found in: {0}, media= {1}

KECX02155-E

xml-stylesheet PIが{0}に見つかりませんでした。
No xml-stylesheet PI found in: {0}

KECX02171-E

未サポートです。{0}
Not supported: {0}

KECX02177-E

プロパティ{0}の値はBooleanインスタンスでなくてはいけません。
Value for property {0} should be a Boolean instance

KECX02195-E

{0}にある外部スクリプトを入手できませんでした。
Could not get to external script at {0}

KECX02196-E

リソース{0}が見つかりませんでした。{1}
The resource [{0}] could not be found. {1}

KECX02197-E

出力プロパティは認識されていません。{0}
Output property not recognized: {0}

KECX02203-E

ElemLiteralResultインスタンスの作成に失敗しました。
Failed creating ElemLiteralResult instance

KECX02204-E

{0}の値には構文解析できる数字を指定してください。
Value for {0} should contain a parsable number

KECX02205-E

{0}の値はyesまたはnoと等しくなければいけません。
Value for {0} should equal yes or no

KECX02206-E

{0}メソッドの呼び出しに失敗しました。
Failed calling {0} method

KECX02207-E

ElemTemplateElementインスタンスの作成に失敗しました。
Failed creating ElemTemplateElement instance

KECX02208-E

ドキュメントのこの部分で，文字列は許可されていません。
Characters are not allowed at this point in the document

KECX02209-E

"{0}" 属性は{1}要素で許可されていません。
"{0}" attribute is not allowed on the {1} element!

KECX02211-E

{0}の間違った値{1}です。
{0} bad value {1}

KECX02212-E

{0}属性値が見つかりません。
{0} attribute value not found

KECX02213-E

{0}属性値は認識されていません。
{0} attribute value not recognized

KECX02216-E

名前空間の接頭辞をnullのURIで生成しようとしています。
Attempting to generate a namespace prefix with a null URI

KECX02217-E

Longの最大値より大きい数をフォーマットしようとしています。
Attempting to format a number bigger than the largest Long integer

KECX02218-E

SAX1ドライバークラス{0}が見つかりません。
Cannot find SAX1 driver class {0}

KECX02219-E

SAX1ドライバークラス{0}は見つかりましたがロードできません。
SAX1 driver class {0} found but cannot be loaded

KECX02220-E

SAX1ドライバークラス{0}はロードしましたが実証できません。
SAX1 driver class {0} loaded but cannot be instantiated

KECX02221-E

SAX1ドライバークラス{0}はorg.xml.sax.Parserをインプリメントしません。
SAX1 driver class {0} does not implement org.xml.sax.Parser

KECX02222-E

システムプロパティのorg.xml.sax.parserは指定されませんでした。
System property org.xml.sax.parser not specified

KECX02223-E

パーサ引数はnullであってはいけません。
Parser argument must not be null

KECX02224-E

フィーチャーが{0}です。
Feature: {0}

KECX02225-E

プロパティが{0}です。
Property: {0}

KECX02226-E

Nullエンティティリゾルバです。
Null entity resolver

KECX02227-E

Null DTDハンドラです。
Null DTD handler

KECX02228-E

ドライバ名が指定されていません。
No Driver Name Specified!

KECX02229-E

URLが指定されていません。
No URL Specified!

KECX02230-E

プールサイズが1より小さいです。
Pool size is less than 1!

KECX02231-E

無効なドライバ名が指定されました。
Invalid Driver Name Specified!

KECX02232-E

ErrorListenerが不正です。
ErrorListener

KECX02233-E

プログラマのエラーです。式は親にElemTemplateElementを持っていません。
Programmer's error! The expression has no ElemTemplateElement parent!

KECX02234-E

プログラマのRedundentExprEliminatorの中の指定です。{0}
Programmer's assertion in RedundentExprEliminator: {0}

KECX02237-E

スタイルシート内のこの位置には，{0}を指定できません。
{0} is not allowed in this position in the stylesheet!

KECX02238-E

スタイルシートのこの位置には空白以外のテキストを指定できません。
Non-whitespace text is not allowed in this position in the stylesheet!

KECX02239-E

CHAR属性{0}に不正な値{1}が使用されました。CHARタイプの属性は1文字でなければいけません。
Illegal value: {1} used for CHAR attribute: {0}. An attribute of type CHAR must be only 1 character!

KECX02242-E

QNAME属性{0}に不正な値{1}が使用されました。
Illegal value: {1} used for QNAME attribute: {0}

KECX02243-E

ENUM属性{0}に不正な値{1}が使用されました。有効な値は{2}です。
Illegal value: {1} used for ENUM attribute: {0}. Valid values are: {2}.

KECX02244-E

NMTOKEN属性{0}に不正な値{1}が使用されました。
Illegal value: {1} used for NMTOKEN attribute: {0}

KECX02245-E

NCNAME属性{0}に不正な値{1}が使用されました。
Illegal value: {1} used for NCNAME attribute: {0}

KECX02246-E

boolean属性{0}に不正な値{1}が使用されました。
Illegal value: {1} used for boolean attribute: {0}

KECX02247-E

number属性{0}に不正な値{1}が使用されました。
Illegal value: {1} used for number attribute: {0}

KECX02248-E

マッチング・パターンの{0}への引数はリテラルでなければいけません。
Argument to {0} in match pattern must be a literal.

KECX02249-E

グローバル変数宣言が重複しています。
Duplicate global variable declaration.

KECX02250-E

変数宣言が重複しています。
Duplicate variable declaration.

KECX02251-E

xsl:templateにはnameまたはmatch属性（あるいはその両方）が必要です。
xsl:template must have a name or match attribute (or both)

KECX02252-E

exclude-result-prefixes内の接頭辞が無効です。{0}
Prefix in exclude-result-prefixes is not valid: {0}

KECX02253-E

{0}という名前のattribute-setが存在しません。
attribute-set named {0} does not exist

KECX02254-E

{0}という名前の関数が存在しません。
The function named {0} does not exist

KECX02256-E

param{0}の値は有効なJavaオブジェクトでなければいけません。
The value of param {0} must be a valid Java Object

KECX02257-E

xsl:namespace-alias要素のresult-prefix属性は値#defaultを持ちますが，該当要素の範囲にデフォルト名前空間の宣言はありません。
The result-prefix attribute of an xsl:namespace-alias element has the value '#default', but there is no declaration of the default namespace in scope for the element

KECX02258-E

xsl:namespace-alias要素のresult-prefix属性は値{0}を持ちますが，該当要素の範囲に接頭辞{0}の名前空間宣言はありません。
The result-prefix attribute of an xsl:namespace-alias element has the value '{0}', but there is no namespace declaration for the prefix '{0}' in scope for the element.

KECX02259-E

TransformerFactory.setFeature(String name, boolean value)では，フィーチャー名はnullにできません。
The feature name cannot be null in TransformerFactory.setFeature(String name, boolean value).

KECX02260-E

TransformerFactory.getFeature(String name)では，フィーチャー名はnullにできません。
The feature name cannot be null in TransformerFactory.getFeature(String name).

KECX02261-E

TransformerFactoryではフィーチャー{0}を設定できません。
Cannot set the feature '{0}' on this TransformerFactory.

KECX02262-E

secure processingフィーチャーがtrueに設定されている場合は，拡張子要素{0}の使用は許可されません。
Use of the extension element '{0}' is not allowed when the secure processing feature is set to true.

KECX02263-E

無効な名前空間URIに対応する接頭辞を取得できません。
Cannot get the prefix for a null namespace uri.

KECX02264-E

無効な接頭辞に対応する名前空間URIを取得できません。
Cannot get the namespace uri for null prefix.

KECX02265-E

フィーチャー名をnullにできません。
The function name cannot be null.

KECX02266-E

引数の数は負数にできません。
The arity cannot be negative.

KECX02288-E

要素{0}はコンテンツとselect属性の両方を持つことはできません。
The {0} element must not have both content and a select attribute.

KECX02289-E

{0}の属性name={1}はすでに同じ先行取り込みで使用されています。
{0} attribute name="{1}" is already used with same import precedence

KECX02304-E

getAssociatedStylesheetsが失敗しました。
getAssociatedStylesheets failed

KECX02309-E

無効なConnectionPool名またはJNDI Datasourceパスです：{0}
Invalid ConnectionPool name or JNDI Datasource path: {0}

KECX02311-E

SAXResultのhandlerはnullの指定ができません。
handler can not be null for a SAXResult

KECX02312-E

resource bundles{0}のロードができません。
Could not load any resource bundles.{0}

KECX02313-E

resource bundlesのロードができません。
Could not load any resource bundles.

KECX02314-E

ノード{0}のクローンができません。
Can't clone node: {0}

KECX02320-E

拡張仕様{0}では{1}{2}は見つかりません。
For extension {0}, could not find {1} {2}

KECX02321-W

警告: charToByteConverterClassを取得できません。
Warning: Could not get charToByteConverterClass!

KECX02322-W

警告: エンコーディング{0}はサポートされていません。{1}を使用します。
Warning: encoding "{0}" not supported, using {1}

KECX02323-W

警告: {0}
Warning: {0}

KECX02324-W

警告: canConvertメソッド内でInvocationTargetExceptionが発生しました。
Warning: InvocationTargetException in canConvert!

KECX02325-W

警告: canConvertメソッド内でIllegalAccessExceptionが発生しました。
Warning: IllegalAccessException in canConvert!

KECX02326-E

エラー：xsl:fallbackの親は拡張要素または未知の要素でなければいけません。
Error! parent of xsl:fallback must be an extension or unknown element!

KECX02327-E

プログラマのエラーです。countMatchPatternはnullであってはいけません。
Programmers error! countMatchPattern should never be null!

KECX02328-W

QNAMEのソートデータ種別のためのフックを記述する必要があります。
TODO: Need to write the hooks for QNAME sort data type

KECX02329-W

警告: -out {0}が{1}をスローしました。
# WARNING: -out {0} threw {1}

KECX02330-W

警告: -outの引数はファイル名でなければいけません。出力はコンソールに送出されました。
# WARNING: -out argument should have a filename, output sent to console

KECX02331-W

appendEnvironmentReportメソッドが{0}をスローしました。
appendEnvironmentReport threw: {0}

KECX02501-W

'}'を見つけましたが属性テンプレートがオープンしていません。
Found '}' but no attribute template open!

KECX02502-W

警告:count属性はxsl:numberの祖先と一致しません。Target={0}
Warning: count attribute does not match an ancestor in xsl:number! Target = {0}

KECX02503-W

古い文法です。属性名exprはselectに変更されました。
Old syntax: The name of the 'expr' attribute has been changed to 'select'.

KECX02504-W

XML Processor はformat-number関数内でまだロケール名を処理しません。
XML Processor doesn't yet handle the locale name in the format-number function.

KECX02505-W

警告: xml:lang={0}のロケールを見つけることができません。
Warning: Could not find locale for xml:lang={0}

KECX02506-W

{0}からURLを作成できません。
Can not make URL from: {0}

KECX02507-W

要求されたdoc{0}をロードできません。
Can not load requested doc: {0}

KECX02508-W

<sort xml:lang={0}のCollatorを見つけられません。
Could not find Collator for <sort xml:lang={0}

KECX02509-W

古い文法です。関数命令は{0}のURLを使わなければいけません。
Old syntax: the functions instruction should use a url of {0}

KECX02510-W

エンコーディング{0}はサポートされていません。UTF-8を使用します。
encoding not supported: {0}, using UTF-8

KECX02511-W

エンコーディング{0}はサポートされていません。Java{1}を使用します。
encoding not supported: {0}, using Java {1}

KECX02512-W

限定性の矛盾を見つけました。スタイルシート内で最後に使われている{0}が使われています。
Specificity conflicts found: {0} Last found in stylesheet will be used.

KECX02513-W

パーサの実行と準備をしています。{0}
========= Parsing and preparing {0} ==========

KECX02514-W

Attr Template, {0}
Attr Template, {0}

KECX02515-W

xsl:strip-spaceとxsl:preserve-spaceとの衝突が起きています。
Match conflict between xsl:strip-space and xsl:preserve-space

KECX02516-W

XML Processorは{0}属性を取り扱っていません。
XML Processor does not yet handle the {0} attribute!

KECX02517-W

10進数形式の宣言が見つかりません。{0}
No declaration found for decimal format: {0}

KECX02518-E

XSLTの名前空間がないか，または不正です。
Missing or incorrect XSLT Namespace.

KECX02519-W

xsl:decimal-format宣言で許されているデフォルト値は一つだけです。
Only one default xsl:decimal-format declaration is allowed.

KECX02520-W

xsl:decimal-format名はユニークでなければいけません。名称{0}は多重定義されています。
xsl:decimal-format names must be unique. Name "{0}" has been duplicated.

KECX02521-W

{0}が不正な属性{1}を持っています。
{0} has an illegal attribute: {1}

KECX02522-W

名前空間接頭辞{0}を解決できませんでした。ノードは無視されます。
Could not resolve namespace prefix: {0}. The node will be ignored.

KECX02523-W

xsl:stylesheetはバージョン属性が必要です。
xsl:stylesheet requires a 'version' attribute!

KECX02524-W

属性名が不正です。{0}
Illegal attribute name: {0}

KECX02525-W

属性{0}で不正な値が使われています。{1}
Illegal value used for attribute {0}: {1}

KECX02526-W

ドキュメント関数の2番目の引数から得られたnodesetが空です。空のnode-setを戻します。
Resulting nodeset from second argument of document function is empty. Return an empty node-set.

KECX02527-W

xsl:processing-instructionのname属性の値はxmlにできません。
The value of the name attribute of xsl:processing-instruction name must not be xml

KECX02528-W

xsl:processing-instructionのname属性の値は，有効なNCNameでなくてはいけません。{0}
The value of the name attribute of xsl:processing-instruction must be a valid NCName: {0}

KECX02529-W

子ノードのあと，または要素が現れる前に，属性{0}を加えることはできません。属性は無視されます。
Cannot add attribute {0} after child nodes or before an element is produced. Attribute will be ignored.

KECX02530-E

修正してはいけない箇所に対して，オブジェクトを修正しようとしています。
An attempt is made to modify an object where modifications are not allowed.

KECX02701-E

createMessageへのパラメタが境界外でした。
Parameter to createMessage was out of bounds

KECX02702-E

messageFormat呼び出し中に例外がスローされました。
Exception thrown during messageFormat call

KECX02703-E

Xalan-Jコマンド行Process クラス・オプション:
Xalan-J command line Process class options:

KECX02704-W

オプション{0}はXSLTCモードではサポートされていません。
The option {0} is not supported in XSLTC mode.

KECX02705-W

オプション{0}は-XSLTCと一緒にしか使用できません。
The option {0} can only be used with -XSLTC.

KECX02706-E

エラー：スタイルシートがないか入力 xml が指定されていません。使用法の説明については，オプションなしでこのコマンドを実行してください。
Error: No stylesheet or input xml is specified. Run this command without any option for usage instructions.

KECX02707-E

テンプレートのネストが深すぎます。ネスト = {0}，テンプレート {1} {2}
Template nesting too deep. nesting = {0}, template {1} {2}

KECX02708-E

呼び出すことができませんでした。
Could not prime the pump!

KECX02709-E

{0}でParseExceptionが発生しました。
ParseException {0}

7.2.3　KECX03000～KECX03999

KECX03001-E

current()関数はパターンのマッチングでは許可されていません。
The current() function is not allowed in a match pattern!

KECX03002-E

current()関数は引数を受け入れません。
The current() function does not accept arguments!

KECX03003-E

document()関数実装はcom.cosminexus.jaxp.impl.transform.xslt.FuncDocumentに置き換えられました。
document() function implementation has been replaced by com.cosminexus.jaxp.impl.transform.xslt.FuncDocument!

KECX03004-E

コンテキストに所有者ドキュメントがありません。
context does not have an owner document!

KECX03005-E

local-name() の引数が多過ぎます。
local-name() has too many arguments.

KECX03006-E

namespace-uri()の引数が多過ぎます。
namespace-uri() has too many arguments.

KECX03007-E

normalize-space()の引数が多過ぎます。
normalize-space() has too many arguments.

KECX03008-E

number()の引数が多過ぎます。
number() has too many arguments.

KECX03009-E

name()の引数が多過ぎます。
name() has too many arguments.

KECX03010-E

string()の引数が多過ぎます。
string() has too many arguments.

KECX03011-E

string-length()の引数が多過ぎます。
string-length() has too many arguments.

KECX03012-E

translate()関数に三つの引数が指定されています。
The translate() function takes three arguments!

KECX03013-E

unparsed-エンティティ-uri関数の引数は一つです。
The unparsed-entity-uri function should take one argument!

KECX03014-E

名前空間軸はまだ実装されていません。
namespace axis not implemented yet!

KECX03015-E

未知の軸です。{0}
unknown axis: {0}

KECX03016-E

未知の照合オペレーションです。
unknown match operation!

KECX03017-E

processing-instruction()ノードテストの引数の長さが不正です。
Arg length of processing-instruction() node test is incorrect!

KECX03018-E

{0}を数字に変換できません。
Can not convert {0} to a number

KECX03019-E

{0}をNodeListに変換できません。
Can not convert {0} to a NodeList!

KECX03020-E

{0}をNodeSetDTMに変換できません。
Can not convert {0} to a NodeSetDTM!

KECX03021-E

{0}をtype#{1}に変換できません。
Can not convert {0} to a type#{1}

KECX03022-E

getMatchScoreに予期される一致パターンです。
Expected match pattern in getMatchScore!

KECX03023-E

{0}という名前の変数を取得できませんでした。
Could not get variable named {0}

KECX03024-E

エラーです。未知のオプションコード{0}
ERROR! Unknown op code: {0}

KECX03025-E

余分な不正トークンです。{0}
Extra illegal tokens: {0}

KECX03026-E

リテラルの引用符が誤りです。二重引用符が必要です。
misquoted literal... expected double quote!

KECX03027-E

リテラルの引用符が誤りです。単一引用符が必要です。
misquoted literal... expected single quote!

KECX03028-E

式が空です。
Empty expression!

KECX03029-E

{0}が予期されていましたが，{1}が見つかりました。
Expected {0}, but found: {1}

KECX03030-E

プログラマの指定が不正です。- {0}
Programmer assertion is incorrect! - {0}

KECX03031-E

19990709 XPathドラフトについて，boolean(...)引数は任意ではありません。
boolean(...) argument is no longer optional with 19990709 XPath draft.

KECX03032-E

',' が見つかりましたが，その前に引数がありません。
Found ',' but no preceding argument!

KECX03033-E

',' が見つかりましたが，それに続く引数がありません。
Found ',' but no following argument!

KECX03034-E

..[predicate] または.[predicate] は不正な構文です。代わりに self::node()[predicate] を使用してください。
'..[predicate]' or '.[predicate]' is illegal syntax. Use 'self::node()[predicate]' instead.

KECX03035-E

不正な軸名です。{0}
illegal axis name: {0}

KECX03036-E

未知のノードタイプです。{0}
Unknown nodetype: {0}

KECX03037-E

リテラル({0})パターンは，引用符で囲む必要があります。
Pattern literal ({0}) needs to be quoted!

KECX03038-E

{0}は数字に書式設定できませんでした。
{0} could not be formatted to a number!

KECX03039-E

XML TransformerFactory Liaisonを作成できませんでした。{0}
Could not create XML TransformerFactory Liaison: {0}

KECX03040-E

エラーです。xpath 選択式(-select)が見つかりませんでした。
Error! Did not find xpath select expression (-select).

KECX03041-E

エラーです。OP_LOCATIONPATHのあとにENDOPが見つかりませんでした。
ERROR! Could not find ENDOP after OP_LOCATIONPATH

KECX03042-E

エラーが発生しました。
Error occurred!

KECX03043-E

コンテキストの外で，または定義なしでVariableReferenceが変数に指定されました。Name = {0}
VariableReference given for variable out of context or without definition! Name = {0}

KECX03044-E

マッチングパターンには，child::およびattribute::軸だけが許可されます。許可されない軸 = {0}
Only child:: and attribute:: axes are allowed in match patterns! Offending axes = {0}

KECX03045-E

key()の引数の数が不正です。
key() has an incorrect number of arguments.

KECX03046-E

count関数に使用できる引数は一つです。
The count function should take one argument!

KECX03047-E

関数{0}が見つかりませんでした。
Could not find function: {0}

KECX03048-E

サポートされていないエンコーディング{0}です。
Unsupported encoding: {0}

KECX03049-E

getNextSiblingのDTMに問題が発生しました。復元しようとしています。
Problem occurred in DTM in getNextSibling... trying to recover

KECX03050-E

プログラマエラーです。EmptyNodeListに書き込みできません。
Programmer error: EmptyNodeList can not be written to.

KECX03051-E

setDOMFactoryはXPathContextでサポートされていません。
setDOMFactory is not supported by XPathContext!

KECX03052-E

接頭辞は名前空間で解決されなければいけません。{0}
Prefix must resolve to a namespace: {0}

KECX03053-E

構文解析(InputSource ソース)はXPathContextでサポートされていません。{0}をオープンできません。
parse (InputSource source) not supported in XPathContext! Can not open {0}

KECX03057-E

SAX API characters(char ch[]...はDTMで処理されません。
SAX API characters(char ch[]... not handled by the DTM!

KECX03058-E

ignorableWhitespace(char ch[]...はDTMで処理されません。
ignorableWhitespace(char ch[]... not handled by the DTM!

KECX03059-E

DTMLiaisonはタイプ{0}のノードを処理できません。
DTMLiaison can not handle nodes of type {0}

KECX03060-E

DOM2Helper はタイプ{0}のノードを処理できません。
DOM2Helper can not handle nodes of type {0}

KECX03061-E

DOM2Helper.parseエラー: SystemID -{0}行番号 - {1}
DOM2Helper.parse error: SystemID - {0} line - {1}

KECX03062-E

DOM2Helper.parseエラーです。
DOM2Helper.parse error

KECX03065-E

無効なUTF-16サロゲートが検出されました：{0} ?
Invalid UTF-16 surrogate detected: {0} ?

KECX03066-E

入出力エラーです。
IO error

KECX03067-E

{0}のURLを作成できません。
Cannot create url for: {0}

KECX03068-E

XPath.readObjectにあります。{0}
In XPath.readObject: {0}

KECX03069-E

関数トークンが見つかりません。
function token not found.

KECX03071-E

XPathタイプ{0}は処理できません。
Can not deal with XPath type: {0}

KECX03072-E

このNodeSetは可変ではありません。
This NodeSet is not mutable

KECX03073-E

このNodeSetDTMは可変ではありません。
This NodeSetDTM is not mutable

KECX03074-E

解決できない変数です。{0}
Variable not resolvable: {0}

KECX03075-E

エラーハンドラがnullです。
Null error handler

KECX03076-E

プログラマの指定は，未知のオプションコードです。{0}
Programmer's assertion: unknown opcode: {0}

KECX03078-E

rtf()はXRTreeFragSelectWrapperではサポートされていません。
rtf() not supported by XRTreeFragSelectWrapper

KECX03079-E

asNodeIterator()はXRTreeFragSelectWrapperではサポートされていません。
asNodeIterator() not supported by XRTreeFragSelectWrapper

KECX03080-E

XStringForCharsにfsb()はサポートされていません。
fsb() not supported for XStringForChars

KECX03081-E

{0}という名前の変数が見つかりませんでした。
Could not find variable with the name of {0}

KECX03082-E

XStringForCharsは引数に文字列を使用できません。
XStringForChars can not take a string for an argument

KECX03083-E

FastStringBuffer引数はnullにできません。
The FastStringBuffer argument can not be null

KECX03085-E

確定する前に変数がアクセスされました。
Variable accessed before it is bound!

KECX03086-E

XStringForFSBは引数のstringを受け取ることができません。
XStringForFSB can not take a string for an argument!

KECX03087-E

エラーです。ウォーカのルートをnullにします。
!!!! Error! Setting the root of a walker to null!!!

KECX03088-E

このNodeSetDTMは，直前のノードを繰り返すことができません。
This NodeSetDTM can not iterate to a previous node!

KECX03089-E

このNodeSetは，直前のノードを繰り返すことができません。
This NodeSet can not iterate to a previous node!

KECX03090-E

このNodeSetDTMは，索引づけまたはカウント機能を実行できません。
This NodeSetDTM can not do indexing or counting functions!

KECX03091-E

このNodeSetは，索引づけまたはカウント機能を実行できません。
This NodeSet can not do indexing or counting functions!

KECX03092-E

nextNodeを呼び出したあとに，setShouldCacheNodesを呼び出すことはできません。
Can not call setShouldCacheNodes after nextNode has been called!

KECX03093-E

{0}に許可される引数は{1}個だけです。
{0} only allows {1} arguments

KECX03094-E

getNextStepPosでプログラマが表明した，未知のstepType{0}です。
Programmer's assertion in getNextStepPos: unknown stepType: {0}

KECX03095-E

相対ロケーションパスは '/' または '//' トークンの次に必要です。
A relative location path was expected following the '/' or '//' token.

KECX03096-E

ロケーションパスが必要でしたが，次のトークンが検出されました。{0}
A location path was expected, but the following token was encountered: {0}

KECX03097-E

ロケーションステップは '/' または '//' トークンの次に必要です。
A location step was expected following the '/' or '//' token.

KECX03098-E

NCName:*またはQNameのどちらかと一致するノードテストが必要です。
A node test that matches either NCName:* or QName was expected.

KECX03099-E

ステップパターンが必要でしたが，'/' が検出されました。
A step pattern was expected, but '/' was encountered.

KECX03100-E

相対的なパスパターンが必要です。
A relative path pattern was expected.

KECX03103-E

XPath式{0}のXPathResultに，ブールに変換できない{1}のXPathResultTypeがあります。
The XPathResult of XPath expression '{0}' has an XPathResultType of {1} which cannot be converted to a boolean.

KECX03104-E

XPath式{0}のXPathResultに，単一ノードに変換できない{1}のXPathResultTypeがあります。getSingleNodeValueメソッドはANY_UNORDERED_NODE_TYPE型およびFIRST_ORDERED_NODE_TYPE型のみに適用します。
The XPathResult of XPath expression '{0}' has an XPathResultType of {1} which cannot be converted to a single node. The method getSingleNodeValue applies only to types ANY_UNORDERED_NODE_TYPE and FIRST_ORDERED_NODE_TYPE.

KECX03105-E

XPathResultTypeが{1}のため，getSnapshotLengthメソッドはXPath式{0}のXPathResultに呼び出すことができません。このメソッドは，UNORDERED_NODE_SNAPSHOT_TYPE型およびORDERED_NODE_SNAPSHOT_TYPE型のみに適用します。
The method getSnapshotLength cannot be called on the XPathResult of XPath expression '{0}' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.

KECX03106-E

XPathResultTypeが{1}のため，iterateNextメソッドはXPath式{0}のXPathResultに呼び出すことができません。このメソッドは，UNORDERED_NODE_ITERATOR_TYPE型およびORDERED_NODE_ITERATOR_TYPE型のみに適用します。
The method iterateNext cannot be called on the XPathResult of XPath expression '{0}' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_ITERATOR_TYPE and ORDERED_NODE_ITERATOR_TYPE.

KECX03107-E

結果が返されたあとに，ドキュメントが変更されました。イテレータは無効です。
Document mutated since result was returned. Iterator is invalid.

KECX03108-E

無効のXPathタイプ引数です。{0}
Invalid XPath type argument: {0}

KECX03109-E

空のXPath結果オブジェクトです。
Empty XPath result object

KECX03110-E

XPath式{0}のXPathResultは，{2}の指定されたXPathResultTypeに強制できない{1}のXPathResultTypeを持ちます。
The XPathResult of XPath expression '{0}' has an XPathResultType of {1} which cannot be coerced into the specified XPathResultType of {2}.

KECX03111-E

接頭辞なしのリゾルバでは，接頭辞を解決できません。
Unable to resolve prefix with null prefix resolver.

KECX03112-E

XPath式{0}のXPathResultは，文字列に変換できない{1}のXPathResultTypeを持ちます。
The XPathResult of XPath expression '{0}' has an XPathResultType of {1} which cannot be converted to a string.

KECX03113-E

XPathResultTypeが{1}のため，snapshotItemメソッドはXPath式{0}のXPathResultに呼び出すことができません。このメソッドは，UNORDERED_NODE_SNAPSHOT_TYPE型およびORDERED_NODE_SNAPSHOT_TYPE型のみに適用します。
The method snapshotItem cannot be called on the XPathResult of XPath expression '{0}' because its XPathResultType is {1}. This method applies only to types UNORDERED_NODE_SNAPSHOT_TYPE and ORDERED_NODE_SNAPSHOT_TYPE.

KECX03114-E

コンテキストノードは，このXPathEvaluatorに結び付けられるドキュメントに属しません。
Context node does not belong to the document that is bound to this XPathEvaluator.

KECX03115-E

コンテキストノードタイプはサポートされていません。
The context node type is not supported.

KECX03116-E

XPathに未知のエラーが発生しました。
Unknown error in XPath.

KECX03117-E

detach()はXRTreeFragSelectWrapperではサポートされていません。
detach() not supported by XRTreeFragSelectWrapper

KECX03118-E

num()はXRTreeFragSelectWrapperではサポートされていません。
num() not supported by XRTreeFragSelectWrapper

KECX03119-E

xstr()はXRTreeFragSelectWrapperではサポートされていません。
xstr() not supported by XRTreeFragSelectWrapper

KECX03120-E

str()はXRTreeFragSelectWrapperではサポートされていません。
str() not supported by XRTreeFragSelectWrapper

KECX03121-E

ロケーションパスが期待されていたが，XPath式の終わりが発見されました。
A location path was expected, but the end of the XPath expression was found instead.

KECX03122-E

XPath式{0}のXPathResultに，数字に変換できない{1}のXPathResultTypeがあります。
The XPathResult of XPath expression '{0}' has an XPathResultType of {1} which cannot be converted to a number

KECX03123-E

拡張子関数：XMLConstants.FEATURE_SECURE_PROCESSINGフィーチャーがtrueに設定されている場合，{0}を起動できません。
Extension function: '{0}' can not be invoked when the XMLConstants.FEATURE_SECURE_PROCESSING feature is set to true.

KECX03124-E

変数{0}のresolveVariableがnullを返しました。
resolveVariable for variable {0} returning null

KECX03125-E

サポートされていないリターン型：{0}
UnSupported Return Type : {0}

KECX03126-E

ソース型またはリターン型，または両方はnullにできません。
Source and/or Return Type can not be null

KECX03127-E

ソース型またはリターン型，または両方はnullにできません。
Source and/or Return Type can not be null

KECX03128-E

{0}引数はnullにできません。
{0} argument can not be null

KECX03129-E

{0}#isObjectModelSupported（String objectModel）はobjectModel == nullと同時に呼び出せません。
{0}#isObjectModelSupported( String objectModel ) cannot be called with objectModel == null

KECX03130-E

{0}#isObjectModelSupported（String objectModel）はobjectModel == ¥"¥"と同時に呼び出せません。
{0}#isObjectModelSupported( String objectModel ) cannot be called with objectModel == ¥"¥"

KECX03131-E

null名でフィーチャーを設定しようとしました：{0}#setFeature( null, {1})
Trying to set a feature with a null name: {0}#setFeature( null, {1})

KECX03132-E

未知のフィーチャー ¥"{0}¥"を設定しようとしました：{1}#setFeature({0},{2})
Trying to set the unknown feature ¥"{0}¥":{1}#setFeature({0},{2})

KECX03133-E

null名でフィーチャーを取得しようとしました：{0}#getFeature(null)
Trying to get a feature with a null name: {0}#getFeature(null)

KECX03134-E

未知のフィーチャー ¥"{0}¥"を取得しようとしました：{1}#getFeature({0})
Trying to get the unknown feature ¥"{0}¥":{1}#getFeature({0})

KECX03135-E

nullのXPathFunctionResolverを設定しようとしました：{0}#setXPathFunctionResolver(null）
Attempting to set a null XPathFunctionResolver:{0}#setXPathFunctionResolver(null)

KECX03136-E

nullのXPathVariableResolverを設定しようとしました：{0}#setXPathVariableResolver(null)
Attempting to set a null XPathVariableResolver:{0}#setXPathVariableResolver(null)

KECX03306-E

このNodeSetDTMは索引づけまたはカウント機能を実行できません。
This NodeSetDTM can not do indexing or counting functions!

KECX03307-E

プログラマエラーです。putDocumentInCacheによって，docの再パージングが見つかりました。{0}
Programmer's Error! putDocumentInCache found reparse of doc: {0}

KECX03314-E

どんなresource bundlesもロードできません。
Could not load any resource bundles.

KECX03315-E

エラーです。Function.executeは呼ばれてはいけません。
Error! Function.execute should not be called!

KECX03316-W

警告：スタックが空の場合のpopContextNodeListです。
Warning: popContextNodeList when stack is empty!

KECX03501-W

format-number関数でロケール名はまだ処理されていません。
locale name in the format-number function not yet handled!

KECX03502-W

XSLプロパティ{0}は未サポートです。
XSL Property not supported: {0}

KECX03503-W

現在，プロパティ{1}の名前空間{0}で何も実行されていません。
Do not currently do anything with namespace {0} in property: {1}

KECX03504-W

XSLシステムプロパティ{0}にアクセスしたときに，SecurityExceptionが発生しました。
SecurityException when trying to access XSL system property: {0}

KECX03505-W

旧構文：quo(...)はXPathでは定義されていません。
Old syntax: quo(...) is no longer defined in XPath.

KECX03506-W

nodeTestをインプリメントするにはXPathに派生オブジェクトが必要です。
XPath needs a derived object to implement nodeTest!

KECX03507-W

関数トークンが見つかりません。
function token not found.

KECX03508-W

関数{0}が見つかりませんでした。
Could not find function: {0}

KECX03509-W

URLを{0}から作成できません。
Can not make URL from: {0}

KECX03510-W

DTMパーサで-Eオプションはサポートされていません。
-E option not supported for DTM parser

KECX03511-W

コンテキスト外，または定義なしで，変数にVariableReferenceが指定されました。名前 = {0}
VariableReference given for variable out of context or without definition! Name = {0}

KECX03512-W

サポートされないエンコード：{0}
Unsupported encoding: {0}

KECX03701-E

createMessageへのパラメタが境界外でした。
Parameter to createMessage was out of bounds

KECX03702-E

messageFormat呼び出し中に例外がスローされました。
Exception thrown during messageFormat call

KECX03901-E

述語またはロケーションステップはNodeSetだけに適用できます。
A predicate or a location step is applicable to only a NodeSet.

KECX03902-E

変数リゾルバが設定されていません。
A XPathVariableResolver is not set.

KECX03903-E

関数リゾルバが設定されていません。
A XPathFunctionResolver is not set.

7.2.4　KECX04000～KECX04999

KECX04012-E

Configurationエラーです。
Configuration Error

KECX04014-E

コーディングエラーです。インデックスを記述したDTMはmark/rewindしないでください。
Coding error; Don't try to mark/rewind an indexed DTM

KECX04016-E

null/emptyスキーマではURIを構成できません。
Cannot construct URI with null/empty scheme!

KECX04017-E

null/emptyのscheme-specificではURIを構成できません。
Cannot construct URI with null/empty scheme-specific part!

KECX04018-E

{0}が無効です。portは数字だけで指定してください。
{0} is invalid. Port should only contain digits!

KECX04019-E

null文字列ではpathの初期化はできません。
Cannot initialize path from null string!

KECX04020-E

Query stringに無効なエスケープシーケンスが含まれています。
Query string contains invalid escape sequence!

KECX04021-E

Query stringに無効な文字が含まれています。{0}
Query string contains invalid character:{0}

KECX04022-E

Fragmentに無効なエスケープシーケンスが含まれています。{0}
Fragment contains invalid escape sequence!

KECX04023-E

Fragmentに無効な文字が含まれています。{0}
Fragment contains invalid character:{0}

KECX04024-E

host指定がない場合，Userinfoは設定できません。
Userinfo cannot be set when host is null!

KECX04025-E

Userinfoに無効なエスケープシーケンスが含まれています。{0}
Userinfo contains invalid escape sequence!

KECX04026-E

Userinfoに無効な文字が含まれています。{0}
Userinfo contains invalid character:{0}

KECX04027-E

Query stringは一般的なURIのセットにだけ使えます。
Query string can only be set for a generic URI!

KECX04028-E

Query stringはpathがnullの場合には使えません。
Query string cannot be set when path is null!

KECX04029-E

Query stringに無効な文字を含みます。
Query string contains invalid character!

KECX04030-E

どんなresource bundleもロードできません。
Could not load any resource bundles.

KECX04038-W

警告: ChunkedIntArray({0})がスロット当たり{1}ワードを消費しています。
*****WARNING: ChunkedIntArray({0}) wasting {1} words per slot

KECX04039-W

絶対化できないURLです。{0}
Can not absolutize URL: {0}

KECX04040-E

ソース位置のコーディングエラーです。{0} != {1}
CODING ERROR in Source Location: {0} != {1}

KECX04046-E

DOMエラーです。クラス{0}
DOM ERROR! class: {0}

KECX04047-E

どんなresource bundleもロードできません。{0}
Could not load any resource bundles.{0}

KECX04101-E

機能はサポートされていません。
Function not supported!

KECX04102-E

causeを上書きできません。
Cannot overwrite cause

KECX04103-E

デフォルトインプリメンテーションが見つかりません。
No default implementation found

KECX04104-E

現在ChunkedIntArray({0})はサポートされていません。
ChunkedIntArray({0}) not currently supported

KECX04105-E

オフセットがスロットより大きいです。
Offset bigger than slot

KECX04106-E

Coroutineを使用できません。id={0}
Coroutine not available, id={0}

KECX04107-E

CoroutineManagerがco_exit()要求を受け取りました。
CoroutineManager received co_exit() request

KECX04108-E

co_joinCoroutineSet() が失敗しました。
co_joinCoroutineSet() failed

KECX04109-E

Coroutineパラメタエラーです。({0})
Coroutine parameter error ({0})

KECX04110-E

予想外:パーサdoTerminateが{0}を応答しています。
UNEXPECTED: Parser doTerminate answers {0}

KECX04111-E

parseは構文解析中に呼び出してはいけません。
parse may not be called while parsing

KECX04112-E

エラーです。軸{0}の型つきイテレータはインプリメントされていません。
Error: typed iterator for axis {0} not implemented

KECX04113-E

エラーです。軸{0}のイテレータはインプリメントされていません。
Error: iterator for axis {0} not implemented

KECX04114-E

イテレータの複製はサポートされていません。
Iterator clone not supported

KECX04115-E

未知の軸トラバースタイプです。{0}
Unknown axis traversal type: {0}

KECX04116-E

軸トラバーサはサポートされていません。{0}
Axis traverser not supported: {0}

KECX04117-E

使用できるDTM IDはこれ以上ありません。
No more DTM IDs are available

KECX04118-E

サポートされていません。{0}
Not supported: {0}

KECX04119-E

getDTMHandleFromNodeのノードは非nullでなければいけません。
Node must be non-null for getDTMHandleFromNode

KECX04120-E

ノードをハンドルに解決できませんでした。
Could not resolve the node to a handle

KECX04121-E

startParseは構文解析中に呼び出してはいけません。
startParse may not be called while parsing

KECX04122-E

startParseにはnull以外のSAXParserが必要です。
startParse needs a non-null SAXParser

KECX04123-E

パーサを次で初期化できませんでした。
could not initialize parser with

KECX04124-E

プールの新規インスタンスを作成中に例外が発生しました。
exception creating new instance for pool

KECX04125-E

パスに無効なエスケープシーケンスが含まれています。
Path contains invalid escape sequence

KECX04126-E

スキームが必要です。
Scheme is required!

KECX04127-E

スキームはURI{0}で見つかりません。
No scheme found in URI: {0}

KECX04128-E

スキームはURIで見つかりません。
No scheme found in URI

KECX04129-E

パスに無効文字{0}が含まれています。
Path contains invalid character: {0}

KECX04130-E

null文字列からはスキームを設定できません。
Cannot set scheme from null string

KECX04131-E

スキームは一致していません。
The scheme is not conformant.

KECX04132-E

ホストは整形式のアドレスでありません。
Host is not a well formed address

KECX04133-E

ホスト指定がない場合ポートを設定できません。
Port cannot be set when host is null

KECX04134-E

無効なポート番号です。
Invalid port number

KECX04135-E

一般的なURIのフラグメントだけ設定できます。
Fragment can only be set for a generic URI

KECX04136-E

パスがnullであるとフラグメントを設定できません。
Fragment cannot be set when path is null

KECX04137-E

フラグメントに無効文字が含まれています。
Fragment contains invalid character

KECX04138-E

パーサはすでに使用中です。
Parser is already in use

KECX04139-E

構文解析中に{0}{1}を変更できません。
Cannot change {0} {1} while parsing

KECX04140-E

自己原因は許可されません。
Self-causation not permitted

KECX04141-E

ホストが指定されていない場合はUserinfoを指定してはいけません。
Userinfo may not be specified if host is not specified

KECX04142-E

ホストが指定されていない場合はポートを指定してはいけません。
Port may not be specified if host is not specified

KECX04143-E

Query stringはパスおよびQuery string内に指定できません。
Query string cannot be specified in path and query string

KECX04144-E

フラグメントはパスとフラグメントの両方に指定できません。
Fragment cannot be specified in both the path and fragment

KECX04145-E

URIは空のパラメタを使用して初期化できません。
Cannot initialize URI with empty parameters

KECX04146-E

メソッドは未サポートです。
Method not yet supported

KECX04147-E

現在IncrementalSAXSource_Filterは再始動できません。
IncrementalSAXSource_Filter not currently restartable

KECX04148-E

XMLReaderがstartParse要求の前でありません。
XMLReader not before startParse request

KECX04149-E

軸トラバーサはサポートされていません。{0}
Axis traverser not supported: {0}

KECX04150-E

ListingErrorHandlerがnull PrintWriterで作成されました。
ListingErrorHandler created with null PrintWriter!

KECX04151-E

SystemIdは未知です。
SystemId Unknown

KECX04152-E

エラーのロケーションは未知です。
Location of error unknown

KECX04153-E

接頭辞は名前空間で解決されなければいけません。{0}
Prefix must resolve to a namespace: {0}

KECX04154-E

createDocument()はXPathContext内で未サポートです。
createDocument() not supported in XPathContext!

KECX04155-E

属性の子に所有者文書がありません。
Attribute child does not have an owner document!

KECX04156-E

属性の子に所有者文書エレメントがありません。
Attribute child does not have an owner document element!

KECX04157-E

警告:文書エレメントの前にテキストを出力できません。無視しています...
Warning: can't output text before document element! Ignoring...

KECX04158-E

DOMでは複数のルートを持てません。
Can't have more than one root on a DOM!

KECX04159-E

引数localNameがnullです。
Argument 'localName' is null

KECX04160-E

QNAME内のローカル名は有効なNCNameでなければいけません。
Localname in QNAME should be a valid NCName

KECX04161-E

QNAME内の接頭辞は有効なNCNameでなければいけません。
Prefix in QNAME should be a valid NCName

KECX04162-E

createMessageへのパラメタが境界外でした。
Parameter to createMessage was out of bounds

KECX04163-E

messageFormat呼び出し中に例外がスローされました。
Exception thrown during messageFormat call

KECX04164-E

シリアライザークラス{0}はorg.xml.sax.ContentHandlerをインプリメントしません。
The serializer class '{0}' does not implement org.xml.sax.ContentHandler.

KECX04165-E

リソース{0}は見つかりませんでした。{1}
The resource [ {0} ] could not be found. {1}

KECX04166-E

リソース{0}は次のものをロードできませんでした。{1} {2} {3}
The resource [ {0} ] could not load: {1} {2} {3}

KECX04167-E

バッファサイズが0以下です。
Buffer size <=0

KECX04168-E

無効なUTF-16サロゲートが検出されました。{0}
Invalid UTF-16 surrogate detected: {0} ?

KECX04169-E

入出力エラーです。
IO error

KECX04170-E

子ノードのあと，またはエレメントが現れる前に，属性{0}を加えることはできません。属性は無視されます。
Cannot add attribute {0} after child nodes or before an element is produced. Attribute will be ignored.

KECX04171-E

接頭辞{0}の名前空間が宣言されていません。
Namespace for prefix '{0}' has not been declared.

KECX04172-E

属性{0}がエレメントの外側です。
Attribute '{0}' outside of element.

KECX04173-E

名前空間宣言{0}={1}がエレメントの外側です。
Namespace declaration '{0}'='{1}' outside of element.

KECX04174-E

{0}をロードできませんでした (CLASSPATHを確認してください)。現在は単にデフォルトを使用しています。
Could not load '{0}' (check CLASSPATH), now using just the defaults

KECX04175-E

出力メソッド{1}のプロパティファイル{0}をロードできませんでした(CLASSPATH を確認してください)。
Could not load the property file '{0}' for output method '{1}' (check CLASSPATH) }

KECX04176-E

整数値{0}で出力しようとしている文字は，{1}で指定された出力エンコーディングで表現できません。
Attempt to output character of integral value {0} that is not represented in specified output encoding of {1}.

KECX04177-E

無効なポート番号です。
Invalid port number

KECX04178-E

ホストがnullの場合はポートを設定できません。
Port cannot be set when host is null

KECX04179-E

ホストが整形式アドレスではありません。
Host is not a well formed address

KECX04180-E

スキームが適合しません。
The scheme is not conformant.

KECX04181-E

null文字列からスキームを設定できません。
Cannot set scheme from null string

KECX04182-E

パスに無効なエスケープ・シーケンスが含まれています。
Path contains invalid escape sequence

KECX04183-E

パスに無効文字が含まれています：{0}
Path contains invalid character: {0}

KECX04184-E

フラグメントに無効文字が含まれています。
Fragment contains invalid character

KECX04185-E

パスがnullであるとフラグメントを設定できません。
Fragment cannot be set when path is null

KECX04186-E

一般的なURIの場合のみ，フラグメントを設定できます。
Fragment can only be set for a generic URI

KECX04187-E

URIにスキームがありません。
No scheme found in URI

KECX04188-E

URIは空のパラメタで初期化できません。
Cannot initialize URI with empty parameters

KECX04189-E

フラグメントはパスとフラグメントの両方に指定できません。
Fragment cannot be specified in both the path and fragment

KECX04190-E

Query stringはパスおよびQuery string内に指定できません。
Query string cannot be specified in path and query string

KECX04191-E

ホストが指定されていない場合は，ポートは指定できません。
Port may not be specified if host is not specified

KECX04192-E

ホストが指定されていない場合は，userinfoは指定できません。
Userinfo may not be specified if host is not specified

KECX04193-W

警告：出力ドキュメントのバージョンとして{0}を要求されています。本バージョンのXMLはサポートされていません。出力ドキュメントのバージョンは1.0となります。
Warning: The version of the output document is requested to be '{0}'. This version of XML is not supported. The version of the output document will be '1.0'.

KECX04194-E

スキームが必要です。
Scheme is required!

KECX04195-E

SerializerFactoryに渡されたPropertiesオブジェクトは{0}プロパティを持ちません。
The Properties object passed to the SerializerFactory does not have a '{0}' property.

KECX04196-W

警告：エンコーディング{0}はJava runtimeでサポートされていません。
Warning: The encoding '{0}' is not supported by the Java runtime.

KECX04197-E

メッセージキー{0}はメッセージクラス{1}にありません。
The message key '{0}' is not in the message class '{1}'

KECX04198-E

メッセージクラス{1}内のメッセージ{0}のフォーマットは失敗しました。
The format of message '{0}' in message class '{1}' failed.

KECX04199-E

名前はコロンで始められません。
Name cannot start with a colon

KECX04301-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX04302-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました：¥n
An internal error occurred while formatting the following message:¥n

KECX04303-E

指定されたスキーマ言語はnullにできません。
The schema language specified cannot be null.

KECX04304-E

指定されたスキーマ言語の長さは0文字にできません。
The schema language specified cannot have a length of zero characters.

KECX04305-E

Source配列パラメタはnullにできません。
The Source array parameter cannot be null.

KECX04306-E

Source配列パラメタにはnullの項目を含めることができません。
The Source array parameter cannot contain any items that are null.

KECX04307-E

型{0}のSourceパラメタはこのSchemaFactoryを認識していません。
Source parameter of type '{0}' is not recognized this SchemaFactory.

KECX04308-E

Sourceパラメタはnullにできません。
Source parameter cannot be null.

KECX04309-E

型{0}のSourceパラメタはこのバリデータでは受け付けません。
Source parameter of type '{0}' is not accepted by this validator.

KECX04310-E

型{0}のSourceパラメタは，型{1}の結果パラメタと互換性がありません。
Source parameter of type '{0}' is not compatible with result parameter of type '{1}'.

KECX04311-E

TypeInfoProviderはstartElementコールバックの外で問い合わせできません。
A TypeInfoProvider cannot be queried outside of a startElement callback.

KECX04312-E

フィーチャー名はnullにできません。
The feature name cannot be null.

KECX04313-E

プロパティ名はnullにできません。
The property name cannot be null.

KECX04314-E

指定されたSAXSourceにはInputSourceがありません。
The SAXSource specified contains no InputSource.

KECX04401-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX04402-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました：¥n
An internal error occurred while formatting the following message:¥n

KECX04403-E

XPointerProcessingError：XPointer式の処理中にエラーが発生しました。.
XPointerProcessingError: An error occurred while processing the XPointer expression.

KECX04404-E

InvalidXPointerToken：XPointer式に無効なトークン{0}が含まれています。
InvalidXPointerToken: The XPointer expression contains the invalid token '{0}'

KECX04405-E

InvalidXPointerExpression：XPointer式{0}は無効です。
InvalidXPointerExpression: The XPointer expression '{0}' is invalid.

KECX04406-E

MultipleShortHandPointers：XPointer式{0}は無効です。式には二つ以上のShortHand Pointerが含まれています。
MultipleShortHandPointers: The XPointer expression '{0}' is invalid. It has more than one ShortHand Pointer.

KECX04407-E

SchemeDataNotFollowedByCloseParenthesis：XPointer式{0}は無効です。SchemeDataの後に)文字がありません。
SchemeDataNotFollowedByCloseParenthesis: The XPointer expression '{0}' is invalid. The SchemeData was not followed by a ')' character.

KECX04408-W

SchemeUnsupported：XPointerスキーム{0}はサポートされていません。
SchemeUnsupported: The XPointer scheme '{0}' is not supported.

KECX04409-E

InvalidShortHandPointer：ShortHand Pointer {0}のNCNameは無効です。
InvalidShortHandPointer: The NCName of the ShortHand Pointer '{0}' is invalid.

KECX04410-E

UnbalancedParenthesisInXPointerExpression：XPointer式{0}は無効です。開かっこの数{1}は閉かっこの数{2}と等しくありません。
UnbalancedParenthesisInXPointerExpression: The XPointer expression '{0}' is invalid. The number of open parenthesis '{1}' is not equal to the number of close parenthesis '{2}'.

KECX04411-E

InvalidSchemeDataInXPointer：XPointer式{0}に無効なSchemeDataが含まれています。
InvalidSchemeDataInXPointer: The XPointer expression '{0}' contains invalid SchemeData.

KECX04412-E

InvalidElementSchemeToken：element()スキームXPointer式に無効なトークン{0}が含まれています。
InvalidElementSchemeToken: The element() scheme XPointer expression contains the invalid token '{0}'

KECX04413-E

InvalidElementSchemeXPointer：Element Scheme XPointer式{0}は無効です。
InvalidElementSchemeXPointer: The Element Scheme XPointer expression '{0}' is invalid.

KECX04414-E

XPointerElementSchemeProcessingError：XPointer element() Scheme式の処理中にエラーが発生しました。.
XPointerElementSchemeProcessingError: An error occurred while processing the XPointer element() Scheme expression.

KECX04415-E

InvalidNCNameInElementSchemeData：element() Schemeには無効なNCNameを持つShortHand Pointer {0}が含まれています。
InvalidNCNameInElementSchemeData: The element() Scheme contains a ShortHand Pointer '{0}' with an invalid NCName.

KECX04416-E

InvalidChildSequenceCharacter：element() Schemeには無効な子シーケンス文字{0}が含まれています。
InvalidChildSequenceCharacter: The element() Scheme contains an invalid child sequence character '{0}'.

7.2.5　KECX06000～KECX06999

KECX06001-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX06002-E

次のメッセージをフォーマットしている間に，内部エラーが発生しました。
An internal error occurred while formatting the following message:

KECX06003-E

内部エラーが発生しました。{0}
Internal error: {0}.

KECX06004-E

空白ファセット値は結合単純型{0}に使用できません。
Whitespace facet value is not available for the union simpleType '{0}'

KECX06005-W

ユーザの文法プールから返された文法の一つが，別の文法と矛盾します。
One of the grammar(s) returned from the user's grammar pool is in conflict with another grammar.

KECX06006-E

一意性制約エラーです(cvc-identity-constraint.4.2.1)。要素{0}に値のないキーが指定されています。
Identity Constraint error (cvc-identity-constraint.4.2.1): element "{0}" has a key with no value.

KECX06007-E

フィールド{0}のスコープで重複適合しています。
Duplicate match in scope for field "{0}".

KECX06008-E

要素{1}の一意性制約宣言で，キーの値{0}が重複しています。
Duplicate key value [{0}] declared for identity constraint of element "{1}".

KECX06009-E

要素{1}の一意性制約宣言で，ユニークの値{0}が重複しています。
Duplicate unique value [{0}] declared for identity constraint of element "{1}".

KECX06010-E

一意性制約エラーが発生しました。フィールド{0}が，selectorの範囲内で複数個一致しました。フィールドはユニークな値でなければいけません。
Identity constraint error: field "{0}" matches more than one value within the scope of its selector; fields must match unique values.

KECX06011-E

要素の内容が，スキーマ中の要素宣言での"fixed"属性の値と等しくありません。
The content of this element is not equivalent to the value of the "fixed" attribute in the element's declaration in the schema.

KECX06012-E

一意性制約エラーです(cvc-identity-constraint.4.2.3)。要素{0}に空要素指定nillableにtrueをセットしている要素と一致するキーが指定されています。
Identity Constraint error (cvc-identity-constraint.4.2.3): element "{0}" has a key which matches an element which has nillable set to true.

KECX06013-E

要素{0}の<key name={1}>一意性制約定義に対して，値の指定が不十分です。
Not enough values specified for <key name="{1}"> identity constraint specified for element "{0}".

KECX06014-E

値{1}が指定されたキー{0}は，要素{2}の一意性制約定義にはありません。
Key '{0}' with value '{1}' not found for identity constraint of element '{2}'.

KECX06015-E

要素{0}の<keyref name={1}>一意性制約定義に対して，値の指定が不十分です。
Not enough values specified for <keyref name="{1}"> identity constraint specified for element "{0}".

KECX06016-E

一意性制約エラーです。一意性制約{0}に，スコープ外のkeyまたはuniqueを参照するkeyrefが指定されました。
Identity Constraint error: identity constraint "{0}" has a keyref which refers to a key or unique that is out of scope.

KECX06017-E

キー参照定義{0}は，{1}という名前の未知のキーを参照しています。
Key reference declaration "{0}" refers to unknown key with name "{1}".

KECX06018-E

要素{0}の<unique>一意性制約定義に対して，値の指定が不十分です。
Not enough values specified for <unique> identity constraint specified for element "{0}".

KECX06019-E

内部一意性制約エラーです。未知のフィールド{0}です。
Internal identity constraint error; unknown field "{0}".

KECX06020-E

要素{0}の属性{1}に指定した値{2}は型{3}に関して不正です。
cvc-attribute.3: The value '{2}' of attribute '{1}' on element '{0}' is not valid with respect to its type, '{3}'.

KECX06021-E

要素{0}の属性{1}に指定した値{2}は，fixed値制約に関して不正です。属性は{3}の値でなければいけません。
cvc-attribute.4: The value '{2}' of attribute '{1}' on element '{0}' is not valid with respect to its fixed {value constraint}. The attribute must have a value of '{3}'.

KECX06022-E

型の内容型が空なので，要素{0}にテキストまたは子要素情報項目を指定することはできません。
cvc-complex-type.2.1: Element '{0}' must have no character or element information item [children], because the type's content type is empty.

KECX06023-E

要素{0}に子要素を指定することはできません。また，値は妥当である必要があります。
cvc-complex-type.2.2: Element '{0}' must have no element [children], and the value must be valid.

KECX06024-E

型の内容型が要素だけなので，要素{0}に子テキストを指定することはできません。
cvc-complex-type.2.3: Element '{0}' cannot have character [children], because the type's content type is element-only.

KECX06025-E

要素{0}で始まる内容は不正です。{1}のうちの一つが期待されます。
cvc-complex-type.2.4.a: Invalid content was found starting with element '{0}'. One of '{1}' is expected.

KECX06026-E

要素{0}は完結していません。{1}のうちの一つが期待されます。
cvc-complex-type.2.4.b: The content of element '{0}' is not complete. One of '{1}' is expected.

KECX06027-E

任意要素定義で，要素宣言が必要ですが，要素{0}の宣言が見つかりません。
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element '{0}'.

KECX06028-E

要素{0}で始まる内容は不正です。子要素はこの時点で期待されません。
cvc-complex-type.2.4.d: Invalid content was found starting with element '{0}'. No child element is expected at this point.

KECX06029-E

要素{0}の属性{1}に指定した値{2}は不正です。属性{1}は{3}の固定値を持っています。
cvc-complex-type.3.1: Value '{2}' of attribute '{1}' of element '{0}' is not valid with respect to the corresponding attribute use. Attribute '{1}' has a fixed value of '{3}'.

KECX06030-E

要素{0}は，属性{1}に対する属性ワイルドカードを持っていません。
cvc-complex-type.3.2.1: Element '{0}' does not have an attribute wildcard for attribute '{1}'.

KECX06031-E

属性{1}は要素{0}に指定できません。
cvc-complex-type.3.2.2: Attribute '{1}' is not allowed to appear in element '{0}'.

KECX06032-E

要素{0}には属性{1}が必要です。
cvc-complex-type.4: Attribute '{1}' must appear on element '{0}'.

KECX06033-E

要素{0}の属性{1}はワイルドIDです。しかし，ワイルドID{2}がすでにあります。指定できるのは一つだけです。
cvc-complex-type.5.1: In element '{0}', attribute '{1}' is a Wild ID. But there is already a Wild ID '{2}'. There can be only one.

KECX06034-E

要素{0}では，属性{1}はワイルドIDです。しかし，属性用途の中に，IDから派生した属性{2}がすでに存在しています。
cvc-complex-type.5.2: In element '{0}', attribute '{1}' is a Wild ID. But there is already an attribute '{2}' derived from ID among the {attribute uses}.

KECX06036-E

{0}は{1}の値として不正です。
cvc-datatype-valid.1.2.1: '{0}' is not a valid value for '{1}'.

KECX06037-E

{0}は{1}のリスト型として不正です。
cvc-datatype-valid.1.2.2: '{0}' is not a valid value of list type '{1}'.

KECX06038-E

{0}は{1}のユニオン型として不正です。
cvc-datatype-valid.1.2.3: '{0}' is not a valid value of union type '{1}'.

KECX06039-E

要素{0}の宣言が見つかりません。
cvc-elt.1: Cannot find the declaration of element '{0}'.

KECX06040-E

要素宣言{0}の属性abstractの値には，falseを指定しないといけません。
cvc-elt.2: The value of {abstract} in the element declaration for '{0}' must be false.

KECX06041-E

nillableプロパティがfalseのため，属性{1}は要素{0}に指定できません。
cvc-elt.3.1: Attribute '{1}' must not appear on element '{0}', because the {nillable} property of '{0}' is false.

KECX06042-E

{1}が指定されているため，要素{0}にはテキストまたは要素情報を指定できません。
cvc-elt.3.2.1: Element '{0}' cannot have character or element information [children], because '{1}' is specified.

KECX06043-E

{1}が指定されているため，要素{0}にはfixed値制約があってはいけません。
cvc-elt.3.2.2: There must be no fixed {value constraint} for element '{0}', because '{1}' is specified.

KECX06044-E

要素{0}の属性{1}の値{2}が，正しいQNameではありません。
cvc-elt.4.1: The value '{2}' of attribute '{1}' of element '{0}' is not a valid QName.

KECX06045-E

{1}は，要素{0}の型定義として解決できません。
cvc-elt.4.2: Cannot resolve '{1}' to a type definition for element '{0}'.

KECX06046-E

型 {1} は要素{0}の型定義，{2}からの妥当な派生ではありません。
cvc-elt.4.3: Type '{1}' is not validly derived from the type definition, '{2}', of element '{0}'.

KECX06047-E

要素{0}の値制約{2}は，型{1}のデフォルトに有効ではありません。
cvc-elt.5.1.1: {value constraint} '{2}' of element '{0}' is not a valid default value for type '{1}'.

KECX06048-E

要素{0}には子要素情報項目を指定できません。
cvc-elt.5.2.2.1: Element '{0}' must have no element information item [children].

KECX06049-E

要素{0}の値{1}が，固定値制約の値{2}と一致しません。
cvc-elt.5.2.2.2.1: The value '{1}' of element '{0}' does not match the fixed {value constraint} value '{2}'.

KECX06050-E

要素{0}の値{1}が，値制約の値{2}と一致しません。
cvc-elt.5.2.2.2.2: The value '{1}' of element '{0}' does not match the {value constraint} value '{2}'.

KECX06051-E

値{0}はenumerationファセットに指定した{1}に関して不正です。enumrationからの値を指定しなければいけません。
cvc-enumeration-valid: Value '{0}' is not facet-valid with respect to enumeration '{1}'. It must be a value from the enumeration.

KECX06052-E

値{0}の小数部桁数{1}は，fractionDigitsファセットに指定した桁数{2}を超えています。
cvc-fractionDigits-valid: Value '{0}' has {1} fraction digits, but the number of fraction digits has been limited to {2}.

KECX06053-E

IDREF{0}に結合するID/IDREFがありません。
cvc-id.1: There is no ID/IDREF binding for IDREF '{0}'.

KECX06054-E

IDの値{0}が複数出現しています。
cvc-id.2: There are multiple occurrences of ID value '{0}'.

KECX06055-E

一意性制約{0}のフィールドは要素{1}と一致しましたが，この要素は単純型を持っていません。
cvc-id.3: A field of identity constraint '{0}' matched element '{1}', but this element does not have a simple type.

KECX06056-E

長さが {1} の値{0}は，型{3}のlengthファセットに指定した長さ{2}と異なっています。
cvc-length-valid: Value '{0}' with length = '{1}' is not facet-valid with respect to length '{2}' for type '{3}'.

KECX06057-E

値{0}は型{2}のmaxExclusiveファセットに指定した値{1}の範囲外です。
cvc-maxExclusive-valid: Value '{0}' is not facet-valid with respect to maxExclusive '{1}' for type '{2}'.

KECX06058-E

値{0}は型{2}のmaxInclusiveファセットに指定した値{1}の範囲外です。
cvc-maxInclusive-valid: Value '{0}' is not facet-valid with respect to maxInclusive '{1}' for type '{2}'.

KECX06059-E

値{0}の長さ{1}は，型{3}のmaxLengthファセットに指定した長さ{2}の範囲外です。
cvc-maxLength-valid: Value '{0}' with length = '{1}' is not facet-valid with respect to maxLength '{2}' for type '{3}'.

KECX06060-E

値{0}は型{2}のminExclusiveファセットに指定した値{1}の範囲外です。
cvc-minExclusive-valid: Value '{0}' is not facet-valid with respect to minExclusive '{1}' for type '{2}'.

KECX06061-E

値{0}は型{2}のminInclusiveファセットに指定した値{1}の範囲外です。
cvc-minInclusive-valid: Value '{0}' is not facet-valid with respect to minInclusive '{1}' for type '{2}'.

KECX06062-E

値{0}の長さ{1}は，型{3}のminLengthファセットに指定した長さ{2}の範囲外です。
cvc-minLength-valid: Value '{0}' with length = '{1}' is not facet-valid with respect to minLength '{2}' for type '{3}'.

KECX06063-E

値{0}は型{2}のpatternファセットに指定したパターン{1}に一致しません。
cvc-pattern-valid: Value '{0}' is not facet-valid with respect to pattern '{1}' for type '{2}'.

KECX06064-E

値{0}の桁数{1}は，totalDigitsファセットに指定した桁数{2}を超えています。
cvc-totalDigits-valid: Value '{0}' has {1} total digits, but the number of total digits has been limited to {2}.

KECX06065-E

要素{0}の型定義は抽象的な型にしてはいけません。
cvc-type.2: The type definition cannot be abstract for element {0}.

KECX06066-E

要素{0}は単純型のため，その名前空間名が 'http://www.w3.org/2001/XMLSchema-instance' と一致するもの，そのローカル名がtype，nil，schemaLocation，noNamespaceSchemaLocationのうちの一つであるものを除いて，属性を指定できません。しかし，属性{1}が見つかりました。
cvc-type.3.1.1: Element '{0}' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, '{1}' was found.

KECX06067-E

要素{0}は単純型のため，要素情報項目の子を指定できません。
cvc-type.3.1.2: Element '{0}' is a simple type, so it must have no element information item [children].

KECX06068-E

要素{0}の値{1}が不正です。
cvc-type.3.1.3: The value '{1}' of element '{0}' is not valid.

KECX06069-E

ドキュメントが見つからなかった，ドキュメントが読み込めなかった，またはドキュメントのルート要素が<xsd:schema>ではなかったため，スキーマ文書{0}の読み込みに失敗しました。
schema_reference.4: Failed to read schema document '{0}', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.

KECX06070-E

annotation要素に指定できるのは，appinfoまたはdocumentationだけです。しかし，{0}が見つかりました。
src-annotation: <annotation> elements can only contain <appinfo> and <documentation> elements, but '{0}' was found.

KECX06071-E

属性宣言{0}に，defaultとfixedの両方を同時に指定することはできません。それらのうちの一つだけを使用してください。
src-attribute.1: The properties 'default' and 'fixed' cannot both be present in attribute declaration '{0}'. Use only one of them.

KECX06072-E

属性{0}にdefaultが指定されているため，useにはoptionalを指定する必要があります。
src-attribute.2: : The property 'default' is present in attribute '{0}', so the value of 'use' must be 'optional'.

KECX06073-E

ローカルな属性宣言にrefまたはnameのどちらか一つが必要です。
src-attribute.3.1: One of ''ref'' or ''name'' must be present in a local attribute declaration.

KECX06074-E

属性参照{0}の内容に指定できるのは注釈だけです。
src-attribute.3.2: The content must match (annotation?) for the attribute reference '{0}'.

KECX06075-E

属性{0}は，型属性および匿名型の単純型の子を両方持っています。属性にはこれらのうち一つだけを指定します。
src-attribute.4: Attribute '{0}' has both a 'type' attribute and an anonymous 'simpleType' child. Only one of these is allowed for an attribute.

KECX06076-E

ワイルドカードの共通集合は属性グループ{0}には表現できません。
src-attribute_group.2: The intersection of wildcards is not expressible for attribute group '{0}'.

KECX06077-E

属性グループ{0}の参照が無限ループ宣言されています。再帰的に属性グループ参照が続くことは，結局それ自体にリードバックします。
src-attribute_group.3: Circular definitions detected for attribute group '{0}'. Recursively following attribute group references eventually leads back to itself.

KECX06078-E

型{0}のための複合型定義表現でエラーが発生しました。complexContentが使用されているとき，基底型は複合型でなければいけません。{1}は単純型です。
src-ct.1: Complex Type Definition Representation Error for type '{0}'. When <complexContent> is used, the base type must be a complexType. '{1}' is a simpleType.

KECX06079-E

型{0}のための複合型定義表現でエラーが発生しました。simpleContentが使用される場合，基底型は，その内容型が単純なcomplexTypeでなければいけません，または制限が指定される場合だけ，混合内容および空のパーティクルを備えた複合型，または拡張が指定される場合だけ，単純型でないといけません。{1}は，これらの条件のどれも満たしません。
src-ct.2.1: Complex Type Definition Representation Error for type '{0}'. When <simpleContent> is used, the base type must be a complexType whose content type is simple, or, only if restriction is specified, a complex type with mixed content and emptiable particle, or, only if extension is specified, a simple type. '{1}' satisfies none of these conditions.

KECX06080-E

型{0}のための複合型定義表現でエラーが発生しました。simpleContentを備えたcomplexTypeが混合内容および空のパーティクルを備えたcomplexTypeを制限する場合，それらは制限の子の間でsimpleTypeでなければいけません。
src-ct.2.2: Complex Type Definition Representation Error for type '{0}'. When a complexType with simpleContent restricts a complexType with mixed content and emptiable particle, then there must be a <simpleType> among the children of <restriction>.

KECX06081-E

型{0}のための複合型定義表現でエラーが発生しました。ワイルドカードの共通集合は表現できません。
src-ct.4: Complex Type Definition Representation Error for type '{0}'. The intersection of wildcards is not expressible.

KECX06082-E

要素宣言{0}に，defaultとfixedの両方を同時に指定することはできません。それらのうちの一つだけを使用してください。
src-element.1: The properties 'default' and 'fixed' cannot both be present in element declaration '{0}'. Use only one of them.

KECX06083-E

ローカルな要素宣言にrefまたはnameのどちらか一つが必要です。
src-element.2.1: : One of ''ref'' or ''name'' must be present in a local element declaration.

KECX06084-E

{0}がref属性を含んでいるので，その内容に指定できるのは注釈だけです。しかし，{1}が見つかりました。
src-element.2.2: Since '{0}' contains the 'ref' attribute, its content must match (annotation?). However, '{1}' was found.

KECX06085-E

要素{0}は，型属性および匿名型の子の両方を持っています。要素にはこれらのうちの一つだけを指定します。
src-element.3: Element '{0}' has both a 'type' attribute and a 'anonymous type' child. Only one of these is allowed for an element.

KECX06086-E

import要素情報項目の名前空間属性{0}はそれが実在するスキーマの対象名前空間と同じではいけません。
src-import.1.1: The namespace attribute '{0}' of an <import> element information item must not be the same as the targetNamespace of the schema it exists in.

KECX06087-E

ドキュメント{0}のルート要素は，名前空間名'http://www.w3.org/2001/XMLSchema'およびローカル名schemaを持たなければいけません。
src-import.2: The root element of document '{0}' has to have the namespace name 'http://www.w3.org/2001/XMLSchema' and the local name 'schema'.

KECX06088-E

import要素情報項目の名前空間属性{0}はimportされるドキュメントの対象名前空間 {1} と同じでないといけません。
src-import.3.1: The namespace attribute, '{0}', of an <import> element information item must be identical to the targetNamespace attribute, '{1}', of the imported document.

KECX06089-E

import要素情報項目に名前空間属性がありません。そのためimportされるドキュメントには対象名前空間属性は指定できません。しかし，importされるドキュメントで対象名前空間{1}が見つかりました。
src-import.3.2: An <import> element information item that had no namespace attribute was found, so the imported document cannot have a targetNamespace attribute. However, the targetNamespace '{1}' was found in the imported document.

KECX06090-E

ドキュメント{0}のルート要素は，名前空間名'http://www.w3.org/2001/XMLSchema'およびローカル名 schemaを持たなければいけません。
src-include.1: The root element of document '{0}' has to have the namespace name 'http://www.w3.org/2001/XMLSchema' and the local name 'schema'.

KECX06091-E

現在{1}の参照づけられたスキーマの対象名前空間は，現在{0}のインクルードしているスキーマの対象名前空間と同じでなければいけません。
src-include.2.1: The targetNamespace of the referenced schema, currently '{1}', must be identical to that of the including schema, currently '{0}'.

KECX06092-E

ドキュメント{0}のルート要素は，名前空間名'http://www.w3.org/2001/XMLSchema'およびローカル名schemaを持たなければいけません。
src-redefine.2: The root element of document '{0}' has to have the namespace name 'http://www.w3.org/2001/XMLSchema' and the local name 'schema'.

KECX06093-E

redefineで読まれるスキーマの対象名前空間，現在{1}は，読み込み元のスキーマの対象名前空間，現在{0}と同じでなければいけません。
src-redefine.3.1: The targetNamespace of the referenced schema, currently '{1}', must be identical to that of the redefining schema, currently '{0}'.

KECX06094-E

単純型に注釈以外の子が見つかりませんでした。redefine要素の単純型の子には，それら自身を参照している基底の属性を持つ，制限派生の子孫がいなくてはいけません。
src-redefine.5.a.a: No non-annotation children of <simpleType> were found. <simpleType> children of <redefine> elements must have <restriction> descendants, with ''base'' attributes that refer to themselves.

KECX06095-E

{0}は子要素として不正です。redefine要素の単純型の子には，それら自身を参照している基底の属性を持つ，制限派生の子孫がいなくてはいけません。
src-redefine.5.a.b: '{0}' is not a valid child element. <simpleType> children of <redefine> elements must have <restriction> descendants, with 'base' attributes that refer to themselves.

KECX06096-E

{0}は再定義された要素{1}を参照する基底の属性を持っていません。redefine要素の単純型の子には，それら自身を参照している基底の属性を持つ，制限派生の子孫がいなくてはいけません。
src-redefine.5.a.c: '{0}' does not have a 'base' attribute that refers to the redefined element, '{1}'. <simpleType> children of <redefine> elements must have <restriction> descendants, with 'base' attributes that refer to themselves.

KECX06097-E

複合型に注釈以外の子が見つかりませんでした。redefine要素の複合型の子には，それら自身を参照している基底の属性を持つ，拡張派生または制限派生の子孫がいなくてはいけません。
src-redefine.5.b.a: No non-annotation children of <complexType> were found. <complexType> children of <redefine> elements must have <extension> or <restriction> descendants, with ''base'' attributes that refer to themselves.

KECX06098-E

複合型に注釈以外の孫が見つかりませんでした。redefine要素の複合型の子には，それら自身を参照している基底の属性を持つ，拡張派生または制限派生の子孫がいなくてはいけません。
src-redefine.5.b.b: No non-annotation grandchildren of <complexType> were found. <complexType> children of <redefine> elements must have <extension> or <restriction> descendants, with ''base'' attributes that refer to themselves.

KECX06099-E

{0}は孫要素として不正です。redefine要素の複合型の子には，それら自身を参照している基底の属性を持つ，拡張派生または制限派生の子孫がいなくてはいけません。
src-redefine.5.b.c: '{0}' is not a valid grandchild element. <complexType> children of <redefine> elements must have <extension> or <restriction> descendants, with 'base' attributes that refer to themselves.

KECX06100-E

{0}は再定義された要素{1}を参照する基底の属性を持っていません。redefine要素の複合型の子には，それら自身を参照している基底の属性を持つ，拡張派生または制限派生の子孫がいなくてはいけません。
src-redefine.5.b.d: '{0}' does not have a 'base' attribute that refers to the redefined element, '{1}'. <complexType> children of <redefine> elements must have <extension> or <restriction> descendants, with 'base' attributes that refer to themselves.

KECX06101-E

redefine要素の子のgroupは，それ自体を参照するgroupを一つだけ持てます。これは{0}個持っています。
src-redefine.6.1.1: If a group child of a <redefine> element contains a group referring itself, it must have exactly 1; this one has '{0}'.

KECX06102-E

再定義されているグループの参照を含むグループ{0}のminOccursおよびmaxOccursは，1でなければいけません。
src-redefine.6.1.2: The group '{0}', which contains a reference to a group being redefined, must have 'minOccurs' = 'maxOccurs' = 1.

KECX06103-E

再定義されたスキーマ中には，{0}と一致する名前のグループはありません。
src-redefine.6.2.1: No group in the redefined schema has a name matching '{0}'.

KECX06104-E

グループ{0}は，それが再定義するグループを適切に制限しません。制約は次のものを破りました。{1}
src-redefine.6.2.2: Group '{0}' does not properly restrict the group it redefines; constraint violated: '{1}'.

KECX06105-E

redefine要素の子のattributeGroupは，それ自体を参照するattributeGroupを一つだけ持てます。これは{0}個持っています。
src-redefine.7.1: If an attributeGroup child of a <redefine> element contains an attributeGroup referring itself, it must have exactly 1; this one has {0}.

KECX06106-E

再定義されたスキーマ中には，{0}と一致する名前のattributeGroupはありません。
src-redefine.7.2.1: No attributeGroup in the redefined schema has a name matching '{0}'.

KECX06107-E

attributeGroup{0}は，それが再定義するattributeGroupを適切に制限しません。制約は次のものを破りました。{1}
src-redefine.7.2.2: AttributeGroup '{0}' does not properly restrict the attributeGroup it redefines; constraint violated: '{1}'.

KECX06108-E

{1} 構成要素で指定した名前{0}が見つかりません。
src-resolve: Cannot resolve the name '{0}' to a(n) '{1}' component.

KECX06109-E

構成要素の{2}を解決するエラーです。{2}が名前空間を持っていないことが検知されました。しかし，対象名前空間のないコンポーネントはスキーマドキュメント{0}から参照づけることができません。{2}が名前空間を持つように意図される場合，恐らく，接頭辞を提供する必要があります。{2}が名前空間を持っていないことが意図される場合，namespace属性のないimportは{0}に加えられる必要があります。
src-resolve.4.1: Error resolving component '{2}'. It was detected that '{2}' has no namespace, but components with no target namespace are not referenceable from schema document '{0}'. If '{2}' is intended to have a namespace, perhaps a prefix needs to be provided. If it is intended that '{2}' has no namespace, then an 'import' without a "namespace" attribute should be added to '{0}'.

KECX06110-E

構成要素の{2}を解決するエラーです。{2}が名前空間{1}にあることは検知されました。しかし，この名前空間からのコンポーネントはスキーマドキュメント{0}から参照づけることができません。これが正しくない名前空間である場合，恐らく，{2}の接頭辞を変更する必要があります。これが正確な名前空間である場合，適切なimportタグは{0}に加えられる必要があります。
src-resolve.4.2: Error resolving component '{2}'. It was detected that '{2}' is in namespace '{1}', but components from this namespace are not referenceable from schema document '{0}'. If this is the incorrect namespace, perhaps the prefix of '{2}' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to '{0}'.

KECX06111-E

restriction要素は，base属性および子にsimpleType要素の両方を持っています。一つだけが許可されます。
src-simple-type.2.a: A <restriction> element was found that has both a base [attribute] and a <simpleType> element among its [children]. Only one is allowed.

KECX06112-E

restriction要素は，base属性も子にsimpleType要素も持っていません。どちらか一つが必要です。
src-simple-type.2.b: A <restriction> element was found that has neither a base [attribute] nor a <simpleType> element among its [children]. One is required.

KECX06113-E

list要素は，itemType属性および子にsimpleType要素の両方を持っています。一つだけが許可されます。
src-simple-type.3.a: A <list> element was found that has both an itemType [attribute] and a <simpleType> element among its [children]. Only one is allowed.

KECX06114-E

list要素は，itemType属性も子にsimpleType要素も持っていません。どちらか一つが必要です。
src-simple-type.3.b: A <list> element was found that has neither an itemType [attribute] nor a <simpleType> element among its [children]. One is required.

KECX06115-E

ファセット{0}は複数回指定されています。
src-single-facet-value: The facet '{0}' is defined more than once.

KECX06116-E

union要素は，空ではないmemberTypes属性を指定するか，または子に一つ以上のsimpleType要素を指定しなければいけません。
src-union-memberTypes-or-simpleTypes: A <union> element must have either a non-empty memberTypes [attribute] or at least one <simpleType> element among its [children].

KECX06117-E

属性グループ{0}のためのエラーです。同じ名前と対象名前空間で使用する重複属性が指定されています。重複する属性使用の名前は{1}です。
ag-props-correct.2: Error for attribute group '{0}'. Duplicate attribute uses with the same name and target namespace are specified. Name of duplicate attribute use is '{1}'.

KECX06118-E

属性グループ{0}のためのエラーです。二つの属性宣言，{1}および{2}が，IDから派生した型を持っています。
ag-props-correct.3: Error for attribute group '{0}'. Two attribute declarations, '{1}' and '{2}' have types which are derived from ID.

KECX06119-E

属性{0}の値制約値{1}は不正です。
a-props-correct.2: Invalid value constraint value '{1}' in attribute '{0}'.

KECX06120-E

属性の{型定義}がIDである，またはIDから派生しているため，属性{0}にfixedまたはdefaultを指定できません。
a-props-correct.3: Attribute '{0}' cannot use 'fixed' or 'default', because the attribute's {type definition} is ID, or is derived from ID.

KECX06121-E

属性宣言{0}に固定値{1}が指定されました。したがって，{0}を参照する属性使用がさらに値制約を持っている場合，それは固定で値は{1}でなければいけません。
au-props-correct.2: In the attribute declaration of '{0}', a fixed value of '{1}' was specified. So if the attribute use referring to '{0}' also has a {value constraint}, it must be fixed and its value must be '{1}'.

KECX06122-E

allモデルグループは，minOccurs=maxOccurs=1のパーティクルとならないといけません。そのパーティクルは複合型定義の内容型を構成する一組の一部でなければいけません。
cos-all-limited.1.2: An 'all' model group must appear in a particle with {min occurs} = {max occurs} = 1, and that particle must be part of a pair which constitutes the {content type} of a complex type definition.

KECX06123-E

allモデルグループ中の要素のmaxOccursには，0または1を指定しなければいけません。要素{1}の値{0}は不正です。
cos-all-limited.2: The {max occurs} of an element in an 'all' model group must be 0 or 1. The value '{0}' for element '{1}' is invalid.

KECX06124-E

型{1}にはファセット{0}は許可されていません。
cos-applicable-facets: Facet '{0}' is not allowed by type {1}.

KECX06125-E

型{0}は型{1}から拡張によって派生されました。しかし，{1}のfinal属性は拡張による派生を禁止しています。
cos-ct-extends.1.1: Type '{0}' was derived by extension from type '{1}'. However, the 'final' attribute of '{1}' forbids derivation by extension.

KECX06126-E

派生した型の内容型およびその基底の内容型は，共に混合内容であるか共に要素であるかのどちらかです。型{0}の内容型は要素ですが，基底の内容型は異なります。
cos-ct-extends.1.4.3.2.2.1.a: The content type of a derived type and that of its base must both be mixed or both be element-only. Type '{0}' is element only, but its base type is not.

KECX06127-E

派生した型の内容型およびその基底の内容型は，共に混合内容であるか共に要素であるかのどちらかです。型{0}の内容型は混合内容ですが，基底の内容型は異なります。
cos-ct-extends.1.4.3.2.2.1.b: The content type of a derived type and that of its base must both be mixed or both be element-only. Type '{0}' is mixed, but its base type is not.

KECX06128-E

型{0}のエラーです。名前{1}を備えた，タイプが異なる複数の要素が，モデルグループにあります。
cos-element-consistent: Error for type '{0}'. Multiple elements with name '{1}', with different types, appear in the model group.

KECX06129-E

リスト型{0}の定義で，型{1}はアトミックではないため不正なリスト要素型です({1}はリストを含んでいるリスト型またはユニオン型のどちらかです)。
cos-list-of-atomic: In the definition of list type '{0}', type '{1}' is an invalid list element type because it is not atomic ('{1}' is either a list type, or a union type which contains a list).

KECX06130-E

{0}と{1}(またはそれらの代替グループからの要素)はUnique Particle Attributionに違反しています。スキーマを確認中に，二つのパーティクルが規則に合わなくなるおそれがあります。
cos-nonambig: {0} and {1} (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.

KECX06131-E

派生したパーティクルは空です。また，基底は空ではありません。
cos-particle-restrict.a: Derived particle is empty, and base is not emptiable.

KECX06132-E

基底のパーティクルは空です。しかし，派生したパーティクルは空ではありません。
cos-particle-restrict.b: Base particle is empty, but derived particle is not.

KECX06133-E

禁止されたパーティクル制限です。{0}
cos-particle-restrict.2: Forbidden particle restriction: '{0}'.

KECX06134-E

型{1}はアトミックです。したがって，その基底型定義{0}はアトミックの単純型定義またはビルトインデータ型でなければいけません。
cos-st-restricts.1.1: The type '{1}' is atomic, so its {base type definition}, '{0}', must be an atomic simple type definition or a built-in primitive datatype.

KECX06135-E

リスト型{0}の定義では，それがリストを含んでいるリスト型またはユニオン型のどちらかであるため，型{1}は無効の項目型です。
cos-st-restricts.2.1: In the definition of list type '{0}', type '{1}' is an invalid item type because it is either a list type, or a union type that contains a list.

KECX06136-E

項目型定義{0}のfinalコンポーネントは，リストを含んでいます。これは，リスト型{1}のために項目型として{0}を使用できないことを意味します。
cos-st-restricts.2.3.1.1: The {final} component of the {item type definition}, '{0}', contains 'list'. This means that '{0}' cannot be used as an item type for list type '{1}'.

KECX06137-E

メンバ型定義{0}のfinalコンポーネントは，ユニオンを含んでいます。これは，ユニオン型{1}のためにメンバ型として{0}を使用できないことを意味します。
cos-st-restricts.3.3.1.1: The {final} component of the {member type definitions}, '{0}', contains 'union'. This means that '{0}' cannot be used as an member type for union type '{1}'.

KECX06138-E

要素{0}は値制約を持っているため，混合か単純な内容モデルでなければいけません。
cos-valid-default.2.1: Element '{0}' has a value constraint and must have a mixed or simple content model.

KECX06139-E

要素{0}が値制約を持ち，その型定義が混合の内容型なので，内容型のパーティクルは空でなければいけません。
cos-valid-default.2.2.2: Since element '{0}' has a {value constraint} and its type definition has mixed {content type}, then the particle of the {content type} must be emptiable.

KECX06140-E

keyref{0}とkey{1}のフィールド指定の数は互いに一致しなければいけません。
c-props-correct.2: Cardinality of Fields for keyref '{0}' and key '{1}' must match each other.

KECX06141-E

複合型{0}は無限ループ宣言されています。これは，それ自身の型の階層に{0}が含まれることを意味し，それはエラーです。
ct-props-correct.3: Circular definitions detected for complex type '{0}'. This means that '{0}' is contained in its own type hierarchy, which is an error.

KECX06142-E

型{0}のエラーです。同じ名前と対象名前空間で使用する重複属性が指定されています。重複する属性使用の名前は{1}です。
ct-props-correct.4: Error for type '{0}'. Duplicate attribute uses with the same name and target namespace are specified. Name of duplicate attribute use is '{1}'.

KECX06143-E

型{0}のエラーです。二つの属性宣言，{1}および{2}が，IDから派生した型を持っています。
ct-props-correct.5: Error for type '{0}'. Two attribute declarations, '{1}' and '{2}' have types which are derived from ID.

KECX06144-E

型{0}は型{1}から制限によって派生しました。しかし，{1}は，制限によって派生を禁止するfinal属性を持っています。
derivation-ok-restriction.1: Type '{0}' was derived by restriction from type '{1}'. However, '{1}' has a {final} property that forbids derivation by restriction.

KECX06145-E

型{0}のエラーです。この型での属性使用{1}は，{2}のuse値を持っています。それは，基底型での適合する属性使用のrequired値と矛盾します。
derivation-ok-restriction.2.1.1: Error for type '{0}'. The attribute use '{1}' in this type has a 'use' value of '{2}', which is inconsistent with the value of 'required' in a matching attribute use in the base type.

KECX06146-E

型{0}のエラーです。この型での属性使用{1}は，型{2}を持っています。それは，基底型での適合する属性使用の型{3}から正当に派生していません。
derivation-ok-restriction.2.1.2: Error for type '{0}'. The attribute use '{1}' in this type has type '{2}', which is not validly derived from '{3}', the type of the matching attribute use in the base type.

KECX06147-E

型{0}のエラーです。この型での属性使用{1}は，固定でない実効値制約を持っています。基底型での適合する属性使用の実行値制約は固定です。
derivation-ok-restriction.2.1.3.a: Error for type '{0}'. The attribute use '{1}' in this type has an effective value constraint which is not fixed, and the effective value constraint of the matching attribute use in the base type is fixed.

KECX06148-E

型{0}のエラーです。この型での属性使用{1}は，値{2}の固定実効値制約を持っています。基底型での適合する属性使用の固定実行値制約の値{3}と矛盾します。
derivation-ok-restriction.2.1.3.b: Error for type '{0}'. The attribute use '{1}' in this type has an effective value constraint fixed with a value of '{2}', which is not consistent with the value of '{3}' for the fixed effective value constraint of the matching attribute use in the base type.

KECX06149-E

型{0}のエラーです。この型での属性使用{1}は基底の中で適合する属性を使用していません。また，基底型はワイルドカード属性を持っていません。
derivation-ok-restriction.2.2.a: Error for type '{0}'. The attribute use '{1}' in this type does not have a matching attribute use in the base, and the base type does not have a wildcard attribute.

KECX06150-E

型{0}のエラーです。この型での属性使用{1}は基底の中で適合する属性を使用していません。また，基底型のワイルドカードはこの属性使用の名前空間{2}を許可しません。
derivation-ok-restriction.2.2.b: Error for type '{0}'. The attribute use '{1}' in this type does not have a matching attribute use in the base, and the wildcard in the base type does not allow the namespace '{2}' of this attribute use.

KECX06151-E

型{0}のエラーです。基底型の属性使用{1}にはREQUIRED指定がありますが，派生した型には一致する属性使用がありません。
derivation-ok-restriction.3: Error for type '{0}'. The attribute use '{1}' in the base type has REQUIRED as true, but there is no matching attribute use in the derived type.

KECX06152-E

型{0}のエラーです。派生は属性ワイルドカードを持っていますが，基底は持っていません。
derivation-ok-restriction.4.1: Error for type '{0}'. The derivation has an attribute wildcard, but the base does not have one.

KECX06153-E

型{0}のエラーです。派生内のワイルドカードは基底の妥当なワイルドカードの部分集合ではありません。
derivation-ok-restriction.4.2: Error for type '{0}'. The wildcard in the derivation is not a valid wildcard subset of the one in the base.

KECX06154-E

型{0}のエラーです。派生({1})中のワイルドカードのプロセッサ検証指定は，基底({2})のプロセッサ検証指定より弱い指定です。
derivation-ok-restriction.4.3: Error for type '{0}'. The process contents of the wildcard in the derivation ({1}) is weaker than that in the base ({2}).

KECX06155-E

型{0}のエラーです。この型の単純な内容型{1}は，基底の単純な内容型{2}の不正な制限です。
derivation-ok-restriction.5.2.2.1: Error for type '{0}'. The simple content type of this type, '{1}', is not a valid restriction of the simple content type of the base, '{2}'.

KECX06156-E

型{0}のエラーです。この型の内容型は空ですが，基底の内容型{1}は空ではありません。
derivation-ok-restriction.5.3.2: Error for type '{0}'. The content type of this type is empty, but the content type of the base, '{1}', is not empty or emptiable.

KECX06157-E

型{0}のエラーです。この型の内容型は混合ですが，基底の内容型{1}は違います。
derivation-ok-restriction.5.4.1.2: Error for type '{0}'. The content type of this type is mixed, but the content type of the base, '{1}', is not.

KECX06158-E

型{0}のエラーです。型のパーティクルは基底のパーティクルの不正な制限です。
derivation-ok-restriction.5.4.2: Error for type '{0}'. The particle of the type is not a valid restriction of the particle of the base.

KECX06159-E

NOTATION型({2}{1}によって使用される{0})は，この型によって使用される記法要素を指定するenumerationファセット値を指定しなければいけません。
enumeration-required-notation: The NOTATION type, '{0}' used by {2} '{1}', must have an enumeration facet value which specifies the notation elements used by this type.

KECX06160-E

enumeration値{0}が，基底型{1}の値空間内ではありません。
enumeration-valid-restriction: Enumeration value '{0}' is not in the value space of the base type, {1}.

KECX06161-E

要素{0}内の値{1}は値制約として不正です。
e-props-correct.2: Invalid value constraint value '{1}' in element '{0}'.

KECX06162-E

要素{0}の型定義は，ヘッド要素{1}の型定義から正当に派生しません。または，{1}の代替グループ排除の特性はこの派生を許可しません。
e-props-correct.4: The {type definition} of element '{0}' is not validly derived from the {type definition} of the substitutionHead '{1}', or the {substitution group exclusions} property of '{1}' does not allowed this derivation.

KECX06163-E

要素の{型定義}または{型定義}の{内容型}がIDである，またはIDから派生しているので，要素{0}上に{値制約}があってはいけません。
e-props-correct.5: A {value constraint} must not be present on element '{0}', because the element's {type definition} or {type definition}s {content type} is ID, or is derived from ID.

KECX06164-E

要素{0}に無限ループの代替グループが検知されました。
e-props-correct.6: Circular substitution group detected for element '{0}'.

KECX06165-E

{2}の定義では，fractionDigitsファセットの値{0}は不正です。祖先の型のうちの一つの中でセットされたfractionDigitsの値{1}以下でなければいけません。
fractionDigits-valid-restriction: In the definition of {2}, the value '{0}' for the facet 'fractionDigits' is invalid, because it must be <= the value for 'fractionDigits' which was set to '{1}' in one of the ancestor types.

KECX06166-E

{2}の定義では，fractionDigitsファセットの値{0} は不当です。値はtotalDigitsの値 {1} 以下でなければいけません。
fractionDigits-totalDigits: In the definition of {2}, the value '{0}' for the facet 'fractionDigits' is invalid, because the value must be <= the value for 'totalDigits' which is '{1}'.

KECX06167-E

lengthファセットは，minLengthファセットまたはmaxLengthファセットと同時に指定できません。しかし，{0}はlengthファセット{1}, minLengthファセット{2}およびmaxLengthファセット{3}を持っています。
length-minLength-maxLength.a: It is an error to specify both length and either of minLength or maxLength. However, {0} has length = '{1}', minLength = '{2}' and maxLength = '{3}'.

KECX06168-E

lengthファセットは，minLengthファセットまたはmaxLengthファセットと同時に指定できません。しかし，{0}はlengthファセット{1}およびminLengthファセット{2}を持っています。
length-minLength-maxLength.b: It is an error to specify both length and either of minLength or maxLength. However, {0} has length = '{1}' and minLength = '{2}'.

KECX06169-E

lengthファセットは，minLengthファセットまたはmaxLengthファセットと同時に指定できません。しかし，{0}はlengthファセット{1}およびmaxLengthファセット{2}を持っています。
length-minLength-maxLength.c: It is an error to specify both length and either of minLength or maxLength. However, {0} has length = '{1}' and maxLength = '{2}'.

KECX06170-E

型{2}のエラーです。lengthファセットの値{0}は基底型{1}の値と同じでなければいけません。
length-valid-restriction: Error for type '{2}'. The value of length = '{0}' must be = the value of that of the base type '{1}'.

KECX06171-E

型{2}のエラーです。maxExclusive値{0}は基底型{1}のmaxExclusive以下でなければいけません。
maxExclusive-valid-restriction.1: Error for type '{2}'. The maxExclusive value ='{0}' must be <= maxExclusive of the base type '{1}'.

KECX06172-E

型{2}のエラーです。maxExclusive値{0}は基底型{1}のmaxInclusive以下でなければいけません。
maxExclusive-valid-restriction.2: Error for type '{2}'. The maxExclusive value ='{0}' must be <= maxInclusive of the base type '{1}'.

KECX06173-E

型{2}のエラーです。maxExclusive値{0}は基底型{1}のminInclusiveより大きくなければいけません。
maxExclusive-valid-restriction.3: Error for type '{2}'. The maxExclusive value ='{0}' must be > minInclusive of the base type '{1}'.

KECX06174-E

maxExclusive値{0}は基底型{1}のminExclusiveより大きくなければいけません。
maxExclusive-valid-restriction.4: Error for type '{2}'. The maxExclusive value ='{0}' must be > minExclusive of the base type '{1}'.

KECX06175-E

同一データ型にmaxInclusiveとmaxExclusiveを同時に指定できません。{2}にはmaxInclusive{0}とmaxExclusive{1}があります。
maxInclusive-maxExclusive: It is an error for both maxInclusive and maxExclusive to be specified for the same datatype. In {2}, maxInclusive = '{0}' and maxExclusive = '{1}'.

KECX06176-E

型{2}のエラーです。maxInclusive値{0}は，基底型{1}のmaxInclusive以下でなければいけません。
maxInclusive-valid-restriction.1: Error for type '{2}'. The maxInclusive value ='{0}' must be <= maxInclusive of the base type '{1}'.

KECX06177-E

型{2}のエラーです。maxInclusive値{0}は，基底型{1}のmaxExclusiveより小さくなければいけません。
maxInclusive-valid-restriction.2: Error for type '{2}'. The maxInclusive value ='{0}' must be < maxExclusive of the base type '{1}'.

KECX06178-E

型{2}のエラーです。maxInclusive値{0}は，基底型{1}のminInclusive以上でなければいけません。
maxInclusive-valid-restriction.3: Error for type '{2}'. The maxInclusive value ='{0}' must be >= minInclusive of the base type '{1}'.

KECX06179-E

型{2}のエラーです。maxInclusive値{0}は，基底型{1}のminExclusiveより大きくなければいけません。
maxInclusive-valid-restriction.4: Error for type '{2}'. The maxInclusive value ='{0}' must be > minExclusive of the base type '{1}'.

KECX06180-E

{2}の定義では，maxLength値{0}は，基底型{1}のmaxLength値以下でなければいけません。
maxLength-valid-restriction: In the definition of {2}, maxLength value = '{0}' must be <= that of the base type '{1}'.

KECX06181-E

グループ{0}の参照が無限ループ宣言されています。再帰的にグループ参照が続くことは，その項目がグループ自体であるパーティクルに結び付きます。
mg-props-correct.2: Circular definitions detected for group '{0}'. Recursively following the {term} values of the particles leads to a particle whose {term} is the group itself.

KECX06182-E

{2}の定義では，minExclusiveに{0}が指定されていますが，maxExclusiveに指定した値 {1} 以下でないといけません。
minExclusive-less-than-equal-to-maxExclusive: In the definition of {2}, minExclusive value = '{0}' must be <= maxExclusive value = '{1}'.

KECX06183-E

{2}の定義では，minExclusiveに{0}が指定されていますが，maxInclusiveに指定した値 {1} 未満でないといけません。
minExclusive-less-than-maxInclusive: In the definition of {2}, minExclusive value = '{0}' must be < maxInclusive value = '{1}'.

KECX06184-E

型{2}のエラーです。minExclusive値{0}は，基底型{1}のminExclusive以上でなければいけません。
minExclusive-valid-restriction.1: Error for type '{2}'. The minExclusive value ='{0}' must be >= minExclusive of the base type '{1}'.

KECX06185-E

型{2}のエラーです。minExclusive値{0}は，基底型{1}のmaxInclusive以下でなければいけません。
minExclusive-valid-restriction.2: Error for type '{2}'. The minExclusive value ='{0}' must be <= maxInclusive of the base type '{1}'.

KECX06186-E

型{2}のエラーです。minExclusive値{0}は，基底型{1}のminInclusive以上でなければいけません。
minExclusive-valid-restriction.3: Error for type '{2}'. The minExclusive value ='{0}' must be >= minInclusive of the base type '{1}'.

KECX06187-E

型{2}のエラーです。minExclusive値{0}は，基底型{1}のmaxExclusiveより小さくなければいけません。
minExclusive-valid-restriction.4: Error for type '{2}'. The minExclusive value ='{0}' must be < maxExclusive of the base type '{1}'.

KECX06188-E

{2}の定義では，minInclusiveに{0}が指定されていますが，maxInclusiveに指定した値 {1} 以下でないといけません。
minInclusive-less-than-equal-to-maxInclusive: In the definition of {2}, minInclusive value = '{0}' must be <= maxInclusive value = '{1}'.

KECX06189-E

{2}の定義では，minInclusiveに{0}が指定されていますが，maxExclusiveに指定した値 {1} 未満でないといけません。
minInclusive-less-than-maxExclusive: In the definition of {2}, minInclusive value = '{0}' must be < maxExclusive value = '{1}'.

KECX06190-E

同一データ型にminInclusiveとminExclusiveを同時に指定できません。{2}にはminInclusive{0}とminExclusive{1}があります。
minInclusive-minExclusive: It is an error for both minInclusive and minExclusive to be specified for the same datatype. In {2}, minInclusive = '{0}' and minExclusive = '{1}'.

KECX06191-E

型{2}のエラーです。minInclusive値{0}は，基底型{1}のminInclusive以上でなければいけません。
minInclusive-valid-restriction.1: Error for type '{2}'. The minInclusive value ='{0}' must be >= minInclusive of the base type '{1}'.

KECX06192-E

型{2}のエラーです。minInclusive値{0}は，基底型{1}のmaxInclusive以下でなければいけません。
minInclusive-valid-restriction.2: Error for type '{2}'. The minInclusive value ='{0}' must be <= maxInclusive of the base type '{1}'.

KECX06193-E

型{2}のエラーです。minInclusive値{0}は，基底型{1}のminExclusiveより大きくなければいけません。
minInclusive-valid-restriction.3: Error for type '{2}'. The minInclusive value ='{0}' must be > minExclusive of the base type '{1}'.

KECX06194-E

型{2}のエラーです。minInclusive値{0}は，基底型{1}のmaxExclusiveより小さくなければいけません。
minInclusive-valid-restriction.4: Error for type '{2}'. The minInclusive value ='{0}' must be < maxExclusive of the base type '{1}'.

KECX06195-E

{2}の定義では，minLengthに指定した値{0}は，maxLengthに指定した値 {1} 未満でないといけません。
minLength-less-than-equal-to-maxLength: In the definition of {2}, value of minLength = '{0}' must be < value of maxLength = '{1}'.

KECX06196-E

{2}の定義では，minLength値{0}は，基底型{1}のminLength値以上でなければいけません。
minLength-valid-restriction: In the definition of {2}, minLength = '{0}' must be >= than that of the base type, '{1}'.

KECX06197-E

属性宣言のnameは，xmlnsと一致してはいけません。
no-xmlns: The '{'name'}' of an attribute declaration must not match ''xmlns''.

KECX06198-E

属性宣言の対象名前空間は，{0}と一致してはいけません。
no-xsi: The {target namespace} of an attribute declaration must not match '{0}'.

KECX06199-E

{0}の宣言で，minOccursに指定した{1}はmaxOccursの{2}を超えてはいけません。
p-props-correct.2.1: In the declaration of '{0}', the value of 'minOccurs' is '{1}', but it must not be greater than the value of 'maxOccurs', which is '{2}'.

KECX06200-E

パーティクル間に，完全で機能的なマッピングはありません。
rcase-MapAndSum.1: There is not a complete functional mapping between the particles.

KECX06201-E

グループの出現範囲({0},{1})は，基底のグループの出現範囲({2},{3})の不正な制限です。
rcase-MapAndSum.2: Group's occurrence range, ({0},{1}), is not a valid restriction of base group's occurrence range, ({2},{3}).

KECX06202-E

要素が，異なる名前および対象名前空間を持っています。名前空間{1}の要素{0}および名前空間{3}の要素{2}です。
rcase-NameAndTypeOK.1: Elements have names and target namespaces which are not the same: Element '{0}' in namespace '{1}' and element '{2}' in namespace '{3}'.

KECX06203-E

項目が要素宣言{0}のパーティクルエラーです。要素宣言のnillableがtrueですが，対応する基底型のパーティクルの要素宣言のnillableはfalseです。
rcase-NameAndTypeOK.2: Error for the particle whose {term} is the element declaration '{0}'. The element declaration's {nillable} is true, but the corresponding particle in the base type has an element declaration whose {nillable} is false.

KECX06204-E

項目が要素宣言{0}のパーティクルエラーです。出現範囲({1},{2})は基底の範囲({3},{4})の不正な制限です。
rcase-NameAndTypeOK.3: Error for the particle whose {term} is the element declaration '{0}'. Its occurrence range, ({1},{2}), is not a valid restriction of the range, ({3},{4}), of the corresponding particle in the base type.

KECX06205-E

要素{0}はfixedではありませんが，対応する基底型の要素は値{1}のfixedです。
rcase-NameAndTypeOK.4.a: Element '{0}' is not fixed, but the corresponding element in the base type is fixed with value '{1}'.

KECX06206-E

要素{0}は値{1}のfixedですが，対応する基底型の要素は値{2}のfixedです。
rcase-NameAndTypeOK.4.b: Element '{0}' is fixed with value '{1}', but the corresponding element in the base type is fixed with value '{2}'.

KECX06207-E

要素{0}のための一意性制約は，基底のサブセットではありません。
rcase-NameAndTypeOK.5: Identity constraints for element '{0}' are not a subset of those in base.

KECX06208-E

要素{0}は，基底の要素の型から派生していない型を持っています。
rcase-NameAndTypeOK.6: The disallowed substitutions for element '{0}' are not a superset of those in the base.

KECX06209-E

要素{0}の型{1}は，基底の要素の型{2}から派生していません。
rcase-NameAndTypeOK.7: The type of element '{0}', '{1}', is not derived from the type of the base element, '{2}'.

KECX06210-E

要素{0}は，基底のワイルドカードで許可されていない名前空間{1}を持っています。
rcase-NSCompat.1: Element '{0}' has a namespace '{1}' which is not allowed by the wildcard in the base.

KECX06211-E

要素宣言{0}の項目のパーティクルエラーです。出現範囲({1},{2})は，基底型の対応するパーティクルの出現範囲({3},{4})の不正な制限です。
rcase-NSCompat.2: Error for the particle whose {term} is the element declaration '{0}'. Its occurrence range, ({1},{2}), is not a valid restriction of the range, ({3},{4}), of the corresponding particle in the base type.

KECX06212-E

パーティクル間に，完全で機能的なマッピングはありません。
rcase-NSRecurseCheckCardinality.1: There is not a complete functional mapping between the particles.

KECX06213-E

グループの出現範囲は，基底のワイルドカードの範囲の有効な制限ではありません。
rcase-NSRecurseCheckCardinality.2: Group's occurrence range, ({0},{1}), is not a valid restriction of base wildcard's range, ({2},{3}).

KECX06214-E

ワイルドカードは基底の対応するワイルドカードの部分集合ではありません。
rcase-NSSubset.1: Wildcard is not a subset of corresponding wildcard in base.

KECX06215-E

ワイルドカードの出現範囲({0},{1})は，基底の出現範囲({2},{3})の不正な制限です。
rcase-NSSubset.2: Wildcard's occurrence range, ({0},{1}), is not a valid restriction of that in the base, ({2},{3}).

KECX06216-E

ワイルドカードのプロセッサ検証指定{0}は，基底のワイルドカードのプロセッサ検証指定{1}より弱い指定です。
rcase-NSSubset.3: Wildcard's process contents, '{0}', is weaker than that in the base, '{1}'.

KECX06217-E

グループの出現範囲({0},{1})は，基底のグループの出現範囲({2},{3})の不正な制限です。
rcase-Recurse.1: Group's occurrence range, ({0},{1}), is not a valid restriction of base group's occurrence range, ({2},{3}).

KECX06218-E

パーティクル間に，完全で機能的なマッピングはありません。
rcase-Recurse.2: There is not a complete functional mapping between the particles.

KECX06219-E

グループの出現範囲({0},{1})は，基底のグループの出現範囲({2},{3})の不正な制限です。
rcase-RecurseLax.1: Group's occurrence range, ({0},{1}), is not a valid restriction of base group's occurrence range, ({2},{3}).

KECX06220-E

パーティクル間に完全で機能的なマッピングはありません。
rcase-RecurseLax.2: There is not a complete functional mapping between the particles.

KECX06221-E

グループの出現範囲({0},{1})は，基底のグループの出現範囲({2},{3})の不正な制限です。
rcase-RecurseUnordered.1: Group's occurrence range, ({0},{1}), is not a valid restriction of base group's occurrence range, ({2},{3}).

KECX06222-E

パーティクル間に完全で機能的なマッピングはありません。
rcase-RecurseUnordered.2: There is not a complete functional mapping between the particles.

KECX06223-E

スキーマは同一名称のグローバルな構成要素を持てません。{0}が重複指定されています。
sch-props-correct.2: A schema cannot contain two global components with the same name; this schema contains two occurrences of '{0}'.

KECX06224-E

単純型{0}の参照が無限ループ宣言されています。{0}が自分自身の型の階層に含まれているエラーです。
st-props-correct.2: Circular definitions have been detected for simple type '{0}'. This means that '{0}' is contained in its own type hierarchy, which is an error.

KECX06225-E

型{0}のエラーです。基底型定義{1}のfinalの値は，制限によって派生を禁止しています。
st-props-correct.3: Error for type '{0}'. The value of {final} of the {base type definition}, '{1}', forbids derivation by restriction.

KECX06226-E

{2}の定義では，totalDigitsファセットの値{0}は不正です。祖先の型のうちの一つの中でセットされたtotalDigitsの値{1}以下でなければいけません。
totalDigits-valid-restriction: In the definition of {2}, the value '{0}' for the facet 'totalDigits' is invalid, because it must be <= the value for 'totalDigits' which was set to '{1}' in one of the ancestor types.

KECX06227-E

{0}の定義では，whiteSpaceファセットの値{1}が不正です。祖先の型のうちの一つの中でcollapseがセットされています。
whiteSpace-valid-restriction.1: In the definition of {0}, the value '{1}' for the facet 'whitespace' is invalid, because the value for 'whitespace' has been set to 'collapse' in one of the ancestor types.

KECX06228-E

{0}の定義では，whiteSpaceファセットの値 preserve が不正です。祖先の型のうちの一つの中でreplaceがセットされています。
whiteSpace-valid-restriction.2: In the definition of {0}, the value 'preserve' for the facet 'whitespace' is invalid, because the value for 'whitespace' has been set to 'replace' in one of the ancestor types.

KECX06229-E

要素{0}の属性{1}に不正な値が指定されています。記録された理由は{2}です。
s4s-att-invalid-value: Invalid attribute value for '{1}' in element '{0}'. Recorded reason: {2}

KECX06230-E

要素{0}には属性 {1}が必要です。
s4s-att-must-appear: Attribute '{1}' must appear in element '{0}'.

KECX06231-E

属性{1}は要素{0}に指定できません。
s4s-att-not-allowed: Attribute '{1}' cannot appear in element '{0}'.

KECX06232-E

要素{0}はスキーマ文書に指定できない要素です。
s4s-elt-invalid: Element '{0}' is not a valid element in a schema document.

KECX06233-E

{0}の内容は，{1}と一致しなければいけません。この問題は{2}から始まります。
s4s-elt-must-match.1: The content of '{0}' must match {1}. A problem was found starting at: {2}.

KECX06234-E

{0}の内容は，{1}と一致しなければいけません。十分な要素が見つかりませんでした。
s4s-elt-must-match.2: The content of '{0}' must match {1}. Not enough elements were found.

KECX06235-E

{0}の内容が不正です。要素{1}は無効，不適切，または重複指定されています。
s4s-elt-invalid-content.1: The content of '{0}' is invalid. Element '{1}' is invalid, misplaced, or occurs too often.

KECX06236-E

{0}の内容が不正です。要素{1}は空を指定することはできません。
s4s-elt-invalid-content.2: The content of '{0}' is invalid. Element '{1}' cannot be empty.

KECX06237-E

型{0}の要素はschema要素の子として許されていません。
s4s-elt-invalid-content.3: Elements of type '{0}' cannot appear after declarations as children of a <schema> element.

KECX06238-E

要素{0}の名前空間はスキーマの名前空間'http://www.w3.org/2001/XMLSchema'でなければいけません。
s4s-elt-schema-ns: The namespace of element '{0}' must be from the schema namespace, 'http://www.w3.org/2001/XMLSchema'.

KECX06239-E

空白以外の文字は，xs:appinfoおよびxs:documentation以外にはスキーマ要素として許可されていません。{0}が該当部分です。
s4s-elt-character: Non-whitespace characters are not allowed in schema elements other than 'xs:appinfo' and 'xs:documentation'. Saw '{0}'.

KECX06240-E

fieldの値{0}が不正です。
c-fields-xpaths: The field value = '{0}' is not valid.

KECX06241-E

式{0}は，XML Schemaに支援されたXPath部分集合に関して不正です。
c-general-xpath: The expression '{0}' is not valid with respect to the XPath subset supported by XML Schema.

KECX06242-E

XPath式{0}での名前空間接頭辞は，名前空間に結び付けられませんでした。
c-general-xpath-ns: A namespace prefix in XPath expression '{0}' was not bound to a namespace.

KECX06243-E

selectorの値{0}は不正です。selectorのxpathには属性を含むことができません。
c-selector-xpath: The selector value = '{0}' is not valid; selector xpaths cannot contain attributes.

KECX06244-W

スキーマ文書{0}で，対象名前空間に空文字列は指定できません。
EmptyTargetNamespace: In schema document '{0}', the value of the 'targetNamespace' attribute cannot be an empty string.

KECX06245-E

型{0}の宣言で，ファセット{2}の値{1}は基底型の値{3}の範囲内でなければいけません。
FacetValueFromBase: In the declaration of type '{0}', value '{1}' of facet '{2}' must be from the value space of the base type, '{3}'.

KECX06246-E

{3}の定義では，ファセット{0}の値{1}は不正です。{0}の値は祖先の型の中で{2}がセットされています。またfixedはtrueです。
FixedFacetValue: In the definition of {3}, the value '{1}' for the facet '{0}' is invalid, because the value for '{0}' has been set to '{2}' in one of the ancestor types, and {fixed} = true.

KECX06247-E

パターン値{0}は有効な正規表現ではありません。報告されたエラーは次のとおりでした。{1}
InvalidRegex: Pattern value '{0}' is not a valid regular expression. The reported error was: '{1}'.

KECX06248-E

パーサの現在の環境設定では，複合型の内容モデルの拡張に{0}ノード以上のノードを含めることはできません。
Current configuration of the parser doesn't allow the expansion of a content model for a complex type to contain more than {0} nodes.

KECX06249-W

schemaLocationの値{0}は，偶数個のURIを持たなければいけません。
SchemaLocation: schemaLocation value = '{0}' must have even number of URI's.

KECX06250-E

期待する名前空間は{0}ですが，スキーマ文書の対象名前空間は{1}です。
TargetNamespace.1: Expecting namespace '{0}', but the target namespace of the schema document is '{1}'.

KECX06251-E

名前空間を期待していませんが，スキーマ文書に対象名前空間{1}があります。
TargetNamespace.2: Expecting no namespace, but the schema document has a target namespace of '{1}'.

KECX06252-E

Entity{0}は宣言されていません。
UndeclaredEntity: Entity '{0}' is not declared.

KECX06253-E

QNameとして{0}を解決できません。接頭辞{1}は宣言されていません。
UndeclaredPrefix: Cannot resolve '{0}' as a QName: the prefix '{1}' is not declared.

KECX06254-E

型{0}の場合，length{1}の値をminLength {2}の値より小さい値に設定するとエラーになります。
length-minLength-maxLength.d: For type {0}, it is an error for the value of length '{1}' to be less than the value of minLength '{2}'.

KECX06255-E

型{0}の場合，length{1}の値をmaxLength {2}の値より大きい値に設定するとエラーになります。
length-minLength-maxLength.e: For type {0}, it is an error for the value of length '{1}' to be greater than the value of maxLength '{2}'.

KECX06256-E

notation要素には，少なくとも一つのpublicまたはsystemがなければいけません。
PublicSystemOnNotation: At least one of 'public' and 'system' must appear in element 'notation'.

KECX06301-E

メッセージキーに対応するエラーメッセージを，見つけることができません。
The error message corresponding to the message key can not be found.

KECX06302-E

次のメッセージをフォーマットしている間に，内部エラーが起こりました：
An internal error occurred while formatting the following message:

KECX06303-E

nullパラメタの場合，{0}は呼び出せません。
{0} cannot be called with 'null' parameter.

KECX06304-E

未知のフィールドで{0}が呼び出されました：{1}
{0} called with an unknown field:{1}

KECX06305-E

年 = {0}, 月 = {1}, 日 = {2}, 時 = {3}, 分 = {4}, 秒 = {5}, 小数秒 = {6}, タイムゾーン = {7}は，XML Gregorian Calendar値の有効な表記ではありません。
Year = {0}, Month = {1}, Day = {2}, Hour = {3}, Minute = {4}, Second = {5}, fractionalSecond = {6}, Timezone = {7} , is not a valid representation of an XML Gregorian Calendar value.

KECX06306-E

年 = {0}, 月 = {1}, 日 = {2}, 時 = {3}, 分 = {4}, 秒 = {5}, 小数秒 = {6}, タイムゾーン = {7}は，XML Gregorian Calendar値の有効な表記ではありません。
Year = {0}, Month = {1}, Day = {2}, Hour = {3}, Minute = {4}, Second = {5}, fractionalSecond = {6}, Timezone = {7} , is not a valid representation of an XML Gregorian Calendar value.

KECX06307-E

XMLGregorianCalendarに無効なフィールドセットが設定されました。
Invalid set of fields set for XMLGregorianCalendar

KECX06308-E

小数秒の値{0}が無効です。
Invalid value {0} for fractional second.

KECX06309-E

{0}は，XML Gregorian Calendar値の有効な表記ではありません。
{0} is not a valid representation of an XML Gregorian Calendar value.

KECX06310-E

{1}フィールドに無効な値{0}
Invalid value {0} for {1} field.

KECX06311-E

{1}フィールドは負です。
{0} field is negative

KECX06312-E

すべてのフィールド（javax.xml.datatype.DatatypeConstants.Field）がnullです。
All the fields (javax.xml.datatype.DatatypeConstants.Field) are null.

KECX06313-E

{0}値の{1}はこのインプリメンテーションでは大きすぎてサポートできません。
{0} value "{1}" too large to be supported by this implementation

KECX06501-E

内部エラーが発生しました。
ImplementationMessages.VAL_BST

KECX06502-E

内部エラーが発生しました。
ImplementationMessages.VAL_UST

KECX06503-E

内部エラーが発生しました。
ImplementationMessages.VAL_NIICM

KECX06504-E

parse は構文解析中に呼び出してはいけません。
parse may not be called while parsing

KECX06507-E

内部エラーが発生しました。スキーマファクトリクラス{0}はSchemaDVFactoryから拡張できません。
Schema factory class {0} does not extend from SchemaDVFactory.

KECX06508-E

内部エラーが発生しました。
internal error

KECX06509-E

スキーマ文書{0}で，対象名前空間の値はhttp://www.w3.org/2001/XMLSchema-instanceであってはいけません。
TargetNamespace.3: In schema document '{0}', the value of the targetNamespace attribute must not be equal to "http://www.w3.org/2001/XMLSchema-instance".

7.2.6　KECX07000～KECX07999

KECX07001-E

複数のスタイルシートが同じファイル内に定義されています。
More than one stylesheet defined in the same file.

KECX07002-E

テンプレート{0}はこのスタイルシート内にすでに定義されています。
Template '{0}' already defined in this stylesheet.

KECX07003-E

テンプレート{0}はこのスタイルシート内に定義されていません。
Template '{0}' not defined in this stylesheet.

KECX07004-E

変数{0}は同じ有効範囲内に複数回定義されています。
Variable '{0}' is multiply defined in the same scope.

KECX07005-E

変数またはパラメタ{0}が未定義です。
Variable or parameter '{0}' is undefined.

KECX07006-E

クラス '{0}' が見つかりません。
Cannot find class '{0}'.

KECX07007-E

外部メソッド{0}が見つかりません(publicでなければいけません)。
Cannot find external method '{0}' (must be public).

KECX07008-E

引数/戻り型をメソッド{0}への呼び出しで変換できません。
Cannot convert argument/return type in call to method '{0}'

KECX07009-E

ファイルまたはURI{0}が見つかりません。
File or URI '{0}' not found.

KECX07010-E

無効なURI{0}です。
Invalid URI '{0}'.

KECX07011-E

ファイルまたはURI{0}をオープンできません。
Cannot open file or URI '{0}'.

KECX07012-E

<xsl:stylesheet>または<xsl:transform>要素が必要です。
<xsl:stylesheet> or <xsl:transform> element expected.

KECX07013-E

名前空間接頭辞{0}が宣言されていません。
Namespace prefix '{0}' is undeclared.

KECX07014-W

関数{0}への呼び出しを解決できません。
Unable to resolve call to function '{0}'.

KECX07015-E

{0}への引数はリテラル文字列でなければいけません。
Argument to '{0}' must be a literal string.

KECX07016-E

XPath式{0}を構文解析中にエラーが発生しました。
Error parsing XPath expression '{0}'.

KECX07017-E

必須属性{0}がありません。
Required attribute '{0}' is missing.

KECX07018-E

XPath式内の文字{0}が正しくありません。
Illegal character '{0}' in XPath expression.

KECX07019-E

命令の処理のための名前{0}が正しくありません。
Illegal name '{0}' for processing instruction.

KECX07020-W

属性{0}が要素の外側です。
Attribute '{0}' outside of element.

KECX07021-W

属性{0}が正しくありません。
Illegal attribute '{0}'.

KECX07022-E

import/includeが相互に呼び出し合っています。スタイルシート{0}はすでにロードされています。
Circular import/include. Stylesheet '{0}' already loaded.

KECX07023-W

結果ツリー・フラグメントをソートできません(<xsl:sort>要素は無視されます)。このノードは結果ツリーの作成時にソートしなければいけません。
Result-tree fragments cannot be sorted (<xsl:sort> elements are ignored). You must sort the nodes when creating the result tree.

KECX07024-W

10進数フォーマット設定{0}はすでに定義されています。
Decimal formatting '{0}' is already defined.

KECX07025-E

XSLバージョン{0}はXSLTCによってサポートされていません。
XSL version '{0}' is not supported by XSLTC.

KECX07026-E

{0}内の変数/パラメタの参照が相互に呼び出し合っています。
Circular variable/parameter reference in '{0}'.

KECX07027-E

2進数表記のための演算子が不明です。
Unknown operator for binary expression.

KECX07028-E

関数呼び出しの引数(一つ以上)が正しくありません。
Illegal argument(s) for function call.

KECX07029-E

document()関数への二つ目の引数はノード集合でなければいけません。
Second argument to document() function must be a node-set.

KECX07030-E

少なくとも一つの<xsl:when>要素が<xsl:choose>内に必要です。
At least one <xsl:when> element required in <xsl:choose>.

KECX07031-E

<xsl:choose>で許可されている<xsl:otherwise>要素は一つだけです。
Only one <xsl:otherwise> element allowed in <xsl:choose>.

KECX07032-E

<xsl:otherwise>を使用できるのは<xsl:choose>内だけです。
<xsl:otherwise> can only be used within <xsl:choose>.

KECX07033-E

<xsl:when>を使用できるのは<xsl:choose>内だけです。
<xsl:when> can only be used within <xsl:choose>.

KECX07034-E

<xsl:choose>で許可されているのは<xsl:when>および<xsl:otherwise>要素だけです。
Only <xsl:when> and <xsl:otherwise> elements allowed in <xsl:choose>.

KECX07035-E

<xsl:attribute-set>にname属性がありません。
<xsl:attribute-set> is missing the 'name' attribute.

KECX07036-E

子要素が正しくありません。
Illegal child element.

KECX07037-W

要素{0}は呼び出せません。
You cannot call an element '{0}'

KECX07038-E

属性{0}は呼び出せません。
You cannot call an attribute '{0}'

KECX07039-E

テキストが最上位の<xsl:stylesheet>要素の外側にあります。
Text data outside of top-level <xsl:stylesheet> element.

KECX07040-E

JAXPパーサは正しく構成されていません。
JAXP parser not configured correctly

KECX07041-E

回復できないXSLTCの内部エラーが発生しました。{0}
Unrecoverable XSLTC-internal error: '{0}'

KECX07042-E

XSL要素{0}はサポートされていません。
Unsupported XSL element '{0}'.

KECX07043-E

XSLTC拡張{0}は認識されていません。
Unrecognised XSLTC extension '{0}'.

KECX07044-E

入力文書はスタイルシートではありません(XSL名前空間はルート要素内で宣言されていません)。
The input document is not a stylesheet (the XSL namespace is not declared in the root element).

KECX07045-E

スタイルシート・ターゲット{0}が見つかりませんでした。
Could not find stylesheet target '{0}'.

KECX07046-E

{0}がインプリメントされていません。
Not implemented: '{0}'.

KECX07047-E

入力文書にはXSLスタイルシートが入っていません。
The input document does not contain an XSL stylesheet.

KECX07048-E

要素{0}を構文解析できませんでした。
Could not parse element '{0}'

KECX07049-E

<key>のuse 属性はnode，node-set，string，またはnumberでなければいけません。
The use attribute of <key> must be node, node-set, string or number.

KECX07050-E

出力XML文書のバージョンは1.0である必要があります。
Output XML document version should be 1.0

KECX07051-E

関係式の演算子が不明です。
Unknown operator for relational expression

KECX07052-E

存在しない属性集合{0}を使用しようとしています。
Attempting to use non-existing attribute set '{0}'.

KECX07053-E

属性値テンプレート{0}を構文解析できません。
Cannot parse attribute value template '{0}'.

KECX07054-E

クラス{0}のシグニチャ内のデータ型が不明です。
Unknown data-type in signature for class '{0}'.

KECX07055-E

データ型{0}を{1}に変換できません。
Cannot convert data-type '{0}' to '{1}'.

KECX07056-E

このテンプレートには有効なトランスレットクラス定義が入っていません。
This Templates does not contain a valid translet class definition.

KECX07057-E

このテンプレートには名前が{0}のクラスは入っていません。
This Templates does not contain a class with the name '{0}'.

KECX07058-E

トランスレットクラス{0}をロードできませんでした。
Could not load the translet class '{0}'.

KECX07059-E

トランスレットクラスがロードされましたが，トランスレットインスタンスを作成できません。
Translet class loaded, but unable to create translet instance.

KECX07060-E

{0}のErrorListenerをnullに設定しようとしています。
Attempting to set ErrorListener for '{0}' to null

KECX07061-E

XSLTCがサポートしているのはStreamSource，SAXSource，およびDOMSourceだけです。
Only StreamSource, SAXSource and DOMSource are supported by XSLTC

KECX07062-E

{0}に渡されたソースオブジェクトにはコンテンツがありません。
Source object passed to '{0}' has no contents.

KECX07063-E

スタイルシートをコンパイルできませんでした。
Could not compile stylesheet

KECX07064-E

TransformerFactoryは属性{0}を認識しません。
TransformerFactory does not recognise attribute '{0}'.

KECX07065-E

setResult()はstartDocument()の前に呼び出されていなければいけません。
setResult() must be called prior to startDocument().

KECX07066-E

変換プログラムにはカプセル化されたトランスレットオブジェクトがありません。
The Transformer has no encapsulated translet object.

KECX07067-E

変換結果の出力ハンドラが定義されていません。
No defined output handler for transformation result.

KECX07068-E

{0}に渡されたResultオブジェクトが無効です。
Result object passed to '{0}' is invalid.

KECX07069-E

無効なTransformerプロパティ{0}にアクセスしようとしています。
Attempting to access invalid Transformer property '{0}'.

KECX07070-E

SAX2DOMアダプタ{0}を作成できませんでした。
Could not create SAX2DOM adapter: '{0}'.

KECX07071-E

XSLTCSource.build()がsystemIdを設定しないで呼び出されています。
XSLTCSource.build() called without systemId being set.

KECX07072-E

param {0}の値は有効なJava Objectでなければいけません。
The value of param {0} must be a valid Java Object

KECX07073-E

Resultパラメタはnullであってはいけません。
Result should not be null

KECX07075-E

<xsl:sort>を使用できるのは<xsl:for-each>または<xsl:apply-templates>内だけです。
<xsl:sort> can only be used within <xsl:for-each> or <xsl:apply-templates>.

KECX07076-W

出力エンコード{0}はこのJVMではサポートされていません。
Output encoding '{0}' is not supported on this JVM.

KECX07077-E

{0}内に構文エラーがあります。
Syntax error in '{0}'.

KECX07078-E

外部コンストラクタ{0}が見つかりません。
Cannot find external constructor '{0}'.

KECX07079-E

非static Java関数{0}への先頭引数は有効なオブジェクト参照子でありません。
The first argument to the non-static Java function '{0}' is not a valid object reference.

KECX07080-E

式{0}の型を検査中にエラーが発生しました。
Error checking type of the expression '{0}'.

KECX07081-E

不明なロケーションで式の型を検査中にエラーが発生しました。
Error checking type of an expression at an unknown location.

KECX07082-E

コマンド行オプション '{0}' が無効です。
The command-line option '{0}' is not valid.

KECX07083-E

コマンド行オプション '{0}' に必須属性がありません。
The command-line option '{0}' is missing a required argument.

KECX07084-W

警告：{0}，{1}
WARNING:'{0}' :'{1}'

KECX07085-W

警告：{0}
WARNING:'{0}'

KECX07086-E

致命的エラーが発生しました。{0}，{1}
FATAL ERROR:'{0}' :'{1}'

KECX07087-E

致命的エラーが発生しました。{0}
FATAL ERROR:'{0}'

KECX07088-E

エラーが発生しました。{0}，{1}
ERROR:'{0}' :'{1}'

KECX07089-E

エラーが発生しました。{0}
ERROR:'{0}'

KECX07090-E

トランスレット '{0}' を使用する変換
Transform using translet '{0}'

KECX07091-E

jarファイル '{1}' からのトランスレット '{0}' を使用する変換
Transform using translet '{0}' from jar file '{1}'

KECX07092-E

TransformerFactoryクラス{0}のインスタンスを作成できませんでした。
Could not create an instance of the TransformerFactory class '{0}'.

KECX07093-E

コンパイラ・エラーが発生しました。
Compiler errors:

KECX07094-W

コンパイラ警告が発生しました。
Compiler warnings:

KECX07095-E

トランスレットエラーが発生しました。
Translet errors:

KECX07096-E

属性の値が{0}です。この値はQName，または空白で区切られたQNameのリストでなければいけません。
An attribute whose value must be a QName or whitespace-separated list of QNames had the value '{0}'

KECX07097-E

属性の値が{0}です。この値はNCNameでなければいけません。
An attribute whose value must be an NCName had the value '{0}'

KECX07098-E

TransformerFactory.getFeature(String name)では，フィーチャー名はnullにできません。
The feature name cannot be null in TransformerFactory.getFeature(String name).

KECX07099-E

TransformerFactory.setFeature(String name, boolean value)では，フィーチャー名はnullにできません。
The feature name cannot be null in TransformerFactory.setFeature(String name, boolean value).

KECX07100-E

このTransformerFactoryにはフィーチャー{0}を設定できません。
Cannot set the feature '{0}' on this TransformerFactory.

KECX07101-E

<xsl:output>要素のmethod属性は値{0}を持っていました。指定できる値は'xml','html','text'またはqname-but-not-ncnameでなければいけません。
The method attribute of an <xsl:output> element had the value '{0}'. The value must be one of 'xml', 'html', 'text', or qname-but-not-ncname

KECX07203-E

クラスをロードできませんでした。
Couldn't load the class

KECX07204-E

メソッドが見つかりません。
Method not found

KECX07205-E

メソッドにアクセスできません。
Error: Method is inaccessible

KECX07206-E

仮引数と実引数の数が一致しません。
Error: Number of actual and formal argument differ

KECX07207-E

基底コンストラクタが例外をスローしました。
Error: underlying constructor throws an exception

KECX07208-E

コンストラクタが見つかりません。
Constructor not found

KECX07209-E

コンストラクタが例外をスローしました。
Error: constructor throws an exception

KECX07210-E

コンストラクタにアクセスできません。
Error: constructor is inaccessible

KECX07211-E

基底コンストラクタを宣言するクラスは抽象クラスを表しています。
Error: Class that declares the underlying constructor represents an abstract class

KECX07212-E

CONSTRUCTOR_NOT_FOUND_ERR　クラス名：メソッド名
CONSTRUCTOR_NOT_FOUND_ERR　{0} : {1}

KECX07213-E

METHOD_NOT_FOUND_ERR　クラス名：メソッド名
METHOD_NOT_FOUND_ERR {0} : {1}

KECX07301-E

{0}で実行時内部エラーが発生しました。
Run-time internal error in '{0}'

KECX07302-E

<xsl:copy>を実行中にエラーが発生しました。
Run-time error when executing <xsl:copy>.

KECX07303-E

{0}から{1}への変換が無効です。
Invalid conversion from '{0}' to '{1}'.

KECX07304-E

外部関数{0}はXSLTCによってサポートされていません。
External function '{0}' not supported by XSLTC.

KECX07305-E

等式内の引数の型が不明です。
Unknown argument type in equality expression.

KECX07306-E

{1}を呼び出し中の引数型{0}が無効です。
Invalid argument type '{0}' in call to '{1}'

KECX07307-E

数値{0}をパターン{1}を使用してフォーマット設定しようとしています。
Attempting to format number '{0}' using pattern '{1}'.

KECX07308-E

イテレータ{0}を複製できません。
Cannot clone iterator '{0}'.

KECX07309-E

軸{0}のイテレータはサポートされていません。
Iterator for axis '{0}' not supported.

KECX07310-E

型付きの軸{0}のイテレータはサポートされていません。
Iterator for typed axis '{0}' not supported.

KECX07311-E

属性{0}が要素の外側です。
Attribute '{0}' outside of element.

KECX07312-E

名前空間宣言{0}={1}が要素の外側です。
Namespace declaration '{0}'='{1}' outside of element.

KECX07313-E

接頭辞{0}の名前空間が宣言されていません。
Namespace for prefix '{0}' has not been declared.

KECX07314-E

DOMAdapterが間違った型のソースDOMを使用して作成されました。
DOMAdapter created using wrong type of source DOM.

KECX07315-E

使用中のSAXパーサはDTD宣言イベントを処理しません。
The SAX parser you are using does not handle DTD declaration events.

KECX07316-E

使用中のSAXパーサにはXML名前空間のサポートがありません。
The SAX parser you are using does not have support for XML Namespaces.

KECX07317-E

URI参照{0}を解決できませんでした。
Could not resolve the URI reference '{0}'.

KECX07318-E

XSL要素{0}はサポートしていません。
Unsupported XSL element '{0}'

KECX07319-E

XSLTC拡張{0}は認識されません。
Unrecognized XSLTC extension '{0}'

KECX07320-E

指定されたトランスレット{0}は，使用されているXSLTCランタイムのバージョンより最近のXSLTCのバージョンを使用して作成されました。stylesheetを再コンパイルするか，またはこのトランスレットを実行するためにXSLTCのより最近のバージョンを使用しなければいけません。
The specified translet, '{0}', was created using a version of XSLTC more recent than the version of the XSLTC run-time that is in use. You must recompile the stylesheet or use a more recent version of XSLTC to run this translet.

KECX07321-E

QNameであるはずの属性が値{0}を持っていました。
An attribute whose value must be a QName had the value '{0}'

KECX07322-E

NCNameであるはずの属性が値{0}を持っていました。
An attribute whose value must be an NCName had the value '{0}'

KECX07323-E

secure processingフィーチャーがtrueに設定されている場合は，拡張関数{0}の使用は許可されません。
Use of the extension function '{0}' is not allowed when the secure processing feature is set to true.

KECX07324-E

secure processingフィーチャーがtrueに設定されている場合は，拡張要素{0}の使用は許可されません。
Use of the extension element '{0}' is not allowed when the secure processing feature is set to true.

KECX07501-E

URLを絶対化できません：{0}
Can not absolutize URL: {0}

KECX07503-E

com.cosminexus.jaxp.impl.transform.xsltc.trax.SmartTransformerFactoryImplはcom.cosminexus.jaxp.impl.transform.processor.TransformerFactoryImplを作成できませんでした。
com.cosminexus.jaxp.impl.transform.xsltc.trax.SmartTransformerFactoryImpl could not create an com.cosminexus.jaxp.impl.transform.processor.TransformerFactoryImpl.

KECX07701-E

ファイル名を-stdinオプションで提供する必要があります。
You must supply a filename with the -stdin option.

KECX07702-E

ファイル{0}を開けませんでした。
Could not open file {0}

KECX07703-E

ファイル{0}に対する権限がありません。
No permission to file {0}

KECX07704-E

-stdinオプションがありません。
Missing -stdin option!

KECX07705-E

JavaCUP実行エラー：
Error running JavaCUP:

7.2.7　KECX09000～KECX09999

KECX09601-E

事前解析時にエラーが発生しました。{0}
An error occurred while pre-parsing the document : {0}

KECX09602-E

XMLファイルにはnull以外を指定してください。
XML file cannot be null.

KECX09603-E

チューニング情報でエラーが発生しました。{0}
Error occurs in Tuning Information : {0}

KECX09604-E

ファイル{0}にアクセスできません。
Cannot access to file : {0}

KECX09605-E

高速パース機能の一時ディレクトリで入出力エラーが発生しました。{0}
I/O Error occurs in temporary directory of fast parse function : {0}

KECX09606-E

preparsedobject-loadプロパティの値が不正です。
Illegal value for preparsedobject-load property.

KECX09607-E

カスタムスキャナのロードでエラーが発生しました。{0}
Error occurs in custom scanner loading : {0}

KECX09608-E

XML入力ストリームにはnull以外を指定してください。
XML InputStream cannot be null.

付録

＜この付録の構成＞

付録A　バージョン間の差異

付録B　用語解説

付録A　バージョン間の差異

Cosminexus XML Processorの以前のバージョンとの動作の差異について説明します。

＜この節の構成＞

付録A.1　DOMパーサ，およびSAXパーサ共通の動作の差異

付録A.2　DOMパーサの動作の差異

付録A.3　SAXパーサの動作の差異

付録A.4　スキーマ検証の動作の差異

付録A.5　XSLTの動作の差異

付録A.1　DOMパーサ，およびSAXパーサ共通の動作の差異

DOMパーサ，およびSAXパーサ共通の動作の差異を表A-1に示します。

表A-1　DOMパーサ，およびSAXパーサ共通の動作の差異

項番 | 動作の差異
1 | パーサがInputSourceオブジェクトを使用してバイトストリームを読み込むとき，06-00ではXML仕様のアルゴリズムを用いて文字エンコーディングを自動検出しますが，07-00以降ではsetEncodingメソッドで指定されたエンコーディングを優先します。
2 | 「EUCで保存されているがXML宣言にencoding指定が存在しないXML文書」など，エンコーディングが不正な状態で解析したとき，06-00ではIOException例外が発生しますが，07-00以降ではSAXException例外が発生します。
3 | parseメソッドの引数uriまたは引数systemIdに空文字列を指定したとき，06-00ではIOException例外が発生しますが，07-00以降ではSAXException例外が発生します。
4 | XML文書のDOCTYPE宣言のシステム識別子に空文字列を指定したとき，06-00ではIOException例外が発生しますが，07-00以降ではSAXException例外が発生します。
5 | DTDでEMPTYと宣言した要素の内容がコメントだけのとき，06-00では妥当性検証時にエラーになりませんが，07-00以降ではエラーになります。

付録A.2　DOMパーサの動作の差異

DOMパーサの動作の差異を表A-2に示します。

表A-2　DOMパーサの動作の差異

項番 | 動作の差異
1 | 同一名のNOTATION宣言があり，かつ，妥当性検証が有効なとき，06-00では重複したNOTATION宣言を破棄するだけですが，07-00ではエラーになります。
2 | あるノードに対して，そのノードもしくは祖先ノードを引数newChildとしてappendChildメソッドまたはinsertBeforeメソッドを実行したとき，発生するDOMException例外のコードが異なります。06-00ではWRONG_DOCUMENT_ERRですが，07-00以降ではHIERARCHY_REQUEST_ERRです。
3 | DocumentインタフェースのcreateElementNS(String namespaceURI, String qualifiedName)メソッドの引数qualifiedNameにnullを指定したとき，発生するDOMException例外のコードが異なります。06-00ではINVALID_CHARACTER_ERRですが，07-00以降ではNAMESPACE_ERRです。

付録A.3　SAXパーサの動作の差異

SAXパーサの動作の差異を表A-3に示します。

表A-3　SAXパーサの動作の差異

項番
動作の差異

1
XMLReaderFactoryクラスのcreateXMLReader()メソッドは，06-00ではシステムプロパティ"org.xml.sax.driver"の値を用いてXMLReaderインスタンスの生成を試みますが，07-00以降では以下の順序でXMLReaderインスタンスの生成を試みます。

システムプロパティ"org.xml.sax.driver"が示すクラス名

jarfile 内の META-INF/services/org.xml.sax.driverが示すクラス名

デフォルトのXMLReaderクラス名

ParserFactoryクラスのmakeParser()メソッドの戻り値をParserAdapterでラップしたクラス

2
XMLReaderオブジェクトにContentHandlerオブジェクトを設定したとき，06-00ではエンティティをスキップしてもContentHandlerオブジェクトのskippedEntityメソッドは呼び出されませんが，07-00以降では呼び出されます。

3
DeclHandlerクラスのexternalEntityDecl(String name, String publicId, String systemId)メソッド，および，DTDHandlerインタフェースのnotationDecl(String name, String publicId, String systemId)メソッドの引数systemIdがURLのとき，06-00ではURLが完全に解決されない場合がありますが，07-00以降ではURLが完全に解決されます。

4
XMLReaderクラスのsetEntityResolverメソッド，setDTDHandlerメソッド，setContentHandlerメソッド，setErrorHandlerメソッドの引数にnullを指定したとき，06-00ではNullPointerException例外が発生しますが，07-00以降ではリゾルバやハンドラがクリアされます。

5
ParserAdapterクラスのsetEntityResolverメソッド，setDTDHandlerメソッド，setContentHandlerメソッド，setErrorHandlerメソッドの引数にnullを指定したとき，06-00ではNullPointerException例外が発生しますが，07-00以降ではリゾルバやハンドラがクリアされます。

6
XMLFilterImplクラスのsetEntityResolverメソッド，setDTDHandlerメソッド，setContentHandlerメソッド，setErrorHandlerメソッド，setParentメソッドの引数にnullを指定したとき，06-00ではNullPointerException例外が発生しますが，07-00以降ではリゾルバやハンドラや親リーダがクリアされます。

7
SAXパーサのフィーチャー"http://xml.org/sax/features/namespaces"をfalseに設定し，かつ，フィーチャー"http://xml.org/sax/features/namespace-prefixes"をtrueに設定したとき，接頭辞"xml","xmlns"に対するstartPrefixMappingメソッド，endPrefixMappingメソッドの動作が異なります。06-00ではこれらのメソッドが呼び出されますが，07-00以降では呼び出されません。

付録A.4　スキーマ検証の動作の差異

スキーマ検証の動作の差異を表A-4に示します。

表A-4　スキーマ検証の動作の差異

項番 | 動作の差異
1 | スキーマ文書にxsd:key要素が存在し，かつ，インスタンス文書にキーに該当するテキストが存在しないとき，06-00ではエラーにならない場合がありますが，07-00以降ではエラーになります。
2 | スキーマ文書にxsd:key要素とxsd:keyref要素の組み合わせを指定していて，xsd:key要素とxsd:keyref要素の双方のfield要素の順序と型が一致していないとき，06-00ではエラーにならない場合がありますが，07-00以降ではエラーになります。
3 | xsd:field要素のxpath属性がchild軸を含むXPath式のとき，06-00ではエラーになりませんが，07-00以降ではchild軸が指定できない旨のエラーになります。
4 | 複合型を基準型として制限した複合型では，制限した複合型で制限している要素が基準型に存在しないとき，06-00ではエラーになりませんが，07-00以降ではスキーマ文書のエラーになります。
5 | xsd:selector要素のxpath属性が「| ns1:element」のように不当な | 演算子を含むXPath式のとき，06-00ではエラーにならないか，または，XML文書の妥当性検証のエラーになりますが，07-00以降ではスキーマ文書のエラーになります。
6 | xsd:redefine要素またはxsd:import要素のschemaLocation属性に空文字列を指定したとき，06-00ではエラーになりませんが，07-00以降ではエラーになります。

付録A.5　XSLTの動作の差異

XSLTの動作の差異を表A-5に示します。

表A-5　XSLTの動作の差異

項番
動作の差異

1
TransformクラスおよびTransformerFactoryクラスのデフォルトのエラーリスナーは，06-00ではエラー時に例外をスローしますが，07-00以降ではエラー時に例外をスローしません。

2
TransformerFactoryクラスのnewTransformer(Source source)メソッド, newTemplatesメソッドを実行したとき，これらのメソッドの入力であるスタイルシートに誤りがあると，ErrorListenerのfatalErrorメソッドにエラーが報告されます。このとき，ErrorListenerのfatalErrorメソッドの実装がTransformerExceptionをスローしない場合は，newTransformer(Source source)メソッド，newTemplatesメソッドの戻り値がnullになる場合がありますのでご注意ください。デフォルトの ErrorListenerは，TransformerExceptionをスローしません。したがって，回復できないエラー発生時の正常な動作を確保するため，ErrorListenerを登録してfatalErrorメソッドの中からTransformerException例外をスローすることを強くお勧めします。

3
XMLをファイルに出力する際，xsl:output要素にindent="yes"が指定されていないか，または，TransformクラスのsetOutputProperty(OutputKeys.INDENT, "yes")メソッドが実行されていないとき，出力結果が異なります。06-00ではXML宣言の直後に改行が出力されますが，07-00以降では出力されません。

4
変換結果をHTML形式で出力した場合，06-00と07-00以降とでは要素間の改行出力に差異があります。ただし，HTML文書では，要素間の改行は意味を持たないため問題ありません。

5
system-property('xsl:version')関数を実行したとき，06-00では結果は"1"になりますが，07-00以降では"1.0"になります。

6
xsl:attribute要素の内容がタブを含む文字列のとき，06-00では変換結果の属性値がタブ文字そのものになりますが，07-00以降では文字参照（&#9;）になります。

7
xsl:number要素のvalue属性にgenerate-id()関数を使用したとき，06-00では"0"が出力されますが，07-00以降では"NaN"が出力されます。

8
xsl:stylesheet要素の名前空間宣言で定義した接頭辞が，xsl:element要素によって作成された要素の中で使われないとき，06-00ではその名前空間宣言がxsl:element要素に出力されますが，07-00以降では出力されません。

9
xsl:version属性に"1.1"を指定した簡略化スタイルシートの中にトップレベル要素を記述したとき，前方互換処理の動作が異なります。06-00ではトップレベル要素がインスタンス化されて変換が実行されますが，07-00以降ではトップレベル要素が無視されます。

10
xsl:attribute-set要素のuse-attribute-sets属性に「存在しない属性セット名」を指定したとき，06-00ではエラーになりませんが，07-00以降では属性セットが存在しない旨のエラーになります。

11
xsl:template要素にname属性，match属性のどちらも指定されていない場合，06-00ではエラーになりませんが，07-00以降ではname属性かmatch属性のどちらかが必要な旨のエラーになります。

12
exclude-result-prefixes属性で指定された「除外する名前空間の接頭辞」が，xsl:stylesheet要素の名前空間宣言で定義されていないとき，06-00ではエラーになりませんが，07-00以降ではエラーになります。

13
xsl:stylesheet要素のversion属性に数値以外を指定したとき，06-00ではエラーになりませんが，07-00以降ではエラーになります。

14
xsl:output要素のmethod属性に"xml"を指定し，かつ，xsl:output要素のversion属性に"1.0"，"1.1"以外を指定したとき，06-00ではワーニングは発生しませんが，07-00以降では"1.0"を仮定する旨のワーニングが発生します。

15
テキスト出力で，出力時のエンコーディングでは表現できない文字を出力するとき，06-00では文字化けとなりますが，07-00以降では標準エラー出力にワーニングが出力され，その文字は文字参照として出力されます。

16
Transformクラスのtransform(Source xmlSource, Result outputTarget)メソッドの引数xmlSourceに空のSourceを指定した場合，06-00ではエラーになりますが，07-00以降ではDocumentBuilderクラスのnewDocumentメソッドで生成された空のドキュメントが使われます。

17
TransformerFactoryクラスのgetFeatureメソッドの引数にnullを指定した場合，06-00ではfalseが戻りますが，07-00以降ではNullPointerException例外が発生します。

18
名前空間宣言のない接頭辞があるとき，06-00ではTransformerException例外が発生しますが，07-00以降ではXPathStylesheetDOM3Exception例外が発生する場合があります。この例外はTransformerException例外のサブクラスなので，TransformerExceptionによりキャッチできます。

19
StreamResultクラスのStreamResult(File f)コンストラクタ，および，setSystemId(File f) メソッドの引数fにnullを指定したとき，06-00ではNullPointerException例外が発生しますが，07-00以降ではRuntimeException例外が発生します。

20
xsl:call-template要素のname属性で指定した名前付きテンプレートが存在しない場合，06-00ではエラーKECX02019-Eを通知していましたが，07-00ではエラーKECX02019-Eに加えてエラーKECX02015-Eを通知するようになります。

21
「namespace::局所名」を含むXPath式の評価結果は，06-00と07-00以降で差異があります。06-00では，局所名を接頭辞と見なして名前空間URIを解決し，その名前空間URIに一致する文字列値を持つ名前空間ノードが評価結果になります。07-00では，指定した局所名を持つ名前空間ノードが評価結果になります。

付録B　用語解説

（英字）

DOM

Document Object Modelの略です。DOMパーサによって解析されたXML文書の内容を記述したもので，メモリに常駐するツリー形式のデータ構造となっています。このツリー構造をDOMツリーと呼びます。

DOM API

DOMパーサによって生成されたDOMにアクセスするためのAPIをDOM APIと呼びます。XML文書内のデータ構造に基づいたデータの処理ができます。

DOMツリー

XML文書の構造をツリー形式で表したものです。DOMツリーはDOMパーサを使って解析すると生成されます。

DTD

Document Type Definitionの略です。XMLのスキーマの一つで，XML文書で使用するタグの属性や階層構造や出現順序などを定義したものです。XML文書はこのDTDで定義した文法に従って記述します。

IANA

Internet Assigned Numbers Authorityの略です。インターネットの名前または番号の登録業務を行う組織です。

JAXP

Java API for XML Processingの略です。米国Sun Microsystems, Inc.が提供するJava言語用の標準XML APIです。DOM，SAX，およびXSLTのリファレンス実装そのものをJAXPと呼ぶ場合もあります。

JAXPには，DOMパーサ，SAXパーサを生成するAPIが含まれています。パーサの実装やコードに依存しないので，プラットフォーム間で共通のプログラムを作成できます。また，JAXPには，XSLTトランスフォーマのAPIが含まれているので，JavaプログラムからXSLTトランスフォーマを使用することができます。

Namespaces in XML

XMLで定義された複数の言語を一つの文書で扱う場合に，要素や属性の名前が衝突することを避けるために用いる修飾子。

SAX

Simple API for XMLの略です。XML文書内の構文要素を逐次，通知することでXML文書の内容にアクセスするためのコールバックAPIです。SAXの場合，解析中の個所に関する情報だけをユーザプログラムに渡し，DOMのようにツリーを作成しません。このため，DOMに比べてメモリ所要量が少なくなります。

TrAX

Transformation API for XMLの略です。JAXPの仕様に含まれるAPIで，XSLTトランスフォーマの標準APIです。

TrAXを使用することでJavaプログラムからXML変換処理を実現できます。単純なXML文書の変換であればTrAXだけで実現できます。

URI

Uniform Resource Identifierの略です。URLのようにWeb上のデータの位置を指定する方法と，Web上の特定のデータを固有の名前で指定する方法を持ち合わせた規格です。

URL

Uniform Resource Locatorの略です。Web上にある特定のデータの位置を指定する規格です。

W3C

World Wide Web Consortiumの略です。XMLやDOMを含むWeb関連技術の標準化を推進する非営利団体です。

XML

Extensible Markup Languageの略です。W3Cが制定したマークアップ言語で，インターネット上でデータのやり取りを実現します。このマニュアルでは，XML形式で記述された文書をXML文書と呼びます。

XML Schema

W3C勧告で定められた仕様で，XML文書内の論理的なデータ構造を規定するための仕組みです。

XML仕様

W3C勧告の「XML 1.0」および「XML 1.1」で定められた仕様です。Cosminexus XML ProcessorのXMLパーサは，XML仕様に従ったXML文書を処理できます。

XMLパーサ

XML文書を解析するプログラムです。

パーサには，DOM APIを使用するDOMパーサと，SAXを使用するSAXパーサの2種類があります。DOMパーサは，XML文書の解析結果をDOMツリーとして出力します。SAXパーサは，DOMツリーを出力しない代わりに，解析結果をイベントとしてSAXに通知します。

このマニュアルではこれらのパーサを総称してXMLパーサと呼びます。

XML文書

XML形式で記述された文書です。

XPath

XML文書の特定の部分を指し示す構文を規定する。XPathを使用すればXML文書中にアンカーを指定しなくても，文書中の任意の位置を指定できます。

XSL

Extensible Stylesheet Languageの略です。XML用のスタイルシートのことで，表示方法を記述するだけでなく，データのコピー，分岐，抽出などのデータ処理を記述することができます。

XSLT

XSL Transformationsの略です。XML文書をスタイルシートに従ったXML文書やHTML，テキストに変換するなどの，XML文書の構造変換を行うための仕様です。

XSLTCトランスフォーマ

XSLTCトランスフォーマは，Cosminexus XML Processorが提供しているXSLTトランスフォーマと同じ機能を持ちながら，XML文書の変換処理時の性能を向上させたものです。XSLTスタイルシートを解析するコンパイラと変換処理を行う実行時プロセッサで構成されます。

XSLTトランスフォーマ

XSLTを実装したプログラムです。XML文書をスタイルシートに従ったXML文書やHTML，テキストに変換することができます。

（ア行）

エンティティ

XML文書中で使用される画像データやPDFファイルなどのファイルや，置換する文字列などのデータを保持する実体です。

（サ行）

スキーマ文書

XML Schemaの仕様に従って記述された，XML文書内の論理的なデータ構造を規定したXML文書です。

（タ行）

データ要素

XML文書の構成要素となるデータです。タグに挟まれた文字列やタグ属性の値を指します。

トランスレット

XSLTCトランスフォーマを構成するコンパイラがXSLTスタイルシートを解析してメモリ上に生成する，Javaのバイトコードです。XML文書の変換処理を高速に実行できます。

索引

[Ｃ][Ｄ][Ｉ][Ｊ][Ｍ][Ｎ][Ｏ][Ｐ][Ｓ][Ｔ][Ｕ][Ｗ][Ｘ]
[ア行][カ行][サ行][タ行][ハ行][マ行][ヤ行]

(英字)

(Ｃ)

Cosminexus XML Processor

位置づけ

概要

サポート範囲

使用時の注意事項

処理の流れ

特長

バージョン間の差異

Cosminexus XML Processorが使用しているパッケージ名

Cosminexus XML Processorが提供するJAXPの機能

Cosminexus XML Processor使用時の注意事項

Cosminexus実行環境でのCosminexus XML Processorの位置づけ

(Ｄ)

DocumentBuilderに解析結果オブジェクトを設定する方法

DOM

DOM API

DOMツリー

DOMツリーを操作するアプリケーションの処理の流れ

DOMパーサ，およびSAXパーサ共通の動作の差異

DOMパーサでShift_JIS切り替え機能を使用する方法

DOMパーサでの解析を行うアプリケーションの処理の流れ

DOMパーサに関する注意事項

DOMパーサの動作の差異

DOMパーサを使用するサンプルプログラム

DOMパーサを使用するサンプルプログラムの作成の流れ

DOMパーサを使用する場合のサンプルプログラム

DTD

(Ｉ)

IANA

(Ｊ)

javax.xml.datatypeパッケージ

javax.xml.datatypeパッケージに関する注意事項

javax.xml.namespaceパッケージ

javax.xml.parsersパッケージ

javax.xml.transform.domパッケージ

javax.xml.transform.saxパッケージ

javax.xml.transform.streamパッケージ

javax.xml.transformパッケージ

javax.xml.validationパッケージ

javax.xml.validationパッケージに関する注意事項

javax.xml.validationパッケージに含まれるクラスを用いてXML文書を検証するアプリケーションの処理の流れ

javax.xml.xpathパッケージ

javax.xml.xpathパッケージに関する注意事項

javax.xmlパッケージ

JAXP

JAXP1.3機能の共通の注意事項

JAXPが規定するパッケージ

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

JAXPが規定するパッケージに含まれるAPIの概要

JAXPでXML文書を解析する流れ

JAXPでXML文書を変換する流れ

JAXPで定義された仕様

JAXPとは

(Ｍ)

MS932

(Ｎ)

Namespaces in XML

(Ｏ)

org.w3c.dom.bootstrapパッケージ

org.w3c.dom.bootstrapパッケージに関する注意事項

org.w3c.dom.eventsパッケージ

org.w3c.dom.lsパッケージ

org.w3c.dom.lsパッケージに関する注意事項

org.w3c.domパッケージ

org.w3c.domパッケージに関する注意事項

org.xml.sax.extパッケージ

org.xml.sax.extパッケージに関する注意事項

org.xml.sax.helpersパッケージ

org.xml.saxパッケージ

(Ｐ)

PreparsedObjectFactoryクラス

PreparsedObjectクラス

(Ｓ)

SAX

SAX2のフィーチャー一覧

SAX2のフィーチャーおよびプロパティの使用方法

SAX2のフィーチャーの使用方法

SAX2のプロパティ一覧

SAX2のプロパティの使用方法

SAXParserに解析結果オブジェクトを設定する方法

SAXイベントを処理するアプリケーションの処理の流れ

SAXパーサでShift_JIS切り替え機能を使用する方法

SAXパーサでの解析を行うアプリケーションの処理の流れ

SAXパーサに関する注意事項

SAXパーサの動作の差異

SAXパーサを使用するサンプルプログラム

SAXパーサを使用するサンプルプログラムの作成の流れ

SAXパーサを使用する場合のサンプルプログラム

Shift_JIS切り替え機能

Shift_JIS切り替え機能

Shift_JIS切り替え機能の設定用メソッド

Shift_JIS切り替え機能のプロパティの使用方法

Shift_JIS切り替え機能を使用する方法

DOMパーサ

SAXパーサ

XSLTトランスフォーマ

SJIS

(Ｔ)

TransformerFactoryXSLTCクラス

TrAX

(Ｕ)

URI

URL

(Ｗ)

W3C

(Ｘ)

XIncludeに関する注意事項

XML

XMLReaderに解析結果オブジェクトを設定する方法

XML Schema

XML SchemaのエラーメッセージとW3C仕様との対応

XML Schemaのプロパティの使用方法

XML Schemaのプロパティの設定方法

DOMパーサ

DOMパーサ

SAXパーサ

SAXパーサ

XML Schemaを使用するサンプルプログラム

XML Schemaを使用するサンプルプログラムの処理の流れ

XML仕様

XMLパーサ

XMLパーサ機能およびXSLTトランスフォーマ機能の処理の流れ

XMLパーサ機能の処理

XML文書

XML文書（purchaseOrder.xml）

XML文書（purchaseOrder-fail.xml）

XML文書のencoding指定と適用される文字エンコーディングとの対応

XML文書の解析

XML文書の解析（高速化定義ファイルを使用する場合）

XML文書のロード，および保存を行うアプリケーションの処理の流れ

XPath

XPath式を評価するアプリケーションの処理の流れ

XSL

XSLT

XSLT/XSLTC共通の注意事項

XSLTCトランスフォーマ

XSLTCトランスフォーマ機能

概要

システムの開発・運用

使用するクラス

使用方法

XSLTCトランスフォーマ機能を使用する場合のプログラム変更

XSLTCトランスフォーマを使用するサンプルプログラム

XSLTCに関する注意事項

XPath式

XSLT要素

エラーを通知しないケース

スタイルシートサイズ

その他

変換処理性能

XSLTトランスフォーマ

XSLTトランスフォーマ機能の処理

XSLTトランスフォーマでShift_JIS切り替え機能を使用する方法

XSLTトランスフォーマを使用するサンプルプログラム

XSLTトランスフォーマを使用するサンプルプログラムの作成の流れ

XSLTに関する注意事項

エラーを通知しないケース

その他

XSLTによる変換を行うアプリケーションの処理の流れ

XSLTの動作の差異

XSLTのフィーチャー一覧

XSLTのフィーチャーの使用方法

XSLTのフィーチャーの使用方法

(ア行)

(え)

エンティティ

(カ行)

(か)

解析結果オブジェクト

解析結果オブジェクトの生成

解析結果オブジェクトの設定

解析結果オブジェクトの設定用メソッド

解析結果オブジェクトを設定する方法

DocumentBuilder

SAXParser

XMLReader

(こ)

高速化定義ファイルの作成

高速化定義ファイルの設定

高速化定義ファイルを使用した高速パース

高速化定義ファイルを使用した高速パースのための作業の流れ

高速化定義ファイルを使用するためのシステムプロパティ

高速パース機能

高速パース機能で使用するクラス

高速パース機能に関する注意事項

XInclude

XML1.1

解析結果オブジェクトの設定

解析結果オブジェクトを利用するXMLパーサ

解析性能

高速化定義ファイル

事前解析用XML文書

絶対パスの指定方法

チューニング情報

高速パース機能の概要

高速パース機能の対象となるparseメソッド

高速パース機能の対象となるparseメソッド（高速化定義ファイルを使用する場合）

高速パース機能のプロパティの使用方法

高速パース機能を使用するためのコード例

高速パースのための作業の流れ

(サ行)

(さ)

サンプルプログラム

DOMパーサを使用する

SAXパーサを使用する

XML Schemaを使用する

XML Schemaを使用する（DOMパーサ）

XML Schemaを使用する（SAXパーサ）

XSLTCトランスフォーマを使用する

XSLTトランスフォーマを使用する

(し)

事前解析の実行タイミング

事前解析の実行タイミングの設定

事前解析の実行タイミングの設定方法

事前解析の実行タイミングを設定するためのシステムプロパティ

事前解析用XML文書

事前解析用XML文書の作成

事前解析用XML文書のチューニング

事前解析用XML文書を作成するための指針

実装依存仕様に関する注意事項

使用できるXMLパーサ，XSLTトランスフォーマなどの機能

処理できる文字コード

処理の流れ

DOMツリーを操作するアプリケーション

DOMパーサでの解析を行うアプリケーション

javax.xml.validationパッケージに含まれるクラスを用いてXML文書を検証するアプリケーション

SAXイベントを処理するアプリケーション

SAXパーサでの解析を行うアプリケーション

XML文書のロード，および保存を行うアプリケーション

XPath式を評価するアプリケーション

XSLTによる変換を行うアプリケーション

日付／時刻型データを処理するアプリケーション

(す)

スキーマ検証に関する注意事項

スキーマ検証の動作の差異

スキーマ文書

スキーマ文書（personalData.xsd）

スキーマ文書（purchaseOrder.xsd）

スキーマ文書をXML文書内で設定する方法

(せ)

設定するプロパティの値とその意味（Shift_JIS切り替え機能）

設定するプロパティの値とその意味（高速パース機能）

(タ行)

(ち)

注意事項

DOMパーサ

javax.xml.datatypeパッケージ

javax.xml.validationパッケージ

javax.xml.xpathパッケージ

JAXP1.3機能

org.w3c.dom.bootstrapパッケージ

org.w3c.dom.lsパッケージ

org.w3c.domパッケージ

org.xml.sax.extパッケージ

SAXパーサ

XInclude

XSLT

XSLT/XSLTC共通

XSLTC

高速パース機能

実装依存仕様

スキーマ検証

チューニングサマリファイル

チューニングサマリファイルの詳細

チューニング詳細ファイル

チューニング詳細ファイルの詳細

チューニング情報の出力先〔高速パース機能〕

チューニング情報の出力方法〔高速パース機能〕

チューニング情報の種類〔高速パース機能〕

チューニング情報の利用方法〔高速パース機能〕

チューニング情報を出力するためのシステムプロパティ〔高速パース機能〕

(つ)

通常の高速パースと高速化定義ファイルを使用した高速パースの相違点

(て)

データ要素

(と)

特定するスキーマ文書の種類と使用する属性の関係

トラブルシュート

トランスレット

(ハ行)

(は)

バージョン間の差異

DOMパーサ，およびSAXパーサ共通の動作の差異

DOMパーサの動作の差異

SAXパーサの動作の差異

XSLTの動作の差異

スキーマ検証の動作の差異

(ひ)

日付／時刻型データを処理するアプリケーションの処理の流れ

(ふ)

フィーチャーおよびプロパティの使用方法

SAX2

Shift_JIS切り替え機能

XML Schema

XSLT

高速パース機能

プログラム作成の流れ

プログラム実行時のトラブルシュート

プログラムの作成方法

(マ行)

(め)

メッセージ

メッセージ一覧

メッセージの形式

(ヤ行)

(よ)

用語解説

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Red Hatは，米国およびその他の国でRed Hat, Inc.の登録商標若しくは商標です。
Solarisは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Sunは，米国Sun Microsystems, Inc.の米国およびその他の国における商標または登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp.の商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).