Порядок атрибутов в XML-преобразовании XSLT [дубликат]

2017 ответ: теперь вы можете делать то, что хотите, в каждом текущем браузере и узле

. Это довольно просто:

  • Вернуть обещание
  • Используйте 'await' , в котором JavaScript ожидает, что обещание будет разрешено в vlue (например, hTTP-ответ)
  • Добавьте 'async' для родительской функции

Вот рабочая версия вашего кода:

(async function(){

var response = await superagent.get('...')
console.log(response)

})()

ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]

3
задан Deduplicator 11 February 2015 в 00:08
поделиться

2 ответа

Порядок атрибутов незначителен в соответствии с Рекомендацией XML :

Обратите внимание, что порядок спецификаций атрибутов в стартовом теге или пустом

Поэтому XSLT не дает возможности управлять упорядочением атрибутов на выходе.

Порядок атрибутов в Рекомендациях W3C

В целом, в рекомендациях XML все рассмотрят, что порядок атрибуции невелик, но см. Раздел об обработке атрибутов в Рекомендации по нормализации XML или Canonical XML Recommendation , если ваше приложение нуждается в упорядочении атрибутов. Однако вам придется делать это за пределами стандартного XSLT.

Атрибут упорядочения реализации хаков

Если вы признаете, что наложение порядка на атрибуты XML является внутренне ошибочным, вопреки интероперабельности, и полностью выходит за рамки как Рекомендации XML, так и установленных методов работы с XML, и все же вы все же должны управлять упорядочением атрибутов, вот некоторые способы реализации такого управления ...

Как упоминает Майкл Кей в другом ответе на этот вопрос, Saxon 9.5 (PE или выше) имеет расширение XSLT, которое обеспечивает контроль за упорядочением атрибутов сериализатора. Подробнее см. В saxon:attribute-order .

Вы можете выполнить пост-обработку XML, созданного стандартным XSLT. Работая под уровнем библиотеки XML, вы можете, конечно, получить полный лексический контроль упорядочения атрибутов с помощью обработки символьного или строкового уровня.

Вы могли бы положиться на репликационные детали заказа, предоставляемые библиотекой XML. Например, некоторые библиотеки будут записывать атрибуты в алфавитном порядке в соответствии с именами атрибутов или сохраняют предоставленный им порядок атрибутов. Очевидно, что полагаться на детали реализации по своей сути ненадежны. Тем не менее, вполне вероятно, что реализации, например, XMLStreamWriter.writeAttribute будут продолжать выполнять порядок атрибутов, данных им в будущем.

Последнее повторение реальный ответ на все вопросы упорядочения атрибутов XML в порядке до закрытия ...

Обработка атрибутов XML как имеющих упорядочение противоречит XML-рекомендации и ее следует избегать.

7
ответ дан kjhughes 27 August 2018 в 20:14
поделиться

Saxon 9.5 (PE или выше) предоставляет параметр сериализации saxon:attribute-order, который позволяет вам управлять порядком атрибутов, сгенерированным сериализатором. Хотя порядок атрибутов не должен иметь никакого значения для какого-либо разумного принимающего приложения, последовательное упорядочение может улучшить читабельность XML для XML, и поскольку удобство чтения человеком является одной из целей XML, я подумал, что это разумная функция для добавления.

3
ответ дан Michael Kay 27 August 2018 в 20:14
поделиться
Другие вопросы по тегам:

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