2016-05-03 5 views
0

私はこのXMLであなたの助けが必要です---> XSD生成+それに名前空間を追加します。 私はもっと説明します。XMLからXSDを生成し、名前空間XSLTを追加してください

XML (これはあなたの返事のためにそれをコピーしたい場合のコードです...)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
        xmlns:urn="urn:enterprise.soap.sforce.com" 
        xmlns:urn1="urn:sobject.enterprise.soap.sforce.com" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

<urn:update> 
    <urn:sObjects xsi:type="urn1:Account"> 
     <urn1:Id>001b0000006mKKqAAM</urn1:Id> 
     <!--You may enter ANY elements at this point--> 
     <AnnualRevenue>9988</AnnualRevenue> 
     <Name>Farell Instruments WYNSYS</Name> 
    </urn:sObjects> 
</urn:update> 
</soapenv:Envelope> 

XSD あなたがお返事のためにそれをコピーしたい場合には(これはコードです... )

<xs:schema attributeFormDefault="unqualified" 
      elementFormDefault="qualified"  
      targetNamespace="urn:enterprise.soap.sforce.com" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="update"> 
<xs:complexType> 
    <xs:sequence> 
    <xs:element name="sObjects"> 
     <xs:complexType> 
     <xs:sequence> 
      <xs:element type="xs:string" name="Id"/> 
      <xs:element type="xs:string" name="Name"/> 
     </xs:sequence> 
     <xs:attribute type="xs:string" name="type"/> 
     </xs:complexType> 
    </xs:element> 
    </xs:sequence> 
</xs:complexType> 

私の要件は、今で属性を渡すことです urn:sObjects xsi:type = "urn1:Account"

しかし、XSDを使用して、私はこれを行うためにXSDマッピングを使用する必要があると思います! 私は完全に失われています。私はいくつかのフォーマットを試しましたが、それでも正しいものは得られません。

XMLの正確なXSD形式を取得する方法を教えてください。

ありがとうございました。 BR、 モハメドアミン。

+0

申し訳ありませんが、私はあなたが欲しいものを得ることはありません。あなたは 'xsi:type'属性が常に' urn1:Account'の値を持っていることをスキーマで表現しますか?または、type属性が指定されている場合は、schemaで指定された型と一致する必要がありますか? – rpy

+0

これは、WSコール中に送信されるXMLです。 <?xml version = "1.0" encoding = "UTF-8"?> 001b0000006mKKqAAMを このNewName 問題はここにある:、それをこのようなものでなければなりません。

答えて

0

XSDスキーマ検証では、xsi:type属性の組み込み定義が使用されます。スキーマ内で特定の値を持たなければならない、またはその値をXSD仕様によって課せられた制約を超えて制約する必要があることを指定することはできません。

xsi:typeの値を制限するXSDスキーマを作成しようとしている場合は、今すぐ試行をやめ、問題の別の解決方法を探すことができます。あなたがそれをやろうとしていないのであれば、何をしようとしているのかを再度説明する必要があります。それは疑問からは分かりません。

+0

実際に私は試してみることをやめました。ありがとう。 XSLTを使って値を変更しようとしました。 をご確認ください: http://stackoverflow.com/questions/37007562/xslt-replace-attribute-and-its-value –

関連する問題