Пример XSL-документа

<xsl>
<!-- Корневое  правило -->
<rule>
    <root/>      
    <HTML><HEAD>    <!-- Область сценария-->   
       <SCRIPT LANGUAGE="JSCRIPT"><![CDATA[
var ie4=((navigator.appName=="Microsoft Internet Explorer")&&(parseInt(navigator.appVersion)  >= 4 ));
       function msover(){
if (ie4){
                event.srcElement.style.color="red";
                event.srcElement.style.cursor = "hand";
        }
}
       function msout(){
        if (ie4){
                event.srcElement.style.color="black";
                event.srcElement.style.cursor = "auto";
        }
}        ]]></SCRIPT>
    </HEAD>
    <BODY bgcolor="white">
    <center>
    <table width="80%" border="1">
    <children/>           
    </table></center>
    </BODY>
    </HTML>          
</rule>
<!--   Использование элемента select-elements -->
  <rule>
    <target-element type="journal"/>
      <select-elements> <target-element type="title"/> </select-elements>,
      <select-elements> <target-element type="contacts"/> </select-elements>,
      <select-elements> <target-element type="issues-list"/> </select-elements>,
      <select-elements> <target-element type="authors-list"/> </select-elements>.
  </rule>
<!-- Formatting title element -->
<rule>
         <element type="journal">
            <target-element type="title"/>
                <!--  Элемент title должен определяться внутри элемента journal   -->
         </element>
        <tr><td align="center"><center>
        <table width="80%" border="1"><tr><td width="100%">
        <b><font color="blue">
        <children/>
        </font></b></td></tr>
        </table></center>
        </td></tr>
</rule>
<!-- Issues list -->
<rule>
<element type="journal">
                <target-element type="issues-list"/>
</element>
        <tr><td align="center">
        <children/>
        </td></tr>
</rule>
<rule>
        <element type="issues-list">
                <target-element type="issue"/>
        </element>
        <tr><td><center>
        <table width="100%" border="0">
        <tr><td colspan="2" bgcolor="gray">
        <font color="white">Issues list</font></td></tr>
        <children/>
        <tr><td> </td></tr></table></center></td></tr>
</rule>
<rule>
        <target-element type="issue"/>
        <tr><td>
        <table width="100%" border="0">
        <tr><td colspan="2">Issue number
        <b><eval>childNumber(this);</eval></b></td></tr>
        <children/>
        <tr><td> </td></tr></table></td></tr>
</rule>
<rule>
        <element type="issue">
                <target-element type="title"/>
                <target-element type="date"/>
                <target-element type="about"/>
                <target-element type="home-url"/>
        </element>
        <tr>
        <td width="40%"><font color="blue"><eval>tagName</eval></font></td>
        <td width="60%" align="right"><div align="right"><b><font color="red">
        <children/></font></b>
        </div></td></tr>
</rule>
<rule>
        <element type="issue">
                <target-element type="articles"/>
        </element>
        <tr><td colspan="2" align="right" bgcolor="silver">
        <center>Articles list</center></td></tr>
        <children/>
</rule>
<rule>
        <element type="articles">
                <target-element type="article"/>
        </element>
        <tr><td colspan="2" align="right">Article number
        <b><eval>childNumber(this);</eval></b></td></tr>
        <children/>
</rule>
<rule>
        <element type="article">
                <target-element type="title"/>
                <target-element type="url"/>
                <target-element type="author"/>
        </element>
        <tr>
        <td width="40%"><font color="maroon"><eval>tagName</eval></font></td>
        <td width="60%" align="right"><div align="right"><b><font color="red">
        <children/></font></b>
        </div></td></tr>
</rule>
<rule>
        <target-element type="article" position="last-of-type"/>
        <children/>
        <tr><td colspan="2" bgcolor="silver" width="100%"> </td></tr>
</rule>
<rule>
        <element type="hotkeys">
                <target-element type="hotkey"/>
        </element>
        <tr>
        <td width="40%"><font color="maroon"><eval>tagName</eval></font></td>
        <td width="60%" align="right"><div align="right"><b><font color="red">
        <children/></font></b>
        </div></td></tr>
</rule>
<!-- Contacts -->
<rule>
        <element type="journal">
        <target-element type="contacts"/>
        <select-elements> <target-element type="address"/> </select-elements>,
        <select-elements> <target-element type="tel"/> </select-elements>,
        <select-elements> <target-element type="email"/> </select-elements>,
        <select-elements> <target-element type="url"/> </select-elements>.
        </element>
        <tr><td><center><table width="100%" border="1">
        <tr><td colspan="2" bgcolor="gray"><font color="white">Contact us:</font></td></tr>
        <children/>
        <tr><td> </td></tr></table></center></td></tr>
</rule>
<rule>
        <element type="contacts">
                <target-element type="address"/>
                <target-element type="tel"/>
                <target-element type="email"/>
                <target-element type="url"/>
        </element>
        <tr>
        <td width="40%"><font color="blue"><eval>tagName</eval></font></td>
        <td width="60%" align="right"><div align="right"><b><font color="red">
        <children/></font></b>
        </div></td></tr>
</rule>
<!-- Authors -->
<rule>
        <element type="journal">
                <target-element type="authors-list"/>
        </element>
        <tr><td bgcolor="gray"><font color="white">Authors list</font></td></tr>
        <tr><td>
        <children/>
        </td></tr>
</rule>
<rule>
        <element type="authors-list">
                <target-element type="author"/>
        <select-elements> <target-element type="firstname"/> </select-elements>,
        <select-elements> <target-element type="lastname"/> </select-elements>,
        <select-elements> <target-element type="email"/> </select-elements>.
        </element>
        <table width="100%" border="1">
        <tr><td colspan="2">Author index  <b><eval>getAttribute("ID");</eval></b></td></tr>
        <children/>
        <tr><td> </td></tr></table>
</rule>
<rule>
        <element type="author">
      <attribute name="ID" has-value="yes"/>
                <target-element type="firstname"/>
                <target-element type="lastname"/>
                <target-element type="email"/>
        </element>
        <tr>
        <td width="40%"><font color="blue"><eval>tagName</eval></font></td>
        <td width="60%" align="right"><b><font color="black">
<!--  Подсветка элементов   --> 
            <DIV id='=tagName + formatNumber(childNumber(this),"1")' background-color="marron"
          onmouseover='="msover("+ tagName + formatNumber(childNumber(this),1)+")"'
          onmouseout='="msout("+ tagName + formatNumber(childNumber(this),1)+")"'>
        <children/>
        </DIV>
        </font></b>
        </td></tr>
</rule>
<!-- Определение стиля. Изменение стиля комнется всех элементов title и url,
         вне зависимости от их месторасположения --> 
  <style-rule>  
    <target-element type="title"/>
    <target-element type="url"/>
    <apply font-style="italic" color="maroon"/>
  </style-rule>
</xsl>

Домой