Я работаю с OSIS (Открытый стандарт библейской информации), XML-схемой для описания Священных Писаний и связанного с ними текста. Когда я впервые взглянул на образец XML, я заметил некоторые странности, которых раньше не видел в XML. В основном закрываются теги, за которыми следует контент, который логически должен принадлежать закрытому тегу. После просмотра документации я обнаружил, что этот тип разметки называется «Вехи».
В данном случае он используется, потому что цитата может начинаться с одного стиха и охватывать несколько стихов, прежде чем закрыться. Это похоже на взлом, и мне придется написать код для анализа, поиска и отображения разделов XML для Интернета. Хотя я понимаю, что это технически допустимый XML, его нельзя [легко] проверить по схеме на правильность, а стандартные API-интерфейсы синтаксического анализа XML не смогут захватывать элементы между вехами. Я считаю, что есть лучшие способы формирования этого «стандарта». Что вы думаете об этом типе разметки? Других упоминаний об этой практике я толком не нашел, где еще она используется. Это действительно?
Из документации...
В XML нормальная форма элемента — это начальный тег и конечный тег: ‹q›...‹/q›. Однако для обработки разметки, выходящей за границы, необходимо использовать специальную форму. Он состоит из двух абсолютно пустых экземпляров одного и того же типа элемента: один для обозначения начальной точки, а другой для обозначения конечной точки. Два пустых элемента идентифицируют себя относительно начала и конца, а также совместно идентифицируют себя с помощью атрибута sID (начало традиционного элемента) и eID. атрибут strong> (конец традиционного элемента), значения которого должны совпадать.
Пустые элементы обозначаются в XML тегом с «/» перед последним «>»: таким образом, ‹q/›, а не ‹q› или ‹/q›. Элементы, используемые таким образом, обычно называются «вехами», а те конкретные элементы в OSIS, которые допускают такое альтернативное кодирование, называются «вехами».
Вот краткий пример...
<verse osisID="Acts.7.2" sID="a72"/>To this he replied:
<speech who=”Stephan”>Brothers and fathers, listen to me! The God of glory appeared
to our father Abraham while he was still in Mesopotamia, before he lived in Haran
<verse eID=”a72”/>
...
<verse osisID="Acts.7.6" sID="a76"/>God spoke to him in this way: <q
type=”embedded” marker=”'”>Your descendants will be strangers in a country not
their own, and they will be enslaved and mistreated four hundred years. <verse
eID="a76"/>
<verse osisID="Acts.7.7" sID="a77"/>But I will punish the nation they serve as
slaves,</q> God said, <q type=”embedded” marker=”'”>and afterward they will come out
of that country and worship me in this place.</q><verse eID="a77"/>
...
<verse osisID="Acts.7.53" sID="a79"/>you who have received the law that was put
into effect through angels but have not obeyed it.
<verse eID="a79"/>
</speech>