Cosminexus SOAPアプリケーション開発ガイド
xsd:include要素を定義することで,同じ名前空間に属するXML Schemaをインクルードできます。
XML Schemaのインクルードの概念を次の図に示します。
図3-13 XML Schemaのインクルード
XML Schemaをインクルードすることで,インクルード対象のXML Schemaの要素および属性を参照できます。XML Schemaの型定義を参照する場合,同じファイル内に参照する型定義がなくても,型定義を記述したXML Schemaのファイルをインクルードすれば参照できます。
XML Schemaの要素および属性を参照できる場合の例を示します。
図3-14 XML Schemaの要素および属性を参照できる場合(インクルード)
対象となるXML Schemaをインクルードしない場合は,別のファイルに記述されたXML Schemaの要素および属性を参照できません。また,別のファイルを介して,間接的にXML Schemaの要素および属性を参照することはできません。
XML Schemaの要素および属性を参照できない場合の例を示します。
図3-15 XML Schemaの要素および属性を参照できない場合(インクルード)
xsd:include要素の書式と属性を示します。
<xsd:include schemaLocation="インクルード対象のXML Schemaのファイル名"/>
xsd:include要素の構文,および定義時の注意事項を示します。
xsd:include要素は,次に示す規則に従って記述してください。
インクルード対象のXML Schemaでは,ルート要素をxsd:schema要素にしてください。また,インクルード対象のxsd:schema要素のtargetNamespace属性には,インクルード元のtargetNamespace属性と同じ値を定義してください。
xsd:schemaの子要素にxsd:include要素を複数行記述することで,複数のXML Schemaをインクルードできます。ただし,ファイル名(schemaLocation属性の値)が重複した場合はインクルードできません。
XML Schemaをインクルードする場合の定義例を示します。
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://dictionary.com" xmlns:intf="http://dictionary.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema targetNamespace="http://dictionary.com"> ... <xsd:include schemaLocation="Data.xsd"/> ... </xsd:schema> </wsdl:types> ... </wsdl:definitions>
<?xml version="1.0" ?> <xsd:schema targetNamespace="http://dictionary.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:complexType name="Data"> <xsd:sequence> <xsd:element name="date" nillable="true" type="xsd:string"/> <xsd:element name="title" nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema>
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.