处理指令
处理指令可以用于将信息传递给应用程序,其方式是转义大多数 XML 规则。 处理指令不必遵守许多内部语法。处理指令可以包括未转义的标记字符,可以出现在文档中其他标记以外的任意位置。 处理指令可以出现在序言中,包括文档类型定义 (DTD);可以出现在文本内容中或文档之后。 架构或 DTD 处理器不会记录处理指令的出现。
处理指令必须以称为目标的标识符开头,遵循的规则与元素名和属性名类似。 处理指令目标区分大小写,并且必须以字母或下划线开头。 目标的其他部分可以包含字母、数字、连字符、下划线、句点和冒号。 任何有效的 XML 文本字符均可以出现在该目标之后。
注意: |
---|
万维网联合会 (W3C) 对 XML 格式的命名空间的建议提示您避免在处理指令名称中使用冒号。 |
以下是文档映射中的处理指令语法。
<?xml-stylesheet type="text/xsl" href="show_book.xsl"?>
内容的处理在遇到字符串 ?>
后立即结束。
样式表处理指令
根据 W3C 的建议,Microsoft® Internet Explorer 实现了 xml-stylesheet
处理指令。 此处理指令必须出现在序言中,在文档元素或根元素之前。 可以出现多个处理指令,这对于层叠样式表可能很有用,但是大多数浏览器使用第一个支持的样式页,忽略其他样式页。
样式页处理指令的语法如下所示:
<?xml-stylesheet type="type" href="uri" ?>
其中
注意: |
---|
type 是 text/css(链接到层叠样式表文件)或 text/xsl(链接到 XSLT 文件) |
注意: |
---|
uri 是样式表的统一资源标识符 (URI)。此 URI 相对于 XML 文档本身的位置。 |
以下 xml-stylesheet
处理指令用于标识使用层叠样式表构建的样式表。
<?xml-stylesheet href="/style.css" type="text/css" title="default stylesheet"?>
以下 xml-stylesheet
处理指令用于标识使用可扩展样式表语言 (XSL) 构建的样式表。
<?xml-stylesheet href="/style.xsl" type="text/xsl" title="default stylesheet"?>
以下处理指令是合法的,但是应用程序很难处理。
<?style – oh, try /style.css ?>
许多处理指令使用伪属性内容,类似属性,并且应用程序更容易处理。 前面的示例可以使用 W3C xml-stylesheet
处理指令替代:
<?xml-stylesheet href="/style.css" type="text/css" title="default stylesheet"?>
可以在序言中使用处理指令来指定其他文档范围的处理,但是必须编写应用程序来支持这些处理指令。
注意: |
---|
尽管有时不鼓励使用处理指令,但是其松散的结构和位置的灵活性有助于在不中断 XML 信息流的情况下将消息发送给应用程序。 |