В настоящее время я создаю схему XML с заголовком, телом и, возможно, ошибками.Я разделяю эти три части на разные пространства имен, поэтому мне интересно, где и когда мне следует помещать объявления пространства имен URI.
Например, должно ли это быть:
<head:schema xmlns:head="http://mywebsite.com/ns/head/" xmnls:body="http://mywebsite.com/ns/body/" xmlns:error="http://mywebsite.com/ns/error/">
<head:Response>
<head:MyFunctionResponse>
<body:DataObject>
<body:Parameter>Foo</body:Parameter>
<body:Parameter>Bar</body:Parameter>
</body:DataObject>
</head:MyFunctionResponse>
</head:Response>
</head:schema>
ТакНесмотря на то, что в данном конкретном документе нет пространства имен «ошибка», оно все равно определено, поэтому, когда пространство имен «тело» заменяется пространством имен «ошибка», <schema>
остается прежним.
Или следуетэто будет больше похоже на это?
<head:schema>
<head:Response xmlns:head="http://mywebsite.com/ns/head/">
<head:MyFunctionResponse>
<body:DataObject xmnls:body="http://mywebsite.com/ns/body/">
<body:Parameter>Foo</body:Parameter>
<body:Parameter>Bar</body:Parameter>
</body:DataObject>
</head:MyFunctionResponse>
</head:Response>
</head:schema>
ИЛИ
<head:schema>
<head:Response xmlns:head="http://mywebsite.com/ns/head/">
<head:MyFunctionResponse>
<error:ThrownException xmnls:body="http://mywebsite.com/ns/error/">
<error:Id>21</error:Id>
<error:Message>Something went wrong.</error:Message>
</error:ThrownException>
</head:MyFunctionResponse>
</head:Response>
</head:schema>
, где пространство имен объявляется только так, как это необходимо.
Илиэто вопрос стиля, мнения или предпочтения.Например, «Сиденье у окна или у прохода?».
Если это не стиль, мнение или предпочтение, какие руководящие идеи стоят за размещением пространств имен?