TIBCO EBX®を使用すると、データモデルのカスタムラベルとエラーメッセージをインターフェイスに表示できます。
データモデルの各ノードにラベルと説明を追加できます。 EBX®では、各ノードがそのラベルとともに表示されます。ラベルが定義されていない場合は、エレメントの名前が使用されます。
2つの異なる表記法を使用できます。
Full(フル) | ラベルと説明は、それぞれエレメント |
Simple(シンプル) | ラベルはテキストコンテンツから抽出され、最初のピリオド( ' |
説明には、外部ドキュメントへの標準HTML href
、またはEBX®内の適応の別のノードへのリンクのいずれかのハイパーリンクが含まれる場合もあります。
href
表記またはその他のHTMLを使用する場合は、適切にエスケープする必要があります。
EBX®リンク表記はエスケープされないため、ターゲットのパスを指定する必要があります。次に例を示します。
<osd:link path="../misc1">で適応内</osd:link>の他のノードへリンクします。
例:
<xs:element name="misc1" type="xs:string"> <xs:annotation> <xs:documentation> Miscellaneous 1. This is the description of miscellaneous element #1. Click <a href="https://www.tibco.com" target="_blank">here</a> to learn more. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="misc2" type="xs:string"> <xs:annotation> <xs:documentation> <osd:label> Miscellaneous 2 </osd:label> <osd:description> This is the miscellaneous element #2 and here is a <osd:link path="../misc1"> link to another node in the adaptation</osd:link>. </osd:description> </xs:documentation> </xs:annotation> </xs:element>
ノードが名前付きタイプを指している場合、ノードのラベルが名前付きタイプのラベルに置き換わります。同じメカニズムがノードの説明にも適用されます(エレメント osd:description
)。
空白の管理に関しては、ノードのラベルは表示時に常に折りたたまれています。つまり、連続する一連のブランクが1つのブランクに折りたたまれ、先頭と末尾のブランクが削除されます。ただし、説明では、空白は常に保持されます。
各ノードのローカライズされたラベルと説明を静的に定義する代わりに、データモデルのノードのラベルと説明をプログラムで決定するJavaクラスを指定することができます。クラスを定義するには、データモデルに属性class
を持つエレメント osd:documentation
を含めます。ネストされたパラメーターエレメントを使用してJavaBeanプロパティを渡すことができます。
例:
<xs:schema ...> <xs:annotation> <xs:appinfo> <osd:documentation class="com.foo.MySchemaDocumentation"> <param1>...</param1> <param2>...</param2> </osd:documentation> </xs:appinfo> </xs:annotation> ... </xs:schema ...>
プログラムで提供されるラベルと説明は、個々のノードでローカルに定義されているものよりも優先されます。
列挙型では、属性osd:label
を使用して、ローカライズされていない単純なラベルを各列挙型エレメントに追加できます。
列挙型エレメントに定義されたラベルは、表示時に常に折りたたみ
されます。
例:
<xs:element name="Service" maxOccurs="unbounded"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="1" osd:label="Blue" /> <xs:enumeration value="2" osd:label="Red" /> <xs:enumeration value="3" osd:label="White" /> </xs:restriction> </xs:simpleType> </xs:element>
標準のxs:documentation
エレメントを使用して、ラベルを完全にローカライズすることもできます。ローカライズされていないラベルとローカライズされたラベルの両方が列挙エレメントに追加された場合、ローカライズされていないラベルは、ラベルが定義されていないロケールで表示されます。
例:
<xs:element name="access" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="readOnly"> <xs:annotation> <xs:documentation xml:lang="en-US"> read only </xs:documentation> <xs:documentation xml:lang="fr-FR"> lecture seule </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="readWrite"> <xs:annotation> <xs:documentation xml:lang="en-US"> read/write </xs:documentation> <xs:documentation xml:lang="fr-FR"> lecture écriture </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="hidden"> <xs:annotation> <xs:documentation xml:lang="en-US"> hidden </xs:documentation> <xs:documentation xml:lang="fr-FR"> masqué </xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> </xs:element>
ノードが属性minOccurs="1"
(デフォルトの動作)を指定している場合、ユーザーがフィールドに入力しないと、提供する必要のあるエラーメッセージが表示されます。このエラーメッセージは、エレメント osd:mandatoryErrorMessage
を使用して、ノードごとに具体的に定義できます。
例:
<xs:element name="birthDate" type="xs:date"> <xs:annotation> <xs:documentation> <osd:mandatoryErrorMessage> Please give your birth date. </osd:mandatoryErrorMessage> </xs:documentation> </xs:annotation> </xs:element>
必須のエラーメッセージはローカライズできます。
<xs:documentation> <osd:mandatoryErrorMessage xml:lang="en-US"> Name is mandatory </osd:mandatoryErrorMessage> <osd:mandatoryErrorMessage xml:lang="fr-FR"> Nom est obligatoire </osd:mandatoryErrorMessage> </xs:documentation>
空白の管理に関しては、列挙ラベルは表示時に常に折りたたまれますされます。
事前定義されたXMLスキーマエレメントごとに、ユーザーエントリの形式が正しくない場合に特定のエラーメッセージを定義することができます。
例:
<xs:element name="email" type="xs:string"> <xs:annotation> <xs:documentation> <osd:ConversionErrorMessage xml:lang="en-US"> Please enter a valid email address. </osd:ConversionErrorMessage> <osd:ConversionErrorMessage xml:lang="fr-FR"> Saisissez un e-mail valide. </osd:ConversionErrorMessage> </xs:documentation> </xs:annotation> </xs:element>
フィールドの値が制約に準拠していない場合に表示される検証メッセージは、カスタムの重大度、デフォルトの非ローカライズされたメッセージ、およびローカライズされたメッセージのバリアントを定義できます。重大度が指定されていない場合、デフォルトのレベルはエラー
です。ブロッキング制約は必須の重大度エラー
を持っている必要があります。
検証メッセージは、ファセットの定義の下にあるannotation/appinfo
のエレメント osd:validation
によって記述されます。
例:
<xs:element name="zipCode"> <xs:simpleType> <xs:restriction base="xs:string"> <!--facet is not localized, but validation message is localized--> <xs:minInclusive value="01000"> <xs:annotation> <xs:appinfo> <osd:validation> <severity>error</severity> <message>Non-localized message.</message> <message xml:lang="en-US">English error message.</message> <message xml:lang="fr-FR">Message d'erreur en français.</message> </osd:validation> </xs:appinfo> </xs:annotation> </xs:minInclusive> </xs:restriction> </xs:simpleType> </xs:element>
検証メッセージは、フィールドの定義の下にあるannotation/appinfo
のエレメント osd:enumerationValidation
によって記述されます。
例:
<xs:element name="Gender"> <xs:annotation> <xs:appinfo> <osd:enumerationValidation> <severity>error</severity> <message>Non-localized message.</message> <message xml:lang="en-US">English error message.</message> <message xml:lang="fr-FR">Message d'erreur en français.</message> </osd:enumerationValidation> </xs:appinfo> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="0" osd:label="male" /> <xs:enumeration value="1" osd:label="female" /> </xs:restriction> </xs:simpleType> </xs:element>
検証メッセージは、ファセットの定義(annotation/appinfo/otherFacets
で定義されている)の下のエレメント osd:validation
によって記述されます。
例:
<xs:element name="price" type="xs:decimal"> <xs:annotation> <xs:appinfo> <osd:otherFacets> <osd:minInclusive path="../priceMin"> <osd:validation> <severity>error</severity> <message>Non-localized message.</message> <message xml:lang="en-US">English error message.</message> <message xml:lang="fr-FR">Message d'erreur en français.</message> </osd:validation> </osd:minInclusive> </osd:otherFacets> </xs:appinfo> </xs:annotation> </xs:element>