Meeskond "Offline": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kroosild (talk | contribs)
Kroosild (talk | contribs)
Line 14: Line 14:


===XML schema (XSD)===
===XML schema (XSD)===
 
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

Revision as of 14:53, 5 May 2012

Meeskond

  • Kristjan Roosild
  • Ragnar Rattas
  • Holger Rünkaru

XML

Luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. XML-il peab olema vähemalt 4 loogilist dimensiooni. Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID.

XML

link codeplexis olevale xml-ile (see on liiga suur siia panekuks).

XML schema (XSD)

<source lang="xml"> <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="ehak">
   <xs:complexType>
     <xs:sequence >
       <xs:element maxOccurs="90" name="maakond">
         <xs:complexType mixed="false">
           <xs:sequence>
             <xs:element maxOccurs="unbounded" name="omavalitsus">
               <xs:complexType mixed="false">
                 <xs:sequence >
                   <xs:element maxOccurs="unbounded" name="asustusüksus">
                     <xs:complexType mixed="false">
                       <xs:attribute name="nimi" type="xs:string" use="required" />
                       <xs:attribute name="kood" type="xs:unsignedShort" use="required"></xs:attribute>
                       <xs:attribute name="tüüp" type="xs:unsignedByte" use="required" />
                       <xs:attribute name="tüübinimi" type="xs:string" use="required" />
                       <xs:attribute name="rööpnimi" type="xs:string" use="optional" />
                     </xs:complexType>
                   </xs:element>
                 </xs:sequence>
                 <xs:attribute name="nimi" type="xs:string" use="required" />
                 <xs:attribute name="kood" type="xs:unsignedShort" use="required" />
                 <xs:attribute name="tüübinimi" type="xs:string" use="required" />
               </xs:complexType>
               <xs:unique name="UnikaalneAsustusüksuseKood">
                 <xs:selector xpath="asustusüksus" />
                 <xs:field xpath="@kood" />
               </xs:unique>
             </xs:element>
           </xs:sequence>
           <xs:attribute name="nimi" type="xs:string" use="required"/>
           <xs:attribute name="kood" type="xs:unsignedByte" use="required" />
         </xs:complexType>
         <xs:unique name="UnikaalneOmavalitsuseKood">
           <xs:selector xpath="omavalitsus" />
           <xs:field xpath="@kood" />
         </xs:unique>
       </xs:element>
     </xs:sequence>
   </xs:complexType>
   <xs:unique name="UnikaalneMaakonnaKood">
     <xs:selector xpath="maakond" />
     <xs:field xpath="@kood" />
   </xs:unique>
 </xs:element>

</xs:schema>

XSLT (esimene)

<?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>Superkena haldus- ja asustusüksuste kuvamise leht!</title>
     </head>
     <body>

Maakonnad, omavalitsused ja asustusüksused

<xsl:for-each select="/ehak/maakond"> <xsl:for-each select="omavalitsus"> <xsl:if test="@tüübinimi='vald'"> <xsl:for-each select="asustusüksus"> <xsl:if test="@tüübinimi='küla'"> </xsl:if> </xsl:for-each> <xsl:for-each select="asustusüksus"> <xsl:if test="@tüübinimi='alevik'"> </xsl:if> </xsl:for-each> <xsl:for-each select="asustusüksus"> <xsl:if test="@tüübinimi='alev'"> </xsl:if> </xsl:for-each> </xsl:if> </xsl:for-each> <xsl:for-each select="omavalitsus"> <xsl:if test="@tüübinimi='linn'"> <xsl:for-each select="asustusüksus"> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:for-each>
               

<xsl:value-of select="@nimi"/>

               
Vallad
                   
<xsl:value-of select="@nimi"/> <xsl:text> </xsl:text> <xsl:value-of select="@tüübinimi"/>
                   Külad, alevikud, alevid
                       <xsl:value-of select="@nimi"/>
                       <xsl:text> </xsl:text>
                       <xsl:value-of select="@tüübinimi"/>
                       <xsl:if test="@rööpnimi">
                         <xsl:text> (</xsl:text>
                         <xsl:value-of select="@rööpnimi"/>
                         <xsl:text>)</xsl:text>
                       </xsl:if>
                       <xsl:value-of select="@nimi"/>
                       <xsl:text> </xsl:text>
                       
                         <xsl:value-of select="@tüübinimi"/>
                       
                       <xsl:if test="@rööpnimi">
                         <xsl:text> (</xsl:text>
                         <xsl:value-of select="@rööpnimi"/>
                         <xsl:text>)</xsl:text>
                       </xsl:if>
                       <xsl:value-of select="@nimi"/>
                       <xsl:text> </xsl:text>
                       
                         <xsl:value-of select="@tüübinimi"/>
                       
                       <xsl:if test="@rööpnimi">
                         <xsl:text> (</xsl:text>
                         <xsl:value-of select="@rööpnimi"/>
                         <xsl:text>)</xsl:text>
                       </xsl:if>
               
Linnad
                   
<xsl:value-of select="@nimi"/>
                   Linnaosad
                     <xsl:value-of select="@nimi"/>
                     <xsl:text> </xsl:text>
                     <xsl:value-of select="@tüübinimi"/>
     </body>
   </html>
 </xsl:template>

</xsl:stylesheet>