0

次の2つの例のいずれかを検証できるxsdを作成するにはどうすればよいですか?

<element attribute="attribute-value" />

<element attribute="attribute-value">element-value</element>
4

3 に答える 3

1

これに使用xsd:simpleContentします。これが例です。

于 2012-01-14T02:47:05.737 に答える
1
  <?xml version="1.0" encoding="utf-8"?>
  <xs:schema id="test"
      targetNamespace="http://tempuri.org/test.xsd"
      elementFormDefault="qualified"
      xmlns="http://tempuri.org/test.xsd"
      xmlns:mstns="http://tempuri.org/test.xsd"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
  >
    <xs:complexType name="element_type">
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="attribute" type="xs:string" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>

    <xs:element name="root">
      <xs:complexType>
        <xs:sequence>
          <xs:element name="element" type="element_type">
          </xs:element>
        </xs:sequence>
      </xs:complexType>
    </xs:element>
  </xs:schema>

これは、属性が不要であることを前提としています。

于 2012-01-14T02:56:44.843 に答える
0

完全を期すために、次のようにいくつかの検証パラメーターを追加しました。

<xsd:element name="element">
  <xsd:complexType>
    <xsd:simpleContent>
        <xsd:extension base="OptionalString">
            <xsd:attribute name="row" type="xsd:positiveInteger"
                use="required" />
        </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
</xsd:element>

<xsd:simpleType name="OptionalString">
<xsd:restriction base="xsd:string">
    <xsd:minLength value="0" />         
</xsd:restriction>
</xsd:simpleType>

これは、上記で提案されたソリューションとは異なりますか?

于 2012-01-18T02:32:59.687 に答える