xref: /aosp_15_r20/external/apache-xml/test/tests/perf/output/outputHhref.xsl (revision 1212f9a0ffdc28482b8821715d2222bf16dc14e2)
1*1212f9a0SAndroid Build Coastguard Worker<?xml version="1.0" encoding="ISO-8859-1"?>
2*1212f9a0SAndroid Build Coastguard Worker<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3*1212f9a0SAndroid Build Coastguard Worker<xsl:output method="html"/>
4*1212f9a0SAndroid Build Coastguard Worker
5*1212f9a0SAndroid Build Coastguard Worker  <!-- Purpose: ESC of non-ASCII chars in URI attribute	values using method
6*1212f9a0SAndroid Build Coastguard Worker       cited in Section B.2.1 of HTML 4.0 Spec. -->
7*1212f9a0SAndroid Build Coastguard Worker
8*1212f9a0SAndroid Build Coastguard Worker<xsl:template match="doc">
9*1212f9a0SAndroid Build Coastguard Worker  <html>
10*1212f9a0SAndroid Build Coastguard Worker  <head>
11*1212f9a0SAndroid Build Coastguard Worker    <title>
12*1212f9a0SAndroid Build Coastguard Worker      <xsl:value-of select="header"/>
13*1212f9a0SAndroid Build Coastguard Worker    </title>
14*1212f9a0SAndroid Build Coastguard Worker  </head>
15*1212f9a0SAndroid Build Coastguard Worker  <!-- Note the body/@background should be escaped as well, I think -->
16*1212f9a0SAndroid Build Coastguard Worker  <body background="file&apos;&#037;.gif">
17*1212f9a0SAndroid Build Coastguard Worker    <xsl:apply-templates select="list"/>
18*1212f9a0SAndroid Build Coastguard Worker  </body>
19*1212f9a0SAndroid Build Coastguard Worker  </html>
20*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
21*1212f9a0SAndroid Build Coastguard Worker
22*1212f9a0SAndroid Build Coastguard Worker<xsl:template match="list">
23*1212f9a0SAndroid Build Coastguard Worker  <h1>List</h1>
24*1212f9a0SAndroid Build Coastguard Worker  <xsl:apply-templates select="list | item"/>
25*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
26*1212f9a0SAndroid Build Coastguard Worker
27*1212f9a0SAndroid Build Coastguard Worker<!-- A simplistic template for testing performance of HTML escaping;
28*1212f9a0SAndroid Build Coastguard Worker     vaguely like what you might see in real life.  Includes various
29*1212f9a0SAndroid Build Coastguard Worker     avt's interspersed with escaped characters and one non-escaped
30*1212f9a0SAndroid Build Coastguard Worker     attribute font/@color.
31*1212f9a0SAndroid Build Coastguard Worker-->
32*1212f9a0SAndroid Build Coastguard Worker<xsl:template match="item">
33*1212f9a0SAndroid Build Coastguard Worker  <br/>
34*1212f9a0SAndroid Build Coastguard Worker  spacer
35*1212f9a0SAndroid Build Coastguard Worker
36*1212f9a0SAndroid Build Coastguard Worker    <p>1. "&amp;"  <A HREF="&amp;{.}"><xsl:copy-of select="text()"/></A></p>
37*1212f9a0SAndroid Build Coastguard Worker    <p>2. "&lt;"   <img src="&lt;"></img></p>
38*1212f9a0SAndroid Build Coastguard Worker    <p>3. "&gt;"   <IMG src="&gt;"></IMG></p>
39*1212f9a0SAndroid Build Coastguard Worker    <p>4. "&quot;" <img SRC="&quot;{text()}"/></p>
40*1212f9a0SAndroid Build Coastguard Worker    <p>5. "&apos;" <font color="&apos;"><xsl:copy-of select="text()"/></font></p>
41*1212f9a0SAndroid Build Coastguard Worker    <p>6. "&#169;" <a HREF="&#169;"><xsl:value-of select="text()"/></a></p>
42*1212f9a0SAndroid Build Coastguard Worker    <p>7. "&#035;" <A href='&amp;{{text()}}between&#035;after'>Note the amp-double-braces should be escaped differently</A></p>
43*1212f9a0SAndroid Build Coastguard Worker    <p>8. "&#165;" <A href="&#165;after"><xsl:value-of select="text()"/></A></p>
44*1212f9a0SAndroid Build Coastguard Worker    <p>9. "&#032;" <a href="before&#032;"><xsl:copy-of select="text()"/></a></p>
45*1212f9a0SAndroid Build Coastguard Worker    <p>10."&#037;" <IMG SRC="{.}&#037;"><xsl:value-of select="."/></IMG></p>
46*1212f9a0SAndroid Build Coastguard Worker    <p>11."&#009;" <A href="beforeand&#009;after">No value</A></p>
47*1212f9a0SAndroid Build Coastguard Worker    <p>12."&#127;" <A HREF="{.}&#127;after"><xsl:value-of select="."/></A></p>
48*1212f9a0SAndroid Build Coastguard Worker    <p>13."&#209;" <A href="&#209;">plain text</A></p>
49*1212f9a0SAndroid Build Coastguard Worker    <P>14."&#338;" <A href="&#338;">more plain text</A></P>
50*1212f9a0SAndroid Build Coastguard Worker</xsl:template>
51*1212f9a0SAndroid Build Coastguard Worker
52*1212f9a0SAndroid Build Coastguard Worker
53*1212f9a0SAndroid Build Coastguard Worker  <!--
54*1212f9a0SAndroid Build Coastguard Worker   * Licensed to the Apache Software Foundation (ASF) under one
55*1212f9a0SAndroid Build Coastguard Worker   * or more contributor license agreements. See the NOTICE file
56*1212f9a0SAndroid Build Coastguard Worker   * distributed with this work for additional information
57*1212f9a0SAndroid Build Coastguard Worker   * regarding copyright ownership. The ASF licenses this file
58*1212f9a0SAndroid Build Coastguard Worker   * to you under the Apache License, Version 2.0 (the  "License");
59*1212f9a0SAndroid Build Coastguard Worker   * you may not use this file except in compliance with the License.
60*1212f9a0SAndroid Build Coastguard Worker   * You may obtain a copy of the License at
61*1212f9a0SAndroid Build Coastguard Worker   *
62*1212f9a0SAndroid Build Coastguard Worker   *     http://www.apache.org/licenses/LICENSE-2.0
63*1212f9a0SAndroid Build Coastguard Worker   *
64*1212f9a0SAndroid Build Coastguard Worker   * Unless required by applicable law or agreed to in writing, software
65*1212f9a0SAndroid Build Coastguard Worker   * distributed under the License is distributed on an "AS IS" BASIS,
66*1212f9a0SAndroid Build Coastguard Worker   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
67*1212f9a0SAndroid Build Coastguard Worker   * See the License for the specific language governing permissions and
68*1212f9a0SAndroid Build Coastguard Worker   * limitations under the License.
69*1212f9a0SAndroid Build Coastguard Worker  -->
70*1212f9a0SAndroid Build Coastguard Worker
71*1212f9a0SAndroid Build Coastguard Worker</xsl:stylesheet>
72