⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0703-0600.htm

📁 xml帮助文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0071)http://162.105.170.55/ASPs/GetLearningArticleTemp.asp?section=0703-0600 -->
<HTML><HEAD><TITLE>XML中国论坛 - 初学进阶 - 7.3.6 字符转义</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>TABLE {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt9 {
	FONT-SIZE: 9pt; COLOR: black; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"
}
.pt10 {
	FONT-WEIGHT: 700; FONT-SIZE: 10pt; LINE-HEIGHT: 18pt; FONT-FAMILY: "宋体"
}
.TempOutline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; COLOR: #666666; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.TempOutline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; COLOR: #666666; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.Outline11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage0 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 15pt; TEXT-INDENT: -28pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage1 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 24pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage11 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 38pt; TEXT-INDENT: -50pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
.passage111 {
	FONT-SIZE: 9pt; MARGIN-LEFT: 51pt; TEXT-INDENT: -64pt; LINE-HEIGHT: 15pt; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
</STYLE>

<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY vLink=#000000 aLink=#000000 link=#000000 leftMargin=0 topMargin=0 
onload=""><!-- 以下为主体内容 -->
<div align="center">
  <center>
<TABLE width="100%" border=0 style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
  <TBODY>
  <TR vAlign=top>
    <TD width=40 rowSpan=2></TD>
    <TD vAlign=center >
    <p align="center"><IMG height=33 
      src="image/title_learner.gif" width=226></TD>
    <TD width=44 rowSpan=2></TD>
    </TR>
  <TR vAlign=top>
    <TD ><!-- 正文内容 -->
      <DIV class=pt10><B>7.3.6 字符转义</B></DIV>
    &nbsp;&nbsp;&nbsp;
      <DIV></DIV><BR>
      <DIV class=pt9>
      <P>一般而言,XPointer不会单独出现,其经常出现的位置是URI、XML文件中,这些上下文对一些特殊字符提出了转义要求,因此必须对XPointer中出现的相应字符进行转义。 

      <OL>
        <LI><STRONG>URI编码和转义</STRONG> </LI></OL>
      <P>XPointer可以用于XLink的属性xlink:href定位资源片段,xlink:href属性值必须是URI,而一些字符不能直接出现在URI中,因此必须对这些字符进行转义。</P>
      <P>URI中不允许出现的字符包括所有非ASCII字符和IETF RFC 
      2396排除的字符,但是其中的"#"、"%"和方括弧可以直接出现在URI中,这是由IETF RFC 
      2732定义。所有不允许的字符按照如下顺序进行转义。 
      <UL>
        <LI>每一个不允许的字符转化为相应的UTF-8(IETF RFC 2279)编码; 
        <LI>所有不允许的字符按照URI规则进行转义,即转化为%HH,HH是该字节的十六进制编码; 
        <LI>原有的字符序列用新的字符序列替换。 </LI></UL>
      <P>例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">xpointer(id( résumé )) <BR>xpointer(//*[@id= résumé 
            ])</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>转义为:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">xpointer(id( r%C3%A9sum%C3%A9 ))%20 
            <BR>xpointer(//*%5B@id= r%C3%A9sum%C3%A9 
      %5D)</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>注意:虽然IETF RFC 2732允许方括弧直接出现,但是为了兼容那些未实现该标准的程序,方括弧最好转义出现。 
      <OL start=2>
        <LI><STRONG>XML转义</STRONG> </LI></OL>
      <P>由于XPointer是出现在XML文件中,必须按照XML的要求对相应的字符进行转义。包括"&lt;"、"&amp;"和XML规范规定的其他特殊字符,"&lt;"和"&amp;"转义后分别为"&amp;lt;"和"&amp;amp;",其他特殊字符的转义可以参考XML规范中的规定。例如:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD 
        width="100%">xpointer(//book/chapter[position()&lt;=5])</TD></TR></TBODY></TABLE></CENTER></DIV>
      <P>转义为:</P>
      <DIV align=center>
      <CENTER>
      <TABLE width="80%" border=1>
        <TBODY>
        <TR>
          <TD width="100%">xpointer(//book/chapter[position() &amp;lt;= 
        5])</TD></TR></TBODY></TABLE></CENTER></DIV>
      <OL start=3>
        <LI><STRONG>XPointer转义</STRONG> </LI></OL>
      <P>XPointer本身对一些字符提出了转义要求。为了保证正确识别和计算,XPointer的各个部分(XPointer的一个部分是指一个完整的XPointer(…),多个XPointer(…)连接起来形成一个完整形式的XPointer)要求括弧匹配,因此必须对不匹配的括弧进行转义,即使在字符串常量中的括弧也必须进行转义。转义的方法是在前面加上一个"^",如果表达式中出现"^",则在前再加一个"^",即用"^("代替"(",用"^)"代替")",用"^^"代替"^"。</P>
      <P>注意:转义只是针对不匹配的括弧,而不是对所有括弧。<BR></P></DIV>
      <P></P>
      <P></P></TD></TR></TBODY></TABLE>
  </center>
</div>
<P></P>
<P>
<P></P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -