2013-07-09 3 views
1

줄 바꿈이나 들여 쓰기가없는 XML이 포함 된 String이 있습니다. 좋은 서식 및 구문 강조 함께 문자열로 바꾸고 싶습니다. 나는 그런 간단한 일을 위해 웹 프레임 워크 나 웹 브라우저를 사용하고 싶지 않다. 어떻게해야합니까?스몰 토크에서 XML을 출력하는 방법은?

| unformattedXml formattedXml | 
unformattedXml := '<tag><nested>hello</nested></tag>'. 
formattedXml := UnknownClass new format: unformattedXml. 

참고 : 입력 한 내용이 String입니다. 내 출력은 문자열입니다.

답변

0

squeaksource.com, ss3.gemstone.comsmalltalkhub.com의 XML 패키지를 살펴보십시오. 예쁜 인쇄물에 적합해야합니다.

구문 강조는 인쇄 할 매체에 따라 달라 지므로 다른 이야기입니다. 당신의 목표는 무엇입니까? 스몰 토크 환경에서 구문 강조를 원한다고 가정 할 수는 있지만 웹 브라우저를 사용하고 싶지는 않습니까? 그렇다면 PetitParser에 의지해야하고 아마도 자신의 파서를 작성해야합니다 (아마도 그렇게하고 싶지 않을 것입니다). 어쩌면 당신이 성취하고자하는 것에 대해 더 자세히 알려줄 수 있습니까?

1

꽤 사용할 수있는 XML 문자열을 인쇄하려면 그것은 당신에게 내가 구문

을 강조하기위한 최선의 선택 일 것입니다 무슨 모르는

<a> 
    <b> 
     <c /> 
    </b> 
</a> 

을 제공한다

xmlString := '<a><b><c></c></b></a>'. 
xml := XMLDOMParser parseDocumentFrom: xmlString. 
^ String streamContents: [:stream| 
    xml prettyPrintOn: stream ] 

다음