<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3AAdditionalChapter8_4</id>
	<title>GnuSmalltalkUsersGuide:AdditionalChapter8 4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3AAdditionalChapter8_4"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:AdditionalChapter8_4&amp;action=history"/>
	<updated>2026-05-01T17:07:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:AdditionalChapter8_4&amp;diff=4343&amp;oldid=prev</id>
		<title>Onionmixer: GSUG XSL 처리하기 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:AdditionalChapter8_4&amp;diff=4343&amp;oldid=prev"/>
		<updated>2014-02-01T10:41:22Z</updated>

		<summary type="html">&lt;p&gt;GSUG XSL 처리하기 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;XSL 처리하기&lt;br /&gt;
&lt;br /&gt;
==XSL 처리하기==&lt;br /&gt;
&lt;br /&gt;
VW의 XSL 라이브러리를 어떻게 일을 시킬 것인지를 고민하느라 지난 주를 보냈다. 더 이상 필요하지 않지만 당장 인식할 필요가 있는 것들을 몇 가지 발견했다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML 문서를 변환 시 XSL과 XML 문서를 먼저 따로 파싱할 것을 요한다. 이후 XSL RuleDatabase에게 XML 문서를 처리할 것을 알린다. 그 결과, 변환내용(transformation)의 또 다른 XML 문서가 생긴다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
이를 위한 코드 조각은 아래와 같다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;smalltalk&amp;quot;&amp;gt;&lt;br /&gt;
| rules xmlDoc htmlDoc |&lt;br /&gt;
&lt;br /&gt;
rules := XSL RuleDatabase new readFileNamed: &amp;#039;paymentspending.xsl&amp;#039;.&lt;br /&gt;
xmlDoc := XML XMLParser&lt;br /&gt;
    processDocumentInFilename: &amp;#039;paymentspending.xml&amp;#039;&lt;br /&gt;
    beforeScanDo: [ :p | p validate: false ].&lt;br /&gt;
htmlDoc := rules process: xmlDoc.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
readFileNamed: 대신 사용할 수 있는 메서드로 readString: 이 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
VM의 XSL 라이브러리는 W3가 승인한 stylesheet를 사용하는 대신 draft 버전(Microsoft가 사용하는 것과 동일)을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet xmlns:xsl=&amp;quot;http://www.w3.org/TR/WD-xsl&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
함수 position()과 count()는 구현되지 않았는데, 구현된 경우 다른 XSL 툴이 구현하는 방식대로 구현되지 않는다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>