Episode.xsl: 두 판 사이의 차이
편집 요약 없음 |
편집 요약 없음 |
||
| 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" | ||
<xsl:output method="html" encoding="UTF-8" indent="yes"/> | xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
xmlns="http://www.w3.org/1999/xhtml"> | |||
<xsl:output method="html" encoding="UTF-8" indent="yes" doctype-system="about:blank"/> | |||
<!-- 루트 템플릿 --> | |||
<xsl:template match="/"> | <xsl:template match="/"> | ||
< | <html lang="ko"> | ||
< | <head> | ||
</div> | <meta charset="UTF-8"/> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> | |||
<title><xsl:value-of select="episode/title"/></title> | |||
<style> | |||
body { | |||
font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", sans-serif; | |||
background-color: #f8fafc; | |||
color: #1e293b; | |||
margin: 0; | |||
padding: 40px 20px; | |||
display: flex; | |||
</ | justify-content: center; | ||
} | |||
.card { | |||
background: #ffffff; | |||
max-width: 720px; | |||
width: 100%; | |||
border-radius: 16px; | |||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); | |||
border: 1px solid #e2e8f0; | |||
padding: 40px; | |||
box-sizing: border-box; | |||
} | |||
.badge { | |||
display: inline-block; | |||
background: #e0e7ff; | |||
color: #4338ca; | |||
font-size: 0.85rem; | |||
font-weight: 600; | |||
padding: 4px 12px; | |||
border-radius: 20px; | |||
margin-bottom: 16px; | |||
text-transform: uppercase; | |||
letter-spacing: 0.05em; | |||
} | |||
h1.title { | |||
font-size: 1.75rem; | |||
font-weight: 700; | |||
color: #0f172a; | |||
margin: 0 0 24px 0; | |||
line-height: 1.35; | |||
border-bottom: 2px solid #f1f5f9; | |||
padding-bottom: 16px; | |||
} | |||
.narrative-box { | |||
font-size: 1.05rem; | |||
line-height: 1.8; | |||
color: #334155; | |||
white-space: pre-line; /* XML 본문의 줄바꿈을 그대로 유지 */ | |||
word-break: keep-all; | |||
} | |||
</style> | |||
</head> | |||
<body> | |||
<div class="card"> | |||
<span class="badge">Episode</span> | |||
<h1 class="title"> | |||
<xsl:value-of select="episode/title"/> | |||
</h1> | |||
<div class="narrative-box"> | |||
<xsl:value-of select="episode/narrative"/> | |||
</div> | |||
</div> | |||
</body> | |||
</html> | |||
</xsl:template> | </xsl:template> | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
2026년 8월 20일 (목) 15:44 판
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" encoding="UTF-8" indent="yes" doctype-system="about:blank"/>
<xsl:template match="/">
<xsl:value-of select="episode/title"/>
Episode
</xsl:template>
</xsl:stylesheet>