Внешние ссылки
Рассмотренные выше простые и расширенные ссылки называются встроенными, поскольку они содержатся в самом документе XML. В XLink определены также внешние ссылки, т.е. ссылки определенные во внешнем документе XML (аналогично внешним таблицам стилям и сценариям в HTML). Внешние ссылки могут быть только расширенными ссылками.
Для того, чтобы указать, что ссылка является внешней надо в элементе типа "arc" в атрибуте xlink:arcrole задать значение
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase",
а в атрибуте задать ссылку на документ XML, содержащий внешние ссылки.
Пример внешней ссылки:
Определение DTD для элемента external-link, описывающего загрузку внешней ссылки, может иметь следующий вид:
<!ELEMENT external-link ((startrsrc|linkbase|load)*)>
<!ATTLIST external-link
xlink:type (extended) #FIXED "extended">
<!ELEMENT startrsrc EMPTY>
<!ATTLIST startrsrc
xlink:type (locator) #FIXED "locator"
xlink:href CDATA #REQUIRED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT linkbase EMPTY>
<!ATTLIST linkbase
xlink:type (locator) #FIXED "locator"
xlink:href CDATA #REQUIRED
xlink:label NMTOKEN #IMPLIED>
<!ELEMENT load EMPTY>
<!ATTLIST load
xlink:type (arc) #FIXED "arc"
xlink:arcrole CDATA #FIXED
"http://www.w3.org/1999/xlink/properties/linkbase"
xlink:actuate (onLoad|onRequest|other|none) #IMPLIED
xlink:from NMTOKEN #IMPLIED
xlink:to NMTOKEN #IMPLIED>.
Элемент в документе XML, соответствующий этому DTD может иметь следующий вид (внешние ссылки размещены в документе linkbase.xml):
<external-link>
<startrsrc xlink:label="spec" xlink:href="spec.xml" />
<linkbase xlink:label="linkbase"
xlink:href="linkbase.xml" />
<load xlink:from="spec" xlink:to="linkbase"
actuate="onLoad" />
</external-link>.
Дата добавления: 2015-03-19; просмотров: 910;