Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

434 lines
12 KiB

  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="xmldisplay.xsl"?>
  3. <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
  4. xmlns:dt="urn:schemas-microsoft-com:datatypes"
  5. xmlns:d2="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
  6. <xsl:template match="/">
  7. <html>
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; CHARSET=windows-1252" />
  10. <meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l comment "RSACi North America Server" by "[email protected]" r (n 0 s 0 v 0 l 0))' />
  11. <meta http-equiv="MSThemeCompatible" content="Yes" />
  12. <style type="text/css">
  13. body
  14. {
  15. font-family:Tahoma;
  16. font-size:8pt;
  17. padding:3px;
  18. }
  19. .c
  20. {
  21. cursor:hand;
  22. }
  23. .b
  24. {
  25. color:red;
  26. font-family:Courier New;
  27. font-weight:bold;
  28. text-decoration:none;
  29. }
  30. .e
  31. {
  32. margin-left:1em;
  33. text-indent:-1em;
  34. margin-right:1em;
  35. }
  36. .k
  37. {
  38. margin-left:1em;
  39. text-indent:-1em;
  40. margin-right:1em;
  41. }
  42. .t
  43. {
  44. color:#990000;
  45. }
  46. .xt
  47. {
  48. xcolor:#990099;
  49. }
  50. .ns
  51. {
  52. color:red;
  53. }
  54. .dt
  55. {
  56. color:green;
  57. }
  58. .tx
  59. {
  60. font-weight:bold;
  61. }
  62. .db
  63. {
  64. text-indent:0px;
  65. margin: 0em 1em 0em 1em;
  66. padding:0em .3em 0em .3em;
  67. border-left:1px solid #CCCCCC;
  68. font:small Courier
  69. }
  70. .di
  71. {
  72. font:small Courier;
  73. }
  74. .d, .pi, .m
  75. {
  76. color:blue;
  77. }
  78. .cb
  79. {
  80. text-indent:0px;
  81. margin: 0,1em,0,1em;
  82. padding-left:.3em;
  83. font:small Courier;
  84. color:#888888;
  85. }
  86. .ci
  87. {
  88. font:small Courier;
  89. color:#888888;
  90. }
  91. pre
  92. {
  93. margin:0px;
  94. display:inline;
  95. }
  96. h5
  97. {
  98. margin:0px 13px 0px 13px;
  99. }
  100. button#eBtnClose
  101. {
  102. position:absolute;
  103. bottom:5px;
  104. padding-left:10px;
  105. padding-right:10px;
  106. font:messagebox;
  107. }
  108. </style>
  109. <script type="text/jscript">
  110. <xsl:comment>
  111. <![CDATA[
  112. function f( e )
  113. {
  114. if( e.className == "ci" )
  115. {
  116. if ( e.children(0).innerText.indexOf("\n") > 0 )
  117. {
  118. fix(e, "cb");
  119. }
  120. }
  121. if( e.className == "di" )
  122. {
  123. if( e.children(0).innerText.indexOf("\n") > 0 )
  124. {
  125. fix(e, "db");
  126. }
  127. }
  128. e.id = "";
  129. }
  130. function fix( e, cl )
  131. {
  132. e.className = cl;
  133. e.style.display = "block";
  134. j = e.parentElement.children(0);
  135. j.className = "c";
  136. k = j.children(0);
  137. k.style.visibility = "visible";
  138. k.href = "javascript:void(0);";
  139. }
  140. function ch( e )
  141. {
  142. mark = e.children(0).children(0);
  143. if( mark.innerText == "+" )
  144. {
  145. mark.innerText = "-";
  146. for( var i = 1; i < e.children.length; i++ )
  147. {
  148. e.children(i).style.display = "block";
  149. }
  150. }
  151. else if( mark.innerText == "-" )
  152. {
  153. mark.innerText = "+";
  154. for( var i = 1; i < e.children.length; i++ )
  155. {
  156. e.children(i).style.display="none";
  157. }
  158. }
  159. }
  160. function ch2( e )
  161. {
  162. mark = e.children(0).children(0);
  163. contents = e.children(1);
  164. if( mark.innerText == "+" )
  165. {
  166. mark.innerText = "-";
  167. if( contents.className == "db" || contents.className == "cb" )
  168. {
  169. contents.style.display = "block";
  170. }
  171. else
  172. {
  173. contents.style.display = "inline";
  174. }
  175. }
  176. else if(mark.innerText == "-")
  177. {
  178. mark.innerText = "+";
  179. contents.style.display = "none";
  180. }
  181. }
  182. function cl()
  183. {
  184. e = window.event.srcElement;
  185. if( e.className != "c" )
  186. {
  187. e = e.parentElement;
  188. if( e.className != "c" )
  189. {
  190. return;
  191. }
  192. }
  193. e = e.parentElement;
  194. if( e.className == "e" )
  195. {
  196. ch( e );
  197. if( e.className == "k" )
  198. ch2( e );
  199. }
  200. }
  201. function ex()
  202. {
  203. }
  204. function h()
  205. {
  206. window.status=" ";
  207. }
  208. document.onclick = cl;
  209. function Finish()
  210. {
  211. self.close();
  212. }
  213. function ESC_KeyDown()
  214. {
  215. if( 27 == event.keyCode )
  216. {
  217. self.close();
  218. }
  219. }
  220. ]]>
  221. </xsl:comment>
  222. </script>
  223. </head>
  224. <body onbeforeunload="window.dialogArguments.g_oXMLDlg = null;" onkeydown="ESC_KeyDown();" class="st">
  225. <div style="overflow-y:auto;height:80%;">
  226. <h5></h5>
  227. <hr style="color:navy;height:1px;margin:0px 13px 0px 13px;" />
  228. <xsl:apply-templates />
  229. </div>
  230. <button id="eBtnClose" onclick="Finish();" style="left:expression( (document.body.clientWidth - eBtnClose.offsetWidth) / 2 );"></button>
  231. </body>
  232. </html>
  233. </xsl:template>
  234. <!-- Templates for each node type follows. The output of each template has a similar structure
  235. to enable script to walk the result tree easily for handling user interaction. -->
  236. <!-- Template for the DOCTYPE declaration. No way to get the DOCTYPE, so we just put in a placeholder -->
  237. <xsl:template match="node()[nodeType()=10]">
  238. <div class="e">
  239. <span>
  240. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  241. <span class="d">&lt;!DOCTYPE <xsl:node-name/><I> (View Source for full doctype...)</I>&gt;</span>
  242. </span>
  243. </div>
  244. </xsl:template>
  245. <!-- Template for pis not handled elsewhere -->
  246. <xsl:template match="pi()">
  247. <div class="e">
  248. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  249. <span class="m">&lt;?</span>
  250. <span class="pi"><xsl:node-name/> <xsl:value-of/></span>
  251. <span class="m">?&gt;</span>
  252. </div>
  253. </xsl:template>
  254. <!-- Template for the XML declaration. Need a separate template because the pseudo-attributes
  255. are actually exposed as attributes instead of just element content, as in other pis -->
  256. <xsl:template match="pi('xml')">
  257. <div class="e">
  258. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  259. <span class="m">&lt;?</span>
  260. <span class="pi">xml <xsl:for-each select="@*"><xsl:node-name/>="<xsl:value-of/>" </xsl:for-each></span>
  261. <span class="m">?&gt;</span>
  262. </div>
  263. </xsl:template>
  264. <!-- Template for attributes not handled elsewhere -->
  265. <xsl:template match="@*" xml:space="preserve">
  266. <span><xsl:attribute name="class"><xsl:if match="xsl:*/@*">x</xsl:if>t</xsl:attribute> <xsl:node-name/></span>
  267. <span class="m">="</span>
  268. <B><xsl:value-of/></B><span class="m">"</span>
  269. </xsl:template>
  270. <!-- Template for attributes in the xmlns or xml namespace -->
  271. <xsl:template match="@xmlns:*|@xmlns|@xml:*">
  272. <span class="ns"> <xsl:node-name/></span>
  273. <span class="m">="</span>
  274. <B class="ns"><xsl:value-of/></B>
  275. <span class="m">"</span>
  276. </xsl:template>
  277. <!-- Template for attributes in the dt namespace -->
  278. <xsl:template match="@dt:*|@d2:*">
  279. <span class="dt"> <xsl:node-name/></span>
  280. <span class="m">="</span>
  281. <B class="dt"><xsl:value-of/></B>
  282. <span class="m">"</span>
  283. </xsl:template>
  284. <!-- Template for text nodes -->
  285. <xsl:template match="textNode()">
  286. <div class="e">
  287. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  288. <span class="tx"><xsl:value-of/></span>
  289. </div>
  290. </xsl:template>
  291. <!-- Template for comment nodes -->
  292. <xsl:template match="comment()">
  293. <div class="k">
  294. <span>
  295. <a class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</a>
  296. <span class="m">&lt;!--</span>
  297. </span>
  298. <span id="clean" class="ci"><PRE><xsl:value-of/></PRE></span>
  299. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  300. <span class="m">--&gt;</span>
  301. <script type="text/jscript">
  302. f( clean );
  303. </script>
  304. </div>
  305. </xsl:template>
  306. <!-- Template for cdata nodes -->
  307. <xsl:template match="cdata()">
  308. <div class="k">
  309. <span>
  310. <A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A>
  311. <span class="m">&lt;![CDATA[</span>
  312. </span>
  313. <span id="clean" class="di">
  314. <PRE><xsl:value-of/></PRE>
  315. </span>
  316. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  317. <span class="m">]]&gt;</span>
  318. <script type="text/jscript">
  319. f( clean );
  320. </script>
  321. </div>
  322. </xsl:template>
  323. <!-- Template for elements not handled elsewhere (leaf nodes) -->
  324. <xsl:template match="*">
  325. <div class="e">
  326. <div STYLE="margin-left:1em;text-indent:-2em">
  327. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  328. <span class="m">&lt;</span>
  329. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  330. <xsl:apply-templates select="@*"/>
  331. <span class="m"> /&gt;</span>
  332. </div>
  333. </div>
  334. </xsl:template>
  335. <!-- Template for elements with comment, pi and/or cdata children -->
  336. <xsl:template match="*[node()]">
  337. <div class="e">
  338. <div class="c">
  339. <A href="#" onclick="return false" onfocus="h()" class="b">-</A>
  340. <span class="m">&lt;</span>
  341. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  342. <xsl:apply-templates select="@*"/>
  343. <span class="m">&gt;</span>
  344. </div>
  345. <div>
  346. <xsl:apply-templates/>
  347. <div>
  348. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  349. <span class="m">&lt;/</span>
  350. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  351. <span class="m">&gt;</span>
  352. </div>
  353. </div>
  354. </div>
  355. </xsl:template>
  356. <!-- Template for elements with only text children -->
  357. <xsl:template match="*[textNode()$and$$not$(comment()$or$pi()$or$cdata())]">
  358. <div class="e">
  359. <div STYLE="margin-left:1em;text-indent:-2em">
  360. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  361. <span class="m">&lt;</span>
  362. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  363. <xsl:apply-templates select="@*"/>
  364. <span class="m">&gt;</span>
  365. <span class="tx"><xsl:value-of/></span>
  366. <span class="m">&lt;/</span>
  367. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  368. <span class="m">&gt;</span>
  369. </div>
  370. </div>
  371. </xsl:template>
  372. <!-- Template for elements with element children -->
  373. <xsl:template match="*[*]">
  374. <div class="e">
  375. <div class="c" STYLE="margin-left:1em;text-indent:-2em">
  376. <A href="#" onclick="return false" onfocus="h()" class="b">-</A>
  377. <span class="m">&lt;</span>
  378. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  379. <xsl:apply-templates select="@*"/>
  380. <span class="m">&gt;</span>
  381. </div>
  382. <div>
  383. <xsl:apply-templates/>
  384. <div>
  385. <span class="b"><xsl:entity-ref name="nbsp"/></span>
  386. <span class="m">&lt;/</span>
  387. <span><xsl:attribute name="class"><xsl:if match="xsl:*">x</xsl:if>t</xsl:attribute><xsl:node-name/></span>
  388. <span class="m">&gt;</span>
  389. </div>
  390. </div>
  391. </div>
  392. </xsl:template>
  393. </xsl:stylesheet>