Meeskond "Offline": Difference between revisions
Line 73: | Line 73: | ||
===XSLT (esimene)=== | ===XSLT (esimene)=== | ||
<source lang="xml"> | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> |
Revision as of 14:54, 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)
<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>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"/> |
---|
|
|
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> |
|
|
Linnaosad |
<xsl:value-of select="@nimi"/> <xsl:text> </xsl:text> <xsl:value-of select="@tüübinimi"/> |
</body> </html> </xsl:template>
</xsl:stylesheet>