0

この XSD 要素が定義されています。

<xsd:element name="CU_FIRST_NAME">
    <xsd:annotation>
        <xsd:documentation>
            The first name of the customer that is getting billed for the order
        </xsd:documentation>
    </xsd:annotation>
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="50"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>

これを 1 つの要素で置き換えることができることはわかっていますが、オプションにする必要があるより複雑な要素 (シーケンス) があります。

<xsd:schema>最初の子 (つまり、階層のすぐ下) 要素をオプションにする方法はありますか?

CU_FIRST_NAME明確にするために、ノード全体とそのすべての子をオプションにしたいと思います。

4

2 に答える 2

1

私が使用していた要素は、実際にはより高いレベルのオブジェクト内の参照であることに気付きました。

私がこれを解決した方法は次のとおりです。

元のコード:

<xsd:element ref="CU_FIRST_NAME"/>

新しいコード:

<xsd:element ref="CU_FIRST_NAME" minOccurs="0"/>

だから、本当に私は間違った質問をしていました。

于 2012-08-30T21:04:41.123 に答える
0
<xs:element name="item" maxOccurs="unbounded">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="title" type="xs:string"/>
      <xs:element name="note" type="xs:string" minOccurs="0"/>
      <xs:element name="quantity" type="xs:positiveInteger"/>
      <xs:element name="price" type="xs:decimal"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

minOccurs="0"最初の要素で使用します。これにより、トップを選択した場合、残りを選択する必要があります。しかし、それを子にも入れると、それらはすべてオプションになります。

于 2012-08-30T20:40:51.747 に答える