Domanda

Sto scrivendo alcuni file XSD per la comunicazione WebService tra un'applicazione e SharePoint .. Sto cercando di rendere i miei parametri "richiesti" ma anche se metto i minoccurs a 1, potrebbero non essere specificati.

Come posso risolvere questo problema? Ecco uno dei miei XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="RemoveGroup"
targetNamespace="http://tempuri.org/RemoveGroup.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/RemoveGroup.xsd"
xmlns:mstns="http://tempuri.org/RemoveGroup.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="RemoveGroup">
<xs:complexType>
  <xs:sequence>
    <xs:element name="tt_group_id" type="xs:long" />
    <xs:element name="tt_network_id" type="xs:string"/>
  </xs:sequence>
  </xs:complexType>
 </xs:element>
 </xs:schema>

Spero che ci sia un modo per non scrivere perseguitato da "if (input.parameter! = Null)" ...

È stato utile?

Soluzione

Usando minOccurs="1" in entrambi i <element/> o <sequence/> Il livello è la cosa corretta da fare. Quale errore specifico stai ricevendo?

AGGIORNARE

In realtà all'interno di a <sequence/> i parser dovrebbero aspettarsi esattamente un'istanza di un elemento

AGGIORNARE

Il parser potrebbe emettere errori come eventi che devi gestire per catturare gli errori: molti parser comuni hanno questo comportamento.

Qualcosa che potrebbe causare un errore è un valore nullo in long Tipo semplice: questo tipo non consente spazi vuoti. Se vuoi indicare che i null sono consentiti, dovresti usare nil=true dallo spazio dei nomi http://www.w3.org/2001/XMLSchema-instance.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top