2008-09-26 76 views
0

這是否是有效的SOAP/XML?SOAP/XML中的命名空間範圍

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <CreateRoute xmlns="urn:Routs"> 
      <aRoute> 
       <name>ToTheTop</name> 
       <grade xsi:type="FrencGrade"> 
        <gradeNumber>7</gradeNumber> 
        <gradeModifier>a</gradeModifier> 
       </grade> 
      </aRoute> 
     </CreateRoute> 
    </soap:Body> 
</soap:Envelope> 

如果是這樣的話:FrenchGrade屬於哪個命名空間?它在urn:Routs命名空間中嗎?

+0

是否附加到提供WSDL的服務? WSDL應該告訴你該元素在哪個名稱空間中(另外,其他人不會有這種類型,但仍然是)。 〜還有@Kim,如果是,你會在下面接受你的答案嗎? – jcolebrand 2010-05-24 22:49:25

回答

2

是的,這是正確的。通過這樣做:

<CreateRoute xmlns="urn:Routs"> 

...你更改默認命名空間urn:Routs。這意味着所有無前綴的子元素將存在於這個新的名稱空間中。

當然,除非:

  • 你明確地使用不同的前綴
  • 您創建一個新的子元素和更改其默認命名空間增加新的元素,在這種情況下,它的孩子們將在這個新命名空間
+0

沒問題,我只需要處理它... – Kim 2008-09-26 13:41:17