Meeskond "Offline": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 11: Line 11:
===XML===
===XML===


[url:link codeplexis olevale xml-ile|https://ehak.codeplex.com/SourceControl/changeset/view/16692#260910] (see on liiga suur siia panekuks).
[https://ehak.codeplex.com/SourceControl/changeset/view/16692#260910 link codeplexis olevale xml-ile] (see on liiga suur siia panekuks).


===XML schema (XSD)===
===XML schema (XSD)===

Revision as of 15:52, 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)

<?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>