Difference between revisions of "Meeskond:ArturJaSobrad"

From ICO wiki
(XSD)
(XSLT)
Line 58: Line 58:
  
 
===XSLT===
 
===XSLT===
 +
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="utf-8"?>
 +
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 +
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
 +
    <xsl:output method="html" indent="yes"/>
 +
 +
    <xsl:template match="/">
 +
      <html>
 +
        <head>
 +
          <title>Phonebook</title>
 +
        </head>
 +
        <body>
 +
          <xsl:for-each select="Phonebook/Groups/Group">
 +
            <h3>
 +
              <xsl:value-of select="@name"/>
 +
            </h3>
 +
            <table border="1" style="border:1px solid black;">
 +
              <tr>
 +
                <td>Firstname</td>
 +
                <td>Lastname</td>
 +
                <td>Phone</td>
 +
                <td>Skype</td>
 +
              </tr>
 +
              <xsl:for-each select="Person">
 +
                <tr>
 +
                  <td>
 +
                    <xsl:value-of select="Firstname"/>
 +
                  </td>
 +
                  <td>
 +
                    <xsl:value-of select="Lastname"/>
 +
                  </td>
 +
                  <xsl:for-each select="Contacts/Contact">
 +
                    <td>
 +
                      <xsl:value-of select="."/>
 +
                    </td>
 +
                   
 +
                  </xsl:for-each>
 +
                </tr>
 +
              </xsl:for-each>
 +
             
 +
             
 +
            </table>
 +
            <br/>
 +
           
 +
          </xsl:for-each>
 +
        </body>
 +
      </html>
 +
    </xsl:template>
 +
</xsl:stylesheet>
 +
</source>

Revision as of 20:07, 6 March 2015

Meeskond

Liikmed: Anni Klammer, Artur Tomba, Oliver Vahenõmm

XML

XML

XSD

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Phonebook">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Groups">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Group">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="Person">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Firstname" type="xs:string" />
                          <xs:element name="Lastname" type="xs:string" />
                          <xs:element name="Contacts">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="Contact">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="type" type="xs:string" use="required" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:unsignedInt" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="html" indent="yes"/>

    <xsl:template match="/">
      <html>
        <head>
          <title>Phonebook</title>
        </head>
        <body>
          <xsl:for-each select="Phonebook/Groups/Group">
            <h3>
              <xsl:value-of select="@name"/>
            </h3>
            <table border="1" style="border:1px solid black;">
              <tr>
                <td>Firstname</td>
                <td>Lastname</td>
                <td>Phone</td>
                <td>Skype</td>
              </tr>
              <xsl:for-each select="Person">
                <tr>
                  <td>
                    <xsl:value-of select="Firstname"/>
                  </td>
                  <td>
                    <xsl:value-of select="Lastname"/>
                  </td>
                  <xsl:for-each select="Contacts/Contact">
                    <td>
                      <xsl:value-of select="."/>
                    </td>
                    
                  </xsl:for-each>
                </tr>
              </xsl:for-each>
              
              
            </table>
            <br/>
            
          </xsl:for-each>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>