Помогите мне понять это объявление ключа / значения XML из спецификации WebDAV - PullRequest
0 голосов
/ 24 августа 2010

См. Этот пример из 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";

или что ?? Какребята, вы справляетесь с этим? Любая помощь приветствуется!

1 Ответ

1 голос
/ 24 августа 2010

Вы действительно должны смотреть на RFC 4918 , а не RFC 2518.

Чтобы ответить на ваш вопрос: свойства WebDAV по сути представляют собой фрагменты XML, которые могут быть простыми (простой текст) или более сложными. Подробнее см. Раздел 4.3 .

И да, это трудно представить в JSON.

...