значение «#» в, например, - PullRequest
1 голос
/ 07 июля 2011

В качестве примера использования знака "#" следующим образом, что будет означать строка в документе xml, такая как <ruleref uri="#cardinalOnes" />?Единственная ссылка, которую я мог найти на возможное значение знака «#» при таком использовании, - это идентификатор атрибута, называемый «подразумеваемый» или «обязательный».Но я не уверен, что это то, что это означает в этом случае.Это?Просто вычитая, взглянув на остальную часть XML-документа, я могу понять, что «#cardinalOnes» ссылается на другое правило в том же документе, которое на самом деле называется <rule id="cardinalOnes">.Но я не смог найти объяснения этому использованию в тексте «XML в двух словах» или на w3.org.Может ли кто-нибудь подтвердить, что мой вывод правильный?Это использование объясняется где-нибудь?Благодарю.

Ответы [ 3 ]

3 голосов
/ 07 июля 2011

В этом случае XML не имеет значения. XML не знает и не заботится о том, что такое "ruleref", "uri" или "#cardinalOnes". Это просто токены ELEMENT, ATTRIBUTE и STRING для анализатора XML.

Теперь, это не значит, что они не имеют никакого значения для того, что пытается прочитать этот XML-файл. Что-то должно заботиться о том, что такое "ruleref", и все, что заботится об этом, вполне может определить семантику того, что делает # в атрибуте "uri".

Но в целом для общего XML это вообще ничего не значит.

1 голос
/ 07 июля 2011

Теги #implied или #required являются самими тегами атрибута, а не строковыми значениями, присвоенными атрибуту.

Некоторые примеры приведены здесь:

http://www.w3schools.com/dtd/dtd_attributes.asp

0 голосов
/ 09 июля 2011

После разговора с некоторыми коллегами выясняется, что на <ruleref uri="#cardinalOnes" /> есть ссылка в http://www.w3.org/TR/speech-grammar/. «#» - это официальная внутренняя XML-ссылка в синтаксисе Standard SRGS, который является стандартом W3C для написания речевых грамматик.

...