Порядок атрибутов незначителен в соответствии с Рекомендацией XML :
Обратите внимание, что порядок спецификаций атрибутов в стартовом теге или пустом
blockquote>Поэтому 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-рекомендации и ее следует избегать.
Я использую D для своей исследовательской работы в области компьютерной графики. Мне и другим опубликовали бумаги в наших полях на основе работы, сделанной с помощью D. Я думаю, что это определенно готово к употреблению на малых и средних исследовательских проектах, где производительность имеет значение. Это - хорошее пригодное для исследовательской работы, потому что часто Вы запускаете с нуля так или иначе, таким образом, у Вас нет большого количества унаследованного кода для волнения об интеграции с.
Другая популярная область для использования, кажется, веб-сервисы. Надо надеяться, кто-то еще может прокомментировать, кто находится в этом пространстве, но там также я думаю, что идея состоит в том, что производительность часто действительно имеет значение, таким образом, Вы хотите compiled-to-the-metal язык. Услуги часто являются довольно маленькими, автономными процессами, таким образом, interop с большими объемами кода C++ прежней версии не действительно необходим или полезен. Таким образом D может сделать первый шаг.
я думаю, что D продолжит получать массовых подписчиков таким образом - на меньших проектах, которые по любой причине могут позволить себе угробить наследие C++ для получения языка программирования, который это намного более приятно использовать, и возможно более продуктивный также.
, Но до существует огромное количество массовых пользователей не будет очень в способе крупных корпоративных пользователей, которых я подозреваю.
Я предполагаю, что мы можем считать что-то в отсутствие непосредственных ответов на этот вопрос, и это - то, что не многие/любые acive stackoverflow респонденты используют D. Я был также немного удивлен об уровне его рейтинга в списке TIOBE, что Вы связываетесь с.
Однако Walter Bright работал над языком для множества лет теперь, и я думаю, что у него есть множество 'подписчиков', которые помнят то, что хорошее задание он сделал с компилятором C++ Zortech назад в 90-х. Я также отмечаю, что язык, кажется, склоняется к функциональному направлению теперь.
Много игр, выпущенных , Игры ABA записаны в D 1.x, хотя я предполагаю, что консольные порты должны были быть переписаны в C++.
я записал довольно много игровых прототипов в D, но я не уверен, квалифицирует ли это как 'реальный мир', так как я записал им для моего собственного преимущества и никогда не выпускал ни одного из них.
git diff
шоу целый файл, как изменено. Это обычно происходит когда you' ve сохранил файл с помощью различных окончаний строки от того, чем это было ранее. Это также заставило бы patch
отклонять файл исправления. Это походит на то, что, возможно, произошло?
– Greg Hewgill
10 July 2009 в 12:50
Я использую D в исследовании о переводе кода времени компиляции. Усовершенствованная шаблонная обработка, объединенная с кортежами и mixins, делает перевод кода намного легче и позволяет, чтобы перевод кода был сделан в течение времени компиляции, не требуя отдельного инструмента.
существуют некоторые примеры физиков, использующих D для улучшения их программ с метапрограммированием в D.
видео - разговор о Конференции, не мог найти исходный сайт использования физика.
Я использую D для аппаратных средств в цикле (HIL) тестовая среда. Это для тестов программного обеспечения в автомобильной области. D может использоваться здесь, потому что как системный язык программирования возможно использоваться в режиме реального времени программы (обработчики IRQ в Linux дополнительный RTAI-LXRT в реальном времени).
С продолжающимся портом SWT/JFace я планирую сделать больше и работать в D, который я был бы сделан в Java прежде.
Я делаю работу биоинформатики в D. Для меня ключевая вещь о D состоит в том, что он проявляет очень уравновешенный подход к компромиссам и распознает принцип убывающей доходности.
В отличие от C++, который придерживается строго служебного нулем принципа, D позволяет функции, которым можно было стоить маленькой производительности/пространства, если они делают язык намного более применимым. Они включают сборку "мусора", объект монитора для каждого класса, информации о типе выполнения, и т.д.
В отличие от Ruby, Python, PHP, и т.д., D пытается быть почти с такой скоростью, как C, даже если это менее динамично и немного более трудно к программе в, чем языки сценариев.
результатом является язык, который оптимален, когда и время разработки и время выполнения имеют значение об одинаково, который в моем поле является большую часть времени.
Точно так же D проявляет очень уравновешенный подход к безопасности по сравнению с гибкостью. Это предполагает, что программисты в основном знают то, что они делают, но действительно делают ошибки.
В отличие от C и C++, это предполагает, что Вы не хотите использовать указатели, небезопасные слепки, ручное управление памятью, и т.д., везде в Вашем коде, потому что они подвержены ошибкам, и предполагает, что Вы не хотите отсеивать через многостраничные шаблонные сообщения об ошибках, когда Вы завинчиваете только для использования массивов изменяемого размера.
В отличие от Java и других языков неволи-и-дисциплины, D предполагает, что иногда указатели, небезопасные слепки, ручное управление памятью, и т.д. являются необходимым злом, и предполагает, что Вы достаточно умны для обработки реальных шаблонов, перегрузки оператора, и т.д. не пишущий запутываемый код. Это также предполагает, что можно завинтить и получить доступ к массиву за пределы, но что программист знает лучше всего, какой компромисс должен быть сделан между безопасностью и скоростью в любой данной ситуации. Поэтому, ли массивы являются проверенными границами, просто определяется переключателем компилятора.
Ну, я записал несколько научно-исследовательских работ в D, как имеют других.
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=9466 .
Я использую D для веб-разработки, и это оказалось довольно много более продуктивным по сравнению с C/C++. Существует много платформ на основе ruby/php/python, конечно. Но когда Вы хотите разработать что-то уникальное, которые также должны быть с такой скоростью, как C и почти столь же легки относительно программы с тем, как Вы делаете на многих языках сценария, затем D является хорошим выбором.
Я использовал D для своего исследовательского проекта при разработке глобального алгоритма оптимизации. Я применил его к проблеме учебных нейронных сетей. Вам решать, ли Вы хотите назвать этот "реальный мир".
Моей текущей задачей работы является система для перевода C# в D. Это как часть для проекта прибыли разработать программную систему.
Я знаю об одной небольшой компании, которые отправили продукт почтового сервера в рынок. У них было по крайней мере 2 человека рабочий полный рабочий день на проекте.
кроме того, у крупного игрока в бизнесе IT есть несколько сотрудников, использующих D в больших внутренних проектах.
Далее я знаю об одном финансировании предприятия поиска компании, несколько (по крайней мере 4) сотрудники в меньших компаниях с помощью D или неполный рабочий день или полный рабочий день и по крайней мере пара (включая меня) активно поиск возможностей на консультационном рынке.
я, вероятно, не учел некоторых, что я должен был знать о, и вероятно некоторые, которых я не услышал о, но который все еще существует, поскольку вышеупомянутое - более или менее это, я знаю меня через сообщество.
небольшой процент А моего текущего дохода прибывает из D.
Я записал сценарий обертки, который создает DGCC на OS X
http://github.com/davecheney/make-gdc-apple/tree/master
, я хотел бы получить известие от других программистов DMD там