Guest User

ad_report.xsl

a guest
Aug 26th, 2013
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 19.01 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ad="http://schemas.microsoft.com/powershell/2004/04">
  3.   <xsl:attribute-set name="tablestyle01">
  4.     <xsl:attribute name="style">
  5.       border-collapse:collapse;
  6.     </xsl:attribute>
  7.   </xsl:attribute-set>
  8.   <xsl:template match="/">
  9.     <html>
  10.       <head>
  11.         <style type="text/css">
  12.           table
  13.           {
  14.           border-collapse:collapse;
  15.           }
  16.           table, td, th
  17.           {
  18.           border:1px solid black;
  19.           }
  20.         </style>
  21.       </head>
  22.       <title>3. Инфраструктура AD</title>
  23.       <body>
  24.         <h2>3. Инфраструктура AD</h2>
  25.         <h3>3.1. Логическая схема AD</h3>
  26.         <i>Необходимо предоставить логическую схему AD (можно отдельным файлом)</i>
  27.         <br/>
  28.         <h3>3.2. Логическая структура AD</h3>
  29.         <xsl:apply-templates select="//ad:Obj[@N='Forests']/ad:LST"/>
  30.         <br/>
  31.         <xsl:apply-templates select="//ad:Obj[@N='Domains']/ad:LST" mode="Domains"/>
  32.         <br/>
  33.         <xsl:apply-templates select="//ad:Obj[@N='Domains']/ad:LST" mode="OUs"/>
  34.         <br/>
  35.         <h3>3.3. Физическая структура</h3>
  36.         <xsl:apply-templates select="//ad:Obj[@N='Subnets']/ad:LST"/>
  37.         <br/>
  38.         <xsl:apply-templates select="//ad:Obj[@N='Sites']/ad:LST"/>
  39.         <br/>
  40.         <xsl:apply-templates select="//ad:Obj[@N='SiteLinks']/ad:LST"/>
  41.         <br/>
  42.         <xsl:apply-templates select="//ad:Obj[@N='SiteBridges']/ad:LST"/>
  43.         <br/>
  44.         <xsl:apply-templates select="//ad:Obj[@N='SiteSitelinks']/ad:LST"/>
  45.         <br/>
  46.         <xsl:apply-templates select="//ad:Obj[@N='LinkBridges']/ad:LST"/>
  47.         <br/>
  48.         <xsl:apply-templates select="//ad:Obj[@N='DCs']/ad:LST"/>
  49.         <br/>
  50.         <xsl:apply-templates select="//ad:Obj[@N='ForestFSMOs']/ad:LST"/>
  51.         <br/>
  52.         <xsl:apply-templates select="//ad:Obj[@N='DomainFSMOs']/ad:LST"/>
  53.         <br/>
  54.         <xsl:apply-templates select="//ad:Obj[@N='GCs']/ad:LST"/>
  55.         <br/>
  56.         <xsl:apply-templates select="//ad:Obj[@N='Domains']/ad:LST" mode="Sysvol"/>
  57.         <br/>
  58.         <xsl:apply-templates select="//ad:Obj[@N='Apps']/ad:LST"/>
  59.         <br/>
  60.         <xsl:apply-templates select="//ad:Obj[@N='Trusts']/ad:LST"/>
  61.         <br/>
  62.       </body>
  63.     </html>
  64.   </xsl:template>
  65.   <xsl:template match="//ad:Obj[@N='Forests']/ad:LST">
  66.     <h3>3.2.1. Лес</h3>
  67.     <table xsl:use-attribute-sets="tablestyle01">
  68.       <tr>
  69.         <td>#</td>
  70.         <td>Имя</td>
  71.         <td>Предназначение</td>
  72.         <td>Режим функционирования</td>
  73.         <td>Версия схемы</td>
  74.         <td>Примечание</td>
  75.       </tr>
  76.       <xsl:for-each select="ad:Obj">
  77.         <tr>
  78.           <td>
  79.             <xsl:value-of select="position()"/>
  80.           </td>
  81.           <td>
  82.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  83.           </td>
  84.           <td></td>
  85.           <td>
  86.             <xsl:value-of select="ad:MS/ad:S[@N='ForestMode']"/>
  87.           </td>
  88.           <td>
  89.             <xsl:value-of select="ad:MS/ad:S[@N='SchemaVersion']"/>
  90.           </td>
  91.           <td></td>
  92.         </tr>
  93.       </xsl:for-each>
  94.     </table>
  95.   </xsl:template>
  96.   <xsl:template match="//ad:Obj[@N='Domains']/ad:LST" mode="Domains">
  97.     <h3>3.2.2. Домены</h3>
  98.     <table border="1">
  99.       <tr>
  100.         <td>#</td>
  101.         <td>DNS-имя</td>
  102.         <td>NETBIOS-имя</td>
  103.         <td>Лес</td>
  104.         <td>Режим функционирования</td>
  105.         <td>Количество компьютеров</td>
  106.         <td>Количество пользователей</td>
  107.         <td>Предназначение</td>
  108.         <td>Примечание</td>
  109.       </tr>
  110.       <xsl:for-each select="ad:Obj">
  111.         <tr>
  112.           <td>
  113.             <xsl:value-of select="position()"/>
  114.           </td>
  115.           <td>
  116.             <xsl:value-of select="ad:MS/ad:S[@N='DnsName']"/>
  117.           </td>
  118.           <td>
  119.             <xsl:value-of select="ad:MS/ad:S[@N='NetBIOSName']"/>
  120.           </td>
  121.           <td>
  122.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  123.           </td>
  124.           <td>
  125.             <xsl:value-of select="ad:MS/ad:S[@N='DomainMode']"/>
  126.           </td>
  127.           <td>
  128.             <xsl:value-of select="ad:MS/ad:I32[@N='ComputerNum']"/>
  129.           </td>
  130.           <td>
  131.             <xsl:value-of select="ad:MS/ad:I32[@N='UserNum']"/>
  132.           </td>
  133.           <td></td>
  134.           <td></td>
  135.         </tr>
  136.       </xsl:for-each>
  137.     </table>
  138.   </xsl:template>
  139.   <xsl:template match="//ad:Obj[@N='Domains']/ad:LST" mode="OUs">
  140.     <h3>3.2.3. Общая структура OU</h3>
  141.     <table border="1">
  142.       <tr>
  143.         <td>#</td>
  144.         <td>Домен</td>
  145.         <td>Лес</td>
  146.         <td>Модель</td>
  147.         <td>Примечание</td>
  148.       </tr>
  149.       <xsl:for-each select="ad:Obj">
  150.         <tr>
  151.           <td>
  152.             <xsl:value-of select="position()"/>
  153.           </td>
  154.           <td>
  155.             <xsl:value-of select="ad:MS/ad:S[@N='DnsName']"/>
  156.           </td>
  157.           <td>
  158.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  159.           </td>
  160.           <td></td>
  161.           <td></td>
  162.         </tr>
  163.       </xsl:for-each>
  164.     </table>
  165.   </xsl:template>
  166.   <xsl:template match="//ad:Obj[@N='Subnets']/ad:LST">
  167.     <h3>3.3.1. Подсети</h3>
  168.     <table border="1">
  169.       <tr>
  170.         <td>#</td>
  171.         <td>Подсеть</td>
  172.         <td>Сайт</td>
  173.         <td>Лес</td>
  174.         <td>Примечание</td>
  175.       </tr>
  176.       <xsl:for-each select="ad:Obj">
  177.         <tr>
  178.           <td>
  179.             <xsl:value-of select="position()"/>
  180.           </td>
  181.           <td>
  182.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  183.           </td>
  184.           <td>
  185.             <xsl:value-of select="ad:MS/ad:S[@N='SiteName']"/>
  186.           </td>
  187.           <td>
  188.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  189.           </td>
  190.           <td>
  191.             <xsl:value-of select="ad:MS/ad:S[@N='Description']"/>
  192.           </td>
  193.         </tr>
  194.       </xsl:for-each>
  195.     </table>
  196.   </xsl:template>
  197.   <xsl:template match="//ad:Obj[@N='Sites']/ad:LST">
  198.     <h3>3.3.2. Сайты</h3>
  199.     <table border="1">
  200.       <tr>
  201.         <td>#</td>
  202.         <td>Имя</td>
  203.         <td>Лес</td>
  204.         <td style="width: 193px;">Рассписание репликации</td>
  205.         <td>ISTG</td>
  206.         <td>Кэширование универсальных групп (UGMC)</td>
  207.         <td>Сайт для UGMC</td>
  208.         <td>Дополнительные параметры</td>
  209.         <td>Примечание</td>
  210.       </tr>
  211.       <xsl:for-each select="ad:Obj">
  212.         <tr>
  213.           <td>
  214.             <xsl:value-of select="position()"/>
  215.           </td>
  216.           <td>
  217.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  218.           </td>
  219.           <td>
  220.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  221.           </td>
  222.           <td>
  223.             <!--
  224.            <div visible="false">
  225.              <xsl:value-of select="ad:MS/ad:S[@N='Schedule']"/>
  226.            </div>-->
  227.             {hidden}
  228.           </td>
  229.           <td>
  230.             <xsl:value-of select="ad:MS/ad:S[@N='ISTG']"/>
  231.           </td>
  232.           <td>
  233.             <xsl:if test="ad:MS/ad:B[@N='UGMC']='false'">
  234.               Нет
  235.             </xsl:if>
  236.             <xsl:if test="ad:MS/ad:B[@N='UGMC']='true'">
  237.               Да
  238.             </xsl:if>
  239.           </td>
  240.           <td>
  241.             <xsl:value-of select="ad:MS/ad:S[@N='UGMC_GC']"/>
  242.           </td>
  243.           <td>
  244.             <xsl:value-of select="ad:MS/ad:S[@N='Options']"/>
  245.           </td>
  246.           <td></td>
  247.         </tr>
  248.       </xsl:for-each>
  249.     </table>
  250.   </xsl:template>
  251.   <xsl:template match="//ad:Obj[@N='SiteLinks']/ad:LST">
  252.     <h3>3.3.3. Связи сайтов</h3>
  253.     <table border="1">
  254.       <tr>
  255.         <td>#</td>
  256.         <td>Имя</td>
  257.         <td>Лес</td>
  258.         <td>Транспорт</td>
  259.         <td>Стоимость</td>
  260.         <td>Расписание репликации</td>
  261.         <td>Интервал репликации</td>
  262.         <td>Дополнительные параметры</td>
  263.       </tr>
  264.       <xsl:for-each select="ad:Obj">
  265.         <tr>
  266.           <td>
  267.             <xsl:value-of select="position()"/>
  268.           </td>
  269.           <td>
  270.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  271.           </td>
  272.           <td>
  273.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  274.           </td>
  275.           <td>
  276.             <xsl:value-of select="ad:MS/ad:S[@N='Transport']"/>
  277.           </td>
  278.           <td>
  279.             <xsl:value-of select="ad:MS/ad:I32[@N='Cost']"/>
  280.           </td>
  281.           <td>
  282.             <xsl:value-of select="ad:MS/ad:S[@N='Schedule']"/>
  283.           </td>
  284.           <td>
  285.             <xsl:value-of select="ad:MS/ad:S[@N='ReplicationInterval']"/>
  286.           </td>
  287.           <td>
  288.             <xsl:value-of select="ad:MS/ad:S[@N='Options']"/>
  289.           </td>
  290.         </tr>
  291.       </xsl:for-each>
  292.     </table>
  293.   </xsl:template>
  294.   <xsl:template match="//ad:Obj[@N='SiteBridges']/ad:LST">
  295.     <h3>3.3.4. Мосты связей сайтов</h3>
  296.     <table border="1">
  297.       <tr>
  298.         <td>#</td>
  299.         <td>Имя</td>
  300.         <td>Лес</td>
  301.         <td>Транспорт</td>
  302.       </tr>
  303.       <xsl:for-each select="ad:Obj">
  304.         <tr>
  305.           <td>
  306.             <xsl:value-of select="position()"/>
  307.           </td>
  308.           <td>
  309.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  310.           </td>
  311.           <td>
  312.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  313.           </td>
  314.           <td>
  315.             <xsl:value-of select="ad:MS/ad:S[@N='Transport']"/>
  316.           </td>
  317.         </tr>
  318.       </xsl:for-each>
  319.     </table>
  320.   </xsl:template>
  321.   <xsl:template match="//ad:Obj[@N='SiteSitelinks']/ad:LST">
  322.     <h3>3.3.5. Сайты и связи сайтов</h3>
  323.     <table border="1">
  324.       <tr>
  325.         <td>#</td>
  326.         <td>Сайт</td>
  327.         <td>Связь сайтов</td>
  328.         <td>Лес</td>
  329.         <td>Транспорт</td>
  330.       </tr>
  331.       <xsl:for-each select="ad:Obj">
  332.         <tr>
  333.           <td>
  334.             <xsl:value-of select="position()"/>
  335.           </td>
  336.           <td>
  337.             <xsl:value-of select="ad:MS/ad:S[@N='Site']"/>
  338.           </td>
  339.           <td>
  340.             <xsl:value-of select="ad:MS/ad:S[@N='SiteLink']"/>
  341.           </td>
  342.           <td>
  343.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  344.           </td>
  345.           <td>
  346.             <xsl:value-of select="ad:MS/ad:S[@N='Transport']"/>
  347.           </td>
  348.         </tr>
  349.       </xsl:for-each>
  350.     </table>
  351.   </xsl:template>
  352.   <xsl:template match="//ad:Obj[@N='LinkBridges']/ad:LST">
  353.     <h3>3.3.6. Мосты и связи сайтов</h3>
  354.     <table border="1">
  355.       <tr>
  356.         <td>#</td>
  357.         <td>Сайт</td>
  358.         <td>Мост</td>
  359.         <td>Лес</td>
  360.         <td>Транспорт</td>
  361.       </tr>
  362.       <xsl:for-each select="ad:Obj">
  363.         <tr>
  364.           <td>
  365.             <xsl:value-of select="position()"/>
  366.           </td>
  367.           <td>
  368.             <xsl:value-of select="ad:MS/ad:S[@N='Bridge']"/>
  369.           </td>
  370.           <td>
  371.             <xsl:value-of select="ad:MS/ad:S[@N='SiteLink']"/>
  372.           </td>
  373.           <td>
  374.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  375.           </td>
  376.           <td>
  377.             <xsl:value-of select="ad:MS/ad:S[@N='Transport']"/>
  378.           </td>
  379.         </tr>
  380.       </xsl:for-each>
  381.     </table>
  382.   </xsl:template>
  383.   <xsl:template match="//ad:Obj[@N='DCs']/ad:LST">
  384.     <h3>3.3.7. Контроллеры домена</h3>
  385.     <table border="1">
  386.       <tr>
  387.         <td>#</td>
  388.         <td>DNS-имя</td>
  389.         <td>Домен</td>
  390.         <td>Лес</td>
  391.         <td>Тип</td>
  392.         <td>Сайт</td>
  393.         <td>DB Path</td>
  394.         <td>DB Size</td>
  395.         <td>Log Path</td>
  396.         <td>Sysvol Path</td>
  397.         <td>Sysvol Size</td>
  398.       </tr>
  399.       <xsl:for-each select="ad:Obj">
  400.         <tr>
  401.           <td>
  402.             <xsl:value-of select="position()"/>
  403.           </td>
  404.           <td>
  405.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  406.           </td>
  407.           <td>
  408.             <xsl:value-of select="ad:MS/ad:S[@N='DomainName']"/>
  409.           </td>
  410.           <td>
  411.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  412.           </td>
  413.           <td>
  414.             <xsl:value-of select="ad:MS/ad:S[@N='Type']"/>
  415.           </td>
  416.           <td>
  417.             <xsl:value-of select="ad:MS/ad:S[@N='SiteName']"/>
  418.           </td>
  419.           <td>
  420.             <xsl:value-of select="ad:MS/ad:S[@N='DBPath']"/>
  421.           </td>
  422.           <td>
  423.             <xsl:value-of select="ad:MS/ad:S[@N='DBSize']"/>
  424.           </td>
  425.           <td>
  426.             <xsl:value-of select="ad:MS/ad:S[@N='LogPath']"/>
  427.           </td>
  428.           <td>
  429.             <xsl:value-of select="ad:MS/ad:S[@N='SysVolPath']"/>
  430.           </td>
  431.           <td>
  432.             <xsl:value-of select="ad:MS/ad:S[@N='SysVolSize']"/>
  433.           </td>
  434.         </tr>
  435.       </xsl:for-each>
  436.     </table>
  437.   </xsl:template>
  438.   <xsl:template match="//ad:Obj[@N='ForestFSMOs']/ad:LST">
  439.     <h3>3.3.8. FSMO-роли леса</h3>
  440.     <table border="1">
  441.       <tr>
  442.         <td>#</td>
  443.         <td>Лес</td>
  444.         <td>Schema</td>
  445.         <td>Domain Naming</td>
  446.       </tr>
  447.       <xsl:for-each select="ad:Obj">
  448.         <tr>
  449.           <td>
  450.             <xsl:value-of select="position()"/>
  451.           </td>
  452.           <td>
  453.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  454.           </td>
  455.           <td>
  456.             <xsl:value-of select="ad:MS/ad:S[@N='SchemaMaster']"/>
  457.           </td>
  458.           <td>
  459.             <xsl:value-of select="ad:MS/ad:S[@N='DNMaster']"/>
  460.           </td>
  461.         </tr>
  462.       </xsl:for-each>
  463.     </table>
  464.   </xsl:template>
  465.   <xsl:template match="//ad:Obj[@N='DomainFSMOs']/ad:LST">
  466.     <h3>3.3.9. FSMO-роли домена</h3>
  467.     <table border="1">
  468.       <tr>
  469.         <td>#</td>
  470.         <td>Домен</td>
  471.         <td>Лес</td>
  472.         <td>PDC</td>
  473.         <td>RID</td>
  474.         <td>Infr</td>
  475.       </tr>
  476.       <xsl:for-each select="ad:Obj">
  477.         <tr>
  478.           <td>
  479.             <xsl:value-of select="position()"/>
  480.           </td>
  481.           <td>
  482.             <xsl:value-of select="ad:MS/ad:S[@N='DomainName']"/>
  483.           </td>
  484.           <td>
  485.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  486.           </td>
  487.           <td>
  488.             <xsl:value-of select="ad:MS/ad:S[@N='PDCMaster']"/>
  489.           </td>
  490.           <td>
  491.             <xsl:value-of select="ad:MS/ad:S[@N='RIDMaster']"/>
  492.           </td>
  493.           <td>
  494.             <xsl:value-of select="ad:MS/ad:S[@N='InfrMaster']"/>
  495.           </td>
  496.         </tr>
  497.       </xsl:for-each>
  498.     </table>
  499.   </xsl:template>
  500.   <xsl:template match="//ad:Obj[@N='GCs']/ad:LST">
  501.     <h3>3.3.10. Глобальный каталог</h3>
  502.     <table border="1">
  503.       <tr>
  504.         <td>#</td>
  505.         <td>Контроллер домена</td>
  506.         <td>Домен</td>
  507.         <td>Лес</td>
  508.         <td>Сайт</td>
  509.       </tr>
  510.       <xsl:for-each select="ad:Obj">
  511.         <tr>
  512.           <td>
  513.             <xsl:value-of select="position()"/>
  514.           </td>
  515.           <td>
  516.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  517.           </td>
  518.           <td>
  519.             <xsl:value-of select="ad:MS/ad:S[@N='DomainName']"/>
  520.           </td>
  521.           <td>
  522.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  523.           </td>
  524.           <td>
  525.             <xsl:value-of select="ad:MS/ad:S[@N='SiteName']"/>
  526.           </td>
  527.         </tr>
  528.       </xsl:for-each>
  529.     </table>
  530.   </xsl:template>
  531.   <xsl:template match="//ad:Obj[@N='Domains']/ad:LST" mode="Sysvol">
  532.     <h3>3.3.11. Репликация SYSVOL</h3>
  533.     <table border="1">
  534.       <tr>
  535.         <td>#</td>
  536.         <td>Домен</td>
  537.         <td>Лес</td>
  538.         <td>Тип</td>
  539.         <td>Размер</td>
  540.       </tr>
  541.       <xsl:for-each select="ad:Obj">
  542.         <tr>
  543.           <td>
  544.             <xsl:value-of select="position()"/>
  545.           </td>
  546.           <td>
  547.             <xsl:value-of select="ad:MS/ad:S[@N='DnsName']"/>
  548.           </td>
  549.           <td>
  550.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  551.           </td>
  552.           <td></td>
  553.           <td>
  554.             <!--<xsl:value-of select="//ad:Obj[@N='DCs']/LST[ad:MS/ad:S[@N='DomainName']=./ad:MS/ad:S[@N='DnsName'] and ad:MS/ad:S[@N='ForestName']=./ad:MS/ad:S[@N='ForestName']]"/>-->
  555.           </td>
  556.         </tr>
  557.       </xsl:for-each>
  558.     </table>
  559.   </xsl:template>
  560.   <xsl:template match="//ad:Obj[@N='Apps']/ad:LST">
  561.     <h3>3.3.12. Разделы приложений</h3>
  562.     <table border="1">
  563.       <tr>
  564.         <td>#</td>
  565.         <td>Имя раздела</td>
  566.         <td>Лес</td>
  567.         <td>DC</td>
  568.         <td>Предназначение</td>
  569.         <td>Примечание</td>
  570.       </tr>
  571.       <xsl:for-each select="ad:Obj">
  572.         <tr>
  573.           <td>
  574.             <xsl:value-of select="position()"/>
  575.           </td>
  576.           <td>
  577.             <xsl:value-of select="ad:MS/ad:S[@N='Name']"/>
  578.           </td>
  579.           <td>
  580.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  581.           </td>
  582.           <td>
  583.             <xsl:value-of select="ad:MS/ad:S[@N='DC']"/>
  584.           </td>
  585.           <td></td>
  586.           <td></td>
  587.         </tr>
  588.       </xsl:for-each>
  589.     </table>
  590.   </xsl:template>
  591.   <xsl:template match="//ad:Obj[@N='Trusts']/ad:LST">
  592.     <h3>3.3.13. Доверительные отношения</h3>
  593.     <table border="1">
  594.       <tr>
  595.         <td>#</td>
  596.         <td>Исходный (Source)</td>
  597.         <td>Целевой (Target)</td>
  598.         <td>Лес</td>
  599.         <td>Направление</td>
  600.         <td>Тип</td>
  601.         <td>Дополнительные параметры</td>
  602.         <td>Примечание</td>
  603.       </tr>
  604.       <xsl:for-each select="ad:Obj">
  605.         <tr>
  606.           <td>
  607.             <xsl:value-of select="position()"/>
  608.           </td>
  609.           <td>
  610.             <xsl:value-of select="ad:MS/ad:S[@N='SourceName']"/>
  611.           </td>
  612.           <td>
  613.             <xsl:value-of select="ad:MS/ad:S[@N='TargetName']"/>
  614.           </td>
  615.           <td>
  616.             <xsl:value-of select="ad:MS/ad:S[@N='ForestName']"/>
  617.           </td>
  618.           <td>
  619.             <xsl:value-of select="ad:MS/ad:S[@N='Direction']"/>
  620.           </td>
  621.           <td>
  622.             <xsl:value-of select="ad:MS/ad:S[@N='Type']"/>
  623.           </td>
  624.           <td></td>
  625.           <td></td>
  626.         </tr>
  627.       </xsl:for-each>
  628.     </table>
  629.   </xsl:template>
  630. </xsl:stylesheet>
Advertisement
Add Comment
Please, Sign In to add comment