문화유산:장소지도.xsl: 두 판 사이의 차이

Classics Wiki
편집 요약 없음
편집 요약 없음
 
(다른 사용자 한 명의 중간 판 5개는 보이지 않습니다)
1번째 줄: 1번째 줄:
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="text" encoding="UTF-8"/>
     <xsl:template match="/">
    <xsl:strip-space elements="*"/>
        <html>
        <head>
            <meta charset="UTF-8"/>
            <title>문화유산:장소지도</title>
            <link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css"/>
            <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
            <style>
                .place-table { width: 100%; border-collapse: collapse; font-family: "Malgun Gothic", serif; }
                .place-table td { border: 1px solid #aaa; padding: 15px; text-align: left; }
                .place-table th { border: 1px solid #aaa; padding: 15px; background-color: #e8f0f7; color: #2c3e50; text-align: center; }
            </style>
        </head>
        <body>
            <table class="place-table">
                <tr>
                    <th width="10%">명칭</th>
                    <th width="10%">주소</th>
                    <th width="10%">건립</th>
                    <th width="70%">설명</th>
                </tr>
                <xsl:for-each select="/place_list/place">
<tr>
<td> <!--명칭-->
<xsl:value-of select="name/korean"/><br/>
<xsl:value-of select="name/hanja"/><br/>
<xsl:value-of select="name/english"/><br/>
                            <xsl:if test="alias">
                                <br/><br/>
                                <span style="color:#666;">별칭:</span><br/>
                                <xsl:value-of select="alias/korean"/><br/>
                                <xsl:value-of select="alias/hanja"/><br/>
                                <xsl:value-of select="alias/english"/>
                            </xsl:if>
</td>
<td> <!--주소-->
<xsl:value-of select="address"/>
    <!--
<xsl:value-of select="coordinates/latitude"/><br/>
<xsl:value-of select="coordinates/longitude"/><br/>
<xsl:value-of select="coordinates/altitude"/><br/>
    -->
</td>
<td> <!--건립-->
<xsl:value-of select="established/year"/><br/>
<xsl:value-of select="established/reign_year"/><br/>
</td>
<td> <!--해설과 지도-->
<xsl:for-each select="description/p">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">
</xsl:if>
</xsl:for-each>
<br/><br/>
<div id="map" style="width:100%; height:300px;"></div>
<script>
var lat = <xsl:value-of select="coordinates/latitude"/>;
var lon = <xsl:value-of select="coordinates/longitude"/>;


<xsl:template match="/">
var map = L.map('map').setView([lat, lon], 16);
  <html>
    <head>
      <meta charset="UTF-8"/>
      <title>문화유산:장소지도</title>
      <link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css"/>
      <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
    </head>
    <body>
        <xsl:apply-templates select="place_list"/>
    </body>
  </html>
</xsl:template>


<xsl:template match="place_list">
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
        <xsl:apply-templates select="place"/>
  maxZoom: 19,
</xsl:template>
  attribution: '&amp;copy; OpenStreetMap contributors'
}).addTo(map);


<xsl:template match="place">
L.marker([lat, lon]).addTo(map)
      <h2><xsl:value-of select="@id"/></h2>
  .bindPopup('<xsl:value-of select="name/korean"/>')
 
  .openPopup();
      <p>
</script>
        <b>명칭:</b>
</td>
        <xsl:value-of select="name/korean"/>
                    </tr>
        (<xsl:value-of select="name/hanja"/>,
                </xsl:for-each>
        <xsl:value-of select="name/english"/>)
            </table>
      </p>
         </body>
 
         </html>
      <p>
    </xsl:template>
        <b>주소:</b>
</xsl:stylesheet>
        <xsl:value-of select="address"/>
        (
        <xsl:value-of select="coordinates/latitude"/>,
        <xsl:value-of select="coordinates/longitude"/>,
        <xsl:value-of select="coordinates/altitude"/>
         )
      </p>
 
      <div id="map" style="width:600px; height:400px;"></div>
 
      <script>
        var lat = <xsl:value-of select="coordinates/latitude"/>;
        var lon = <xsl:value-of select="coordinates/longitude"/>;
 
        var map = L.map('map').setView([lat, lon], 16);
 
        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
          maxZoom: 19,
          attribution: '&amp;copy; OpenStreetMap contributors'
        }).addTo(map);
 
         L.marker([lat, lon]).addTo(map)
          .bindPopup('<xsl:value-of select="name/korean"/>')
          .openPopup();
      </script>
</xsl:template>
 
</xsl:stylesheet>


==오류 검사==
==오류 검사==

2026년 4월 6일 (월) 01:25 기준 최신판

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/">
       
        
            
            문화유산:장소지도
            
            
            
        
        
            
					
명칭 주소 건립 설명





별칭:






</xsl:template> </xsl:stylesheet>

오류 검사

🔍 XML 유효성 검사기: 문화유산:장소지도.xsl