Порядок атрибутов XML после обработки DOM

Вы не можете использовать открытый ключ для подключения через SSH. Вы должны использовать закрытый ключ.

Открытый ключ используется виртуальной машиной для проверки вашей авторизации для подключения.

Скорее всего, ваш закрытый ключ: ~/.ssh/runnhostkey1

42
задан Fernando Miguélez 7 April 2009 в 21:44
поделиться

4 ответа

Взгляд на раздел 3.1 из рекомендации XML. Это говорит, "Обратите внимание, что порядок спецификаций атрибута в начинать-теге или пустом теге элементов не является значительным".

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

Если это не может быть зафиксировано, и необходимо произвести файлы, которые соответствуют его требованиям, Вы не можете надежно использовать стандартные инструменты XML для создания тех файлов. Например, Вы могли бы попробовать (как Вы предполагаете) для использования XSLT для создания атрибутов в определенном порядке, например:

<test>
   <xsl:attribute name="foo"/>
   <xsl:attribute name="bar"/>
   <xsl:attribute name="baz"/>
</test>

только, чтобы найти, что процессор XSLT испускает это:

<test bar="" baz="" foo=""/>

потому что DOM, что процессор использует атрибуты заказов в алфавитном порядке именем тега. (Это распространено, но не универсальное поведение среди DOMS XML.)

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

25
ответ дан Robert Rossney 26 November 2019 в 23:49
поделиться

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

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

2
ответ дан Soviut 26 November 2019 в 23:49
поделиться

Не возможно переоценить то, что просто сказал Robert Rossney, но я попробую.;-)

Преимущество Международных стандартов - то, что, когда все следуют за ними, жизнь хороша. Все наше программное обеспечение проживает мирно.

XML должен быть одним из самых важных стандартов, которые мы имеем. Это - основание "старого веб-" материала как SOAP и все еще материала 'web 2.0' как RSS и Atom. Именно из-за четких стандартов XML может взаимодействовать между различными платформами.

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

Мы должны пододвинуть обратно очень сильно на любом, кто пишет код, который не обрабатывает XML согласно стандарту. Я понимаю, что в эти экономические времена существует нежелание оскорбить клиентов и деловых партнеров путем высказывания "нет". Но в этом случае, я думаю, что это стоит того. Мы были бы в намного худшей финансовой форме, если бы мы должны были изготовить вручную XML для каждого делового партнера.

Так, не "включайте" компании, которые не понимают XML. Отправьте им стандарт с соответствующими выделенными строками. Они должны прекратить думать, что XML является просто текстом с угловыми скобками в нем. Это просто не ведет себя как текст с угловыми скобками в нем.

Это не похоже существует оправдание за это. Даже самые маленькие встроенные устройства могут иметь полнофункциональные реализации синтаксического анализатора XML в них. Я еще не услышал серьезного основания для неспособности проанализировать стандартный XML, даже если Вы не можете позволить себе полнофункциональную реализацию DOM.

8
ответ дан John Saunders 26 November 2019 в 23:49
поделиться

Robert Rossney сказал это хорошо: при доверии упорядочиванию атрибутов Вы действительно не обрабатываете XML, а скорее, что-то, что похоже на XML.

Я могу думать о по крайней мере двух причинах, почему Вы могли бы заботиться об упорядочивании атрибута. Могут быть другие, но по крайней мере для этих двух я могу предложить альтернативы:

  1. Вы используете несколько экземпляров атрибутов с тем же именем:

    <foo myAttribute="a" myAttribute="b" myAttribute="c"/>
    

    Это - просто недопустимый XML; процессор DOM, вероятно, отбросит все кроме одного из этих значений – если он обработает документ вообще. Вместо этого Вы хотите использовать дочерние элементы:

    <foo>
        <myChild="a"/>
        <myChild="b"/>
        <myChild="c"/>
    </foo>
    
  2. Вы предполагаете, что своего рода различие относится к атрибуту (атрибутам), которые на первом месте. Сделайте это явным, или через другие атрибуты или через дочерние элементы. Например:

    <foo attr1="a" attr2="b" attr3="c" theMostImportantAttribute="attr1" />
    
1
ответ дан svick 26 November 2019 в 23:49
поделиться
Другие вопросы по тегам:

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