0

属性が 1) 不要、2) 使用時に .i) null または空、または .ii) 正規表現で検証される (希望する) バージョン文字列である場合があります。

2.i に関して、nillable な属性を作成するにはどうすればよいですか? xml と xsds を使った短い時間の間に、これはまだ見たことがありません

編集:「attribute_1」が私の状況に対応する、私が話していることの例を追加します

<xsd:element attribute_1="x" attribute_2="y" />
<!-- or -->
<xsd:element attribute_2="y" />
<!-- or -->
<xsd:element attribute_1="" attribute_2="y" />
4

2 に答える 2

0

XSD では、「nillable」は要素にのみ適用される技術用語です。nillability を使用すると、空であってもコンテンツが有効である必要がある型の要素を使用できます。したがって、提起された質問に対する答えは「いいえ、属性をnillableにすることはできません」です。

一方、あなたが説明するのは、指定されていない可能性があり(use="optional"属性宣言で達成できる)、空の文字列を有効な値として許可する属性です(これはすでに xs:string のプロパティです)。ということで、「空の文字列で指定した属性を省略可能かつ有効にできますか?」という質問に対する答えは、次のとおりです。はい」です。

"" は xs:string の有効な値であるため、minLength="0"指定するパターンも必要ありません。xs:string として型指定された属性の空の文字列を拒否するバリデーターがある場合、バリデーターが壊れています。

于 2013-06-21T16:28:46.430 に答える
0

要素の複合型を作成し、次のように属性を「オプション」として宣言する必要があります。

<xs:element name="tElementType">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="myelement" type="xs:string"/>           
    </xs:sequence>
    <xs:attribute name="myattribute" type="xs:string" use="optional"/>
  </xs:complexType>
</xs:element>-
<xs:element name="thisIsMyRealElement" type="tElementType" />

http://www.w3schools.com/Schema/schema_example.aspを参照してください。

それが役立つことを願っています;)

于 2013-06-10T17:09:18.620 に答える