SOAP / XML中的命名空间范围

时间:2008-09-26 13:28:38

标签: xml soap

这是有效的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名称空间?

1 个答案:

答案 0 :(得分:2)

是的,这是正确的。通过做:

<CreateRoute xmlns="urn:Routs">

...您正在将默认命名空间更改为urn:Routs。这意味着所有未加前缀的子元素都将存在于此新命名空间中。

除非当然:

  • 使用不同的前缀明确添加新元素
  • 您创建一个新的子元素并更改其默认命名空间,在这种情况下,其子项将位于该新命名空间中