Пробельный коллапс XmlSchema: Что происходит с несколькими пробелами?

Одним словом: Нет .

resetPasswordByToken - это не «объект-обертка», а просто поле, которое вы определили в своей схеме, которое преобразуется в объект (в данном случае, UserType). Хотя обычно запрашивается только одно поле для вашего типа mutation за раз, можно запросить любое количество полей:

mutation {
  resetPasswordByToken(token:"my-token"){
    id
  }
  someOtherMutation {
    # some fields here
  }
  andYetAnotherMutation {
    # some other fields here
  }
}

Если бы мы сгладили структуру ответа, как вы предлагаете, мы не сможем отличить данные, возвращаемые одной мутацией от другой. Мы также должны вложить все это в data, чтобы отделить наши фактические данные от любых возвращенных ошибок (которые появляются в отдельной записи errors).

6
задан Brandon Wamboldt 15 May 2014 в 12:24
поделиться

1 ответ

Так как это говорит, что, ведя и запаздывая пробел удален, который означает, что строка, которая содержит только пробел, будет свернута к пустой строке. XmlSpy точен в проверке, и.NET щедра (или совершает ошибку).

Это согласно Нормализации Пробела во время Проверки от Части 1 XML-схемы: Структуры Второй Выпуск.

сохранить
Никакая нормализация не сделана, значение · нормализованное значение ·
замена
Все случаи #x9 (вкладка), #xA (перевод строки) и #xD (возврат каретки) заменяются> с #x20 (пространство).
коллапс
Последующий за заменами, указанными выше под заменой, непрерывные последовательности #x20s сворачиваются к единственному #x20, и начальная буква и/или финал #x20s удалены.

Таким образом сначала весь пробел заменяется символами пробела, вторые непрерывные последовательности заменяются единственным символом пробела, третью и в последний раз, начальные и заключительные пробелы удалены. После этой последовательности строка, содержащая только пробел, должна быть нормализована к пустой строке во время проверки.

6
ответ дан 17 December 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: