<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:v = "urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs = 
"urn:schemas-microsoft-com:rowset" xmlns:z = "#RowsetSchema" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" XMLNS:D = "DAV:" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags" xmlns:ns1 = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:ns2 = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ns3 = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:ns4 = 
"http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ns5 = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns6 = 
"http://schemas.microsoft.com/exchange/services/2006/messages"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType name="PersonName" 
namespaceuri="urn:schemas-microsoft-com:office:smarttags"></o:SmartTagType><!--[if !mso]>
<STYLE>st1\:* {
        BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: SimSun;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Verdana;
}
@font-face {
        font-family: SimSun;
}
@font-face {
        font-family: Calibri;
}
@page Section1 {size: 595.3pt 841.9pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; layout-grid: 15.6pt; }
A:link {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINK {
        mso-style-priority: 99
}
A:visited {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINKFOLLOWED {
        mso-style-priority: 99
}
P.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
LI.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
DIV.MsoNormal {
        TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 10.5pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; TEXT-ALIGN: justify
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        FONT-WEIGHT: normal; COLOR: windowtext; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal
}
SPAN.EmailStyle18 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle19 {
        FONT-WEIGHT: normal; COLOR: blue; FONT-STYLE: normal; FONT-FAMILY: Verdana; TEXT-DECORATION: none; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
OL {
        MARGIN-BOTTOM: 0cm
}
UL {
        MARGIN-BOTTOM: 0cm
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=ZH-CN style="TEXT-JUSTIFY-TRIM: punctuation" vLink=purple link=blue>
<DIV dir=ltr align=left><FONT face=Verdana size=2><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><SPAN 
class=839413108-14012008><FONT face=Arial 
size=2>&nbsp;&gt;&nbsp;</FONT></SPAN>So my question is,<SPAN 
class=839413108-14012008><FONT face=Arial size=2>&nbsp; 
&nbsp;</FONT></SPAN></SPAN></FONT><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT size=2>Which is 
more reasonable for a general XQuery processor to identify the schema, target 
namespace or schema location<SPAN class=839413108-14012008><FONT 
face=Arial>&nbsp;&nbsp;</FONT></SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>There are a number of reasonable 
approaches - but the specification deliberately leaves room for implementors to 
come up with others.</SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>One approach is for the system to maintain 
some kind of catalog of schema documents (perhaps precompiled; perhaps requiring 
them to be loaded into an XML database), in which a namespace URI is sufficient 
to identify the schema components relating to that namespace. In this situation 
it is reasonable to ignore the schema location 
entirely.</SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>Another approach is to rely entirely on 
the schema location: always load the schema document at that location, and then 
perform consistency checks against other schema components for the same 
namespace.</SPAN></FONT></SPAN></FONT></DIV><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]><![if !supportLists]><![endif]>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>A third approach is to start with the 
namespace, using the existing schema components for that namespace if available, 
and to use the schema location only if no schema for that namespace has already 
been loaded.</SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>Saxon by default uses the third approach. 
But the behaviour is controlled using a URIResolver that you override - rather 
like the Java ClassLoader - it you want to adopt a different 
strategy.</SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008></SPAN></FONT></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN class=839413108-14012008>Michael 
Kay</SPAN></FONT></SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Verdana><SPAN lang=EN-US 
style="FONT-SIZE: 11pt; COLOR: blue; FONT-FAMILY: Verdana"><FONT face=Arial 
size=2><SPAN 
class=839413108-14012008>http://www.saxonica.com/</SPAN></FONT></SPAN></FONT></DIV></BODY></HTML>