2009-07-01 2 views
8

Я хотел бы знать, есть ли какие-либо стандарты кодирования xml.Существуют ли стандарты кодирования для XML-файлов?

<?xml version="1.0"?> 
<overlay id="tutorboy-toolbar-Overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
    <toolbox id="navigator-toolbox"> 
     <toolbar id="tutorboy-toolbar-Toolbar" 
        toolbarname="TutorBoy Toolbar" 
        accesskey="T" 
        class="chromeclass-toolbar" 
        context="toolbar-context-menu" 
        hidden="false" 
        persist="hidden"> 
       <toolbarbutton label="TutorBoy" 
           id="tutorboy-toolbar-button-home" 
           accesskey="d" 
           image="chrome://tutorboy-toolbar/skin/logo.png" 
           oncommand="loadURL('http://tutorboy.com');" 
           tooltiptext="Click here to go to the Tutorboy.com homepage." /> 

этот способ размещения разрешен?

+0

Вас интересует «standerds» или «standers»? –

+0

Неясный вопрос, пожалуйста, уточните. – VolkerK

+1

xml не является языком программирования;) –

ответ

13

В W3C определяет рекомендацию спецификации XML: http://www.w3.org/TR/REC-xml/

Поскольку вы сузили свой вопрос форматирования XML, нет никакого «универсальный» ответ на то, как должен быть отформатирован ваш XML. Помимо соответствия любому DTD или схеме, с которой вы сталкиваетесь, важность конкретного интервала/отступов ваших тегов лежит на людях, которые будут иметь дело с вашими данными.

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

Если вы создаете документ XML, который другие читают/изменяют на регулярной основе, то, очевидно, вам стоит обратить внимание на то, чтобы документ был удобочитаемым. То, что является «читаемым», определяется всеми участниками этой конкретной команды или проекта.

+1

Точно. Белое пространство должно быть совершенно бессмысленным для семантики, а его присутствие или отсутствие - это вопрос вкуса. И поскольку XML в первую очередь * не * предназначен для чтения человеком, форматирование не вызывает особой озабоченности. – GalacticCowboy

+2

@Jeff L Я уверен, когда впервые было задумано, что XML не будет широко использоваться людьми. Но я программист на контракт .Net/WPF и Android. В обеих средах я ежедневно ложаюсь на локти в глубоком XML, потому что это их язык форматирования интерфейса. Microsoft имеет инструмент под названием Expression Blend, чтобы разрешить дизайн XAML WYSIWYG, но это очень дорогостоящий инструмент, поэтому я никогда не видел его в любом магазине, в котором я работал. Собственный визуальный дизайнер Visual Studio требует обширной настройки полученного XAML. Android/Eclipse в значительной степени требует ручного кодирования. – user316117

+1

@GalacticCowboy «XML-документы должны быть четкими и понятными для человека». от http://www.w3.org/TR/REC-xml/#sec-origin-goals - пункт 6. –

2

http://en.wikipedia.org/wiki/XML

Посмотрите под «оформленности»

Там не много стандартов, так как он предназначается, чтобы быть очень гибким.

+0

В частности, опубликованный XML не является корректным. Те, которые вас будут интересовать: это может быть только один элемент на уровне корня, и каждый тег, который не является самозакрывающимся (не заканчивается на />), должен иметь закрывающий тег. – GalacticCowboy

4

Ну, я хотел бы предложить, глядя на

http://www.xfront.com/BestPracticesHomepage.html или результаты любого поиска Google в соответствии с XML передового опыта.

Я бы сказал, что стандарты включают ссылку на файл XSD, правильные escape-символы; и т.д. и т.п.

3

Существует одно ссылочное форматирование, XML Canonical, которое реализовано в таких инструментах, как xmllint (опция --c14n). Поэтому эти инструменты могут использоваться как симпатичные принтеры.

Но, конечно, вы не вынуждены его использовать. Как и любые правила форматирования, это вопрос вкуса. Просто будьте последовательны.

+0

На самом деле это своего рода стандарт форматирования. ИМХО это отвечает на вопрос. – Boldewyn

+1

Это не будет стандартизировать отступы. xml-c14n является агностическим и поэтому сохраняет большинство пробелов (например, отступы) при преобразовании документа в его каноническую форму. Не зная схемы, невозможно узнать, какое пробел семантически важно. То, что выглядит как прорезь отступа, может быть семантически важным контентом в элементах [смешанного контента] (http://www.w3.org/TR/REC-xml/#sec-mixed-content). –

0

Предлагаю вам взглянуть на XMLPatterns. Вы не найдете предложений «стиль кодирования», но вы найдете интересные шаблоны проектирования (a la GangOfFour) для структуры документов XML.

Для «стиля кодирования» я бы проверил примеры и попытался имитировать их. Если вы сомневаетесь, попробуйте разные стратегии и найдите тот, который ясен и привлекателен. Мое мнение о вашем примере положительно. Однако имена тегов/атрибутов могут быть проблемой: в нижнем регистре нет интервалов, в нижнем регистре с подчеркиванием, в верблюжьем футляре, в заглавном листе верблюда?

1

как общее правило: Поместите данные в отдельные элементы и метаданные в атрибуты.

Смежные вопросы