См. Этот пример из RFC2518 :
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>http://www.foo.bar/container/</D:href>
<D:propstat>
<D:prop xmlns:R="http://www.foo.bar/boxschema/">
<R:bigbox>
<R:BoxType>Box type A</R:BoxType>
</R:bigbox>
<R:author>
<R:Name>Hadrian</R:Name>
</R:author>
<D:creationdate>
1997-12-01T17:42:21-08:00
</D:creationdate>
WebDAV позволяет получать / настраивать частично предопределенные или произвольные пары ключ / значение.Здесь один реквизит получен из пространства имен «DAV:», «creationdate», сокращенно «D».Другой из пространства имен "http://www.foo.bar/boxschema/", обозначенный его сокращенной буквой" R ".
Я понимаю первое, но что насчет второго? Как структура данных JSON это читается как
{
"DAV:": {
"creationdate": "1997-12-01T17:42:21-08:00"
},
"http://www.foo.bar/boxschema/": {
"bigbox": {
"BoyType" : "Box Type A"
},
"author": {
"Name" : "Hadrian"
}
}
}
Как я понимаю, WebDAV ресурсы должны иметь возможность устанавливать / получать пары ключ-значение , но в RFC здесь представлена вложенная многоуровневая структура данных! Как мне их расплющить?к парам ключ-значение? Или я получаю неправильное вложение в XML, есть ли что-то, что мне нужно выбросить / пропустить? Это объясняет это ...
$key{'DAV:creationdate'} = "1997-12-01T17:42:21-08:00";
$key{'http://www.foo.bar/boxschema/.bigbox.BoxType'} = "Box Type A";
или что ?? Какребята, вы справляетесь с этим? Любая помощь приветствуется!