Volitelná hlavička User-Agent + obrázek v XSL (jako base64). default tip
authorFrantišek Kučera <franta-hg@frantovo.cz>
Sat, 12 Nov 2011 17:02:44 +0100
changeset 3ba0753e26d53
parent 2 1ce61160021c
Volitelná hlavička User-Agent + obrázek v XSL (jako base64).
xml/prodlužovač.xml
xml/prodlužovač.xsd
xml/prodlužovač.xsl
     1.1 --- a/xml/prodlužovač.xml	Sat Nov 12 00:44:35 2011 +0100
     1.2 +++ b/xml/prodlužovač.xml	Sat Nov 12 17:02:44 2011 +0100
     1.3 @@ -6,10 +6,14 @@
     1.4  	xsi:schemaLocation="https://trac.frantovo.cz/prodluzovac-odkazu/wiki/xmlns/konfigurace prodlužovač.xsd">
     1.5  	
     1.6  	<limitPřesměrování>10</limitPřesměrování>
     1.7 +	<tvářitSeJakoProhlížeč>Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1</tvářitSeJakoProhlížeč>
     1.8  
     1.9  	<zkracovače>
    1.10 -		<url popis="Klasická zkracovací služba">http://tinyurl.com/.*</url>
    1.11 -		<url záležíNaVelikosti="true">(http|https)://tinyurl.com/.*</url>
    1.12 +		<url popis="Klasická zkracovací služba">http://tinyurl\.com/.*</url>
    1.13 +		<url záležíNaVelikosti="true">(http|https)://tinyurl\.com/.*</url>
    1.14 +		<url záležíNaVelikosti="false">(http|https)://jdem\.cz/.*</url>
    1.15 +		<url>(http|https)://.*\.jdem\.cz/.*</url>
    1.16  	</zkracovače>
    1.17  	
    1.18 +	
    1.19  </prodlužovač>
    1.20 \ No newline at end of file
     2.1 --- a/xml/prodlužovač.xsd	Sat Nov 12 00:44:35 2011 +0100
     2.2 +++ b/xml/prodlužovač.xsd	Sat Nov 12 17:02:44 2011 +0100
     2.3 @@ -19,6 +19,15 @@
     2.4  					<xs:documentation>Seznam podporovaných zkracovačů</xs:documentation>
     2.5  				</xs:annotation>
     2.6  			</xs:element>
     2.7 +			<xs:element name="tvářitSeJakoProhlížeč" type="xs:string" minOccurs="0">
     2.8 +				<xs:annotation>
     2.9 +					<xs:documentation>
    2.10 +						Pokud je tento element přístupný, budeme v HTTP požadavcích posílat
    2.11 +						hlavičku „User-Agent“ a tvářit se, že jsme daný prohlížeč.
    2.12 +						Příklad: „Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1“
    2.13 +					</xs:documentation>
    2.14 +				</xs:annotation>
    2.15 +			</xs:element>
    2.16  		</xs:all>
    2.17  	</xs:complexType>
    2.18  	
    2.19 @@ -26,7 +35,11 @@
    2.20  		<xs:sequence minOccurs="1" maxOccurs="unbounded">
    2.21  			<xs:element name="url" type="url">
    2.22  				<xs:annotation>
    2.23 -					<xs:documentation>Regulární výraz definující URL daného zkracovače.</xs:documentation>
    2.24 +					<xs:documentation>
    2.25 +						Regulární výraz definující URL daného zkracovače.
    2.26 +						Slouží k tomu, abychom nemuseli testovat (což znamená DNS+HTTP požadavek) 
    2.27 +						všechna URL, ale jen ta, u kterých lze očekávat přesměrování jinam.
    2.28 +					</xs:documentation>
    2.29  				</xs:annotation>
    2.30  			</xs:element>
    2.31  		</xs:sequence>	
    2.32 @@ -45,8 +58,8 @@
    2.33  						<xs:documentation>
    2.34  							Zda musí URL vyhovovat výrazu přesně – včetně velikosti písmen.
    2.35  							Při neuvedení tohoto atributu nemusí – takže bude vyhovovat např.
    2.36 -								jak "http://example.com/index.xhtml",
    2.37 -								tak i "http://EXAMPLE.COM/index.xhtml".
    2.38 +								jak „http://example.com/index.xhtml“,
    2.39 +								tak i „http://EXAMPLE.COM/index.xhtml“.
    2.40  						</xs:documentation>
    2.41  					</xs:annotation>
    2.42  				</xs:attribute>
     3.1 --- a/xml/prodlužovač.xsl	Sat Nov 12 00:44:35 2011 +0100
     3.2 +++ b/xml/prodlužovač.xsl	Sat Nov 12 17:02:44 2011 +0100
     3.3 @@ -23,20 +23,63 @@
     3.4  			</head>
     3.5  			<body>
     3.6  				<p>
     3.7 -					Maximální počet přesměrování: 
     3.8 +					Maximální počet přesměrování:
     3.9  					<xsl:value-of select="p:prodlužovač/p:limitPřesměrování/text()"/>
    3.10  				</p>
    3.11  				
    3.12 +				<xsl:choose>
    3.13 +					<xsl:when test="p:prodlužovač/p:tvářitSeJakoProhlížeč">
    3.14 +						<p>V HTTP požadavcích budeme posílat hlavičku User-Agent s hodnotou:</p>
    3.15 +						<pre><xsl:value-of select="p:prodlužovač/p:tvářitSeJakoProhlížeč/text()"/></pre>
    3.16 +						<p>Server si tedy bude myslet, že jsme tento www prohlížeč.</p>
    3.17 +					</xsl:when>
    3.18 +					<xsl:otherwise>
    3.19 +						<p>V HTTP požadavcích nebudeme posílat žádnou hlavičku User-Agent.</p>
    3.20 +					</xsl:otherwise>
    3.21 +				</xsl:choose>
    3.22 +				
    3.23 +				
    3.24  				<p>Podporované zkracovače:</p>
    3.25  				<ul>
    3.26  					<xsl:for-each select="p:prodlužovač/p:zkracovače/p:url">
    3.27 -						<li>
    3.28 -							<xsl:value-of select="text()"/>
    3.29 -						</li>
    3.30 +						<xsl:element name="li">
    3.31 +							<xsl:if test="@popis">
    3.32 +								<xsl:attribute name="title"><xsl:value-of select="@popis"/></xsl:attribute>
    3.33 +							</xsl:if>
    3.34 +							
    3.35 +							<code><xsl:value-of select="text()"/></code>
    3.36 +							
    3.37 +							<xsl:if test="@záležíNaVelikosti = 'true'">
    3.38 +								<xsl:call-template name="ikonaZáležíNaVelikosti"/>
    3.39 +							</xsl:if>
    3.40 +						</xsl:element>
    3.41  					</xsl:for-each>
    3.42  				</ul>
    3.43  			</body>
    3.44  		</html>
    3.45  	</xsl:template>
    3.46 +	
    3.47 +	
    3.48 +	<xsl:template name="ikonaZáležíNaVelikosti">
    3.49 +		<img	alt="záleží na velikosti písmen"
    3.50 +				title="Záleží na velikosti písmen"
    3.51 +				style="margin-left: 8px;"
    3.52 +				src="data:image/png;base64,
    3.53 +					iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACm0lEQVR42o3S3UuTURwH8EUXFaYG
    3.54 +					WimaK23zraJ/QWLiyA2jksl0jTZFzaQZqGAMUjS1MUMMi27CkNFFdrMGTmR24Zq0mCCSsGmytnRv
    3.55 +					zHTqdNq333MICZ8bLz485znnPN/nd14EAI7k2pPr5nxdMXIb8iHUiiCsFSPvQYH5yAGFj6/g/dJp
    3.56 +					WMLJmPidwmTdywMbHBwcPE6UxEYWSIC4yACRkyRRc6GV+0A1nH4QcvauEAKDwZBMnCaTCXNzc1he
    3.57 +					Xobf78fi4iIcDgfGxsbQ2d/pFz8sdt95cQ5vZpOgGDjDQtJu50DQ3d390mKxIBwOIxKJcFg7Go0y
    3.58 +					P34toaxfCtnzTDz9dAq3DOlILc9iyzmvuAiBXq/3+nw+NnlychJdXV2gvu3e3l7YbDZo392HtP8C
    3.59 +					6l6fwM2+DGSrL3/PVF6ayKzORY5GZBa0t7d/IPjHRtIAcP2FHR0df1Rvq1FuFKKsLxtFrVcXRM1F
    3.60 +					Gf9v7kFDp9OJSR0ZJl/a2triZrMZK9EV1I5qIXl2AyX6EuHh0xE0NjYeI61U9p7VasX8/DxCoRDi
    3.61 +					8TgSicSBlpYW0LyTvACtVvtoaGgIGxsb2N3dxdbWFtxuN7gwo9GIYDCI/f19NDU1gebyA2pqahyr
    3.62 +					q6vsL+Pj41Cr1THqM5EGMksnwoI1Gg3onR9QVVW1F4vFsL6+DoVCsV1ZWZnCDdBTrFKpdgKBANbW
    3.63 +					1qBUKkF9/ICKiooglcxKpTWC3j+TjzQ5xt2Pzc1NFl5fX8/GeAFSqXSU2wMqlYVMT09jamoK3LK8
    3.64 +					Xi/sdju3P6wKuVwOXoBEIskoLS392dPTA6fTya6xy+XCyMgIZDLZDi0DMzMz8Hg8oJ8leAEAuJBU
    3.65 +					0ke+kRBxklekgNSSr8THtQ8H/AW7B5q5mb/toAAAAABJRU5ErkJggg==
    3.66 +				"/>
    3.67 +				<!-- cat /usr/share/icons/oxygen/16x16/actions/format-font-size-more.png | base64 -->
    3.68 +	</xsl:template>
    3.69  
    3.70  </xsl:stylesheet>
    3.71 \ No newline at end of file