Есть ли какое-либо различие между 'допустимым xml' и 'хорошо сформированным xml'?

Изменить: этот ответ для IE & lt; 7, для современных браузеров проверьте ответ Джонатана выше.

Редактирование: этот ответ устарел и Ответ Джонатана выше (JSON.parse(jsonString)) теперь лучший ответ.

JSON.org имеет парсер JSON для многих языков, включая 4 разных для Javascript. Я считаю, что большинство людей рассмотрят json2.js свою реализацию goto.

75
задан Rinzwind 9 May 2012 в 17:23
поделиться

9 ответов

Существует различие, да.

XML, который придерживается стандарт XML , считают хорошо сформированным, в то время как xml, который придерживается DTD, считают допустимым.

78
ответ дан Attila 24 November 2019 в 11:34
поделиться

Ну, XML, который не хорошо формируется, вид по определению, не является XML. Poeple обычно обращаются к допустимому XML как XML, который придерживается определенной схемы (XSD или DTD).

0
ответ дан Mathias Müller 24 November 2019 в 11:34
поделиться

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

1
ответ дан Joel Coehoorn 24 November 2019 в 11:34
поделиться

В дополнение к вышеупомянутому DTD существует 2 других способа описать и проверить XML-документы, XMLSchema и RelaxNG, оба из которых могут быть легче использовать и поддерживать больше функций, чем DTD.

1
ответ дан Kyle Burton 24 November 2019 в 11:34
поделиться

XML правильно построен, если отвечает требованиям для всех XML-документов, изложенных стандартами - так вещи как наличие единственного корневого узла, наличие узлов, правильно вложенных, все узлы, имеющие закрывающий тэг (или использующие пустую стенографию узла наклонной черты перед закрывающей угловой скобкой), атрибуты, заключаемые в кавычки и т.д. Быть правильно построенным просто означает, что придерживается правил XML и может поэтому быть проанализировано правильно.

XML допустим, если он проверит против DTD или схемы. Это, очевидно, отличается от случая до случая - XML, который допустим против одной схемы, не будет допустимо против другой схемы, даже при том, что это все еще правильно построено.

, Если XML не правильно построен, он не может быть правильно проанализирован - синтаксические анализаторы просто выдадут исключение или сообщат об ошибке. Это универсально, и не имеет значения, что содержит Ваш XML. Только, как только это анализируется, может он быть проверенным на законность. Этот домен или контекстно-зависимый и требует, чтобы DTD или схема проверили против. Для простых XML-документов у Вас не может быть DTD или схемы, в этом случае Вы не можете знать, допустим ли XML - понятие или законность просто не применяются в этом случае. Конечно, это не означает, что Вы не можете использовать его, это просто означает, что Вы не можете сказать, допустимо ли это.

4
ответ дан Simon Forrest 24 November 2019 в 11:34
поделиться

Правильно построенный XML является XML, который отвечает синтаксическим требованиям языка. Пропавшие без вести любых закрывающих тэгов, наличие всего Вашего одиночного элемента отмечают использование <whatever /> вместо всего <whatever> и наличие Ваших закрывающих тэгов в правильном порядке.

Допустимый XML является XML, который использует DTD и выполняет все его требования. Таким образом, при использовании атрибута неправильно Вы нарушаете DTD и не допустимы.

Весь допустимый XML правильно построен, но не весь правильно построенный XML допустимо.

6
ответ дан ZachPruckowski 24 November 2019 в 11:34
поделиться

Как другие сказали, правильно построенный XML соответствует спецификации XML, и допустимый XML соответствует данной схеме.

Другой способ поместить его состоит в том, что правильно построенный XML лексически корректен (это может быть проанализировано), в то время как допустимый XML грамматически корректен (это может быть подобрано к известному словарю и грамматике).

XML-документ не может быть действительным, пока это не правильно построено. Все XML-документы сохранены к тому же стандарту для отмеченности (RFC, произведенный W3). Один XML-документ может быть действительным против некоторых схем и недопустимым против других. Существует много языков схемы, многие из которых самостоятельно основаны на XML.

16
ответ дан LarsH 24 November 2019 в 11:34
поделиться

Допустимый XML является XML, который следует за проверкой против DTD.

Хорошо сформировался, XML является XML, который имеет все теги, закрытые в надлежащем порядке и, если это имеет объявление, это имеет его сначала вещь в файле с надлежащими атрибутами.

, Другими словами, законность относится к семантике, отмеченность относится к синтаксису.

, Таким образом, Вы можете иметь недопустимый хорошо, сформировал XML.

27
ответ дан Vinko Vrsalovic 24 November 2019 в 11:34
поделиться

Если XML подтверждает правила DTD, то это действительный XML. Если XML-документ соответствует правилам XML (все теги запущены закрыты, есть корневой элемент и т. д.) тогда это правильно сформированный XML.

1
ответ дан 24 November 2019 в 11:34
поделиться
Другие вопросы по тегам:

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