2009-10-29 4 views
1

내가 가진 무엇 :이러한 템플릿 엔진은 어떻게 구현합니까?

내가 내 프로그램 especcially 등등 포럼, 웹 사이트 및 들어 훨씬 더 읽을 수있는 형식으로 변환 텍스트 표현을 얻었다.

이유는 templage 엔진

다양한 포럼과 블로그가있는 것처럼

, 각각의 구문이 다를 수 있습니다 필요합니까. 다른 구문을 하드 코딩하는 대신 원하는 구문으로 출력을 포맷팅하기 위해 각 구문에 대해 하나의 클래스를 생성하고 싶습니다 (쉽게 수정할 수있는 XML 파일로 확장 가능). 나는 내가 그 가장 우아한 방법으로 할 수있는 방법

class xyz { 
    private string start_bold = "[B]"; 
    private string end_bold = "[/B]"; 

    public string bold(string s) { 
     return start_bold + s + end_bold; 
    } 
} 

같은 뭔가가 필요 예를 들어

상상했던 어떤

? 필자가 필요로하는 템플릿 엔진이 무엇인지 모르기 때문에이 질문을 편집하십시오. 지금은 더 좋은 단어가 없습니다.

도움 주셔서 감사합니다.

몇 가지 추가 정보 : Andrew's 대답은 좋은 힌트했지만, 이해가 어떻게이 방법 내가 할 수있는 여러 가지 스타일. 현재 나는 어려운 방법입니다 :

이 예제에서는 출력을 포럼 용으로 설계하고 싶습니다. 앞으로 나는이처럼하고 싶으면 :

Layout l = new Layout("html"); 
string s = String.Format("Output of {0} with number {1}, 
          l.bold(Data.Type), 
          l.italic(Data.Number); 
//desired output if style "html" is chosen: 
"Output of <b>Name</b> with number <i>5</i>" 

//desired output if style "phpbb" is chosen: 
"Output of [b]Name[/b] with number [i]5[/i]" 

난 그냥이가 가장 우아한 방법으로 할 수있는 방법을 모르겠어요.

XML 정보 : XML 문서에서는 스타일 관례 만 추출해야합니다. 즉, 코드를 사용하지 않고 사용자 정의 스타일을 추가해야합니다.

+0

데이터 가져 오기 및 출력 결과를 제공 할 수 있습니까? 그냥 몇 줄? 나는 아직도 너를 보지 못해. 미안. . . 정말 도움이되고 싶습니다 – andrewWinn

+0

문자열에서 위치를 찾고 대담하게 만들려고하십니까? 예를 들면? 데이터에 어떤 종류의 일관성이 있습니까? "텍스트 표현"이란 무엇을 의미합니까? 나는 당신의 문제를 이해하기 시작하고 있다고 생각합니다. . 너무 빽빽한 것에 대해 유감스럽게 생각합니다. 금요일과 주말에 갈 시간은 2 시간입니다.) – andrewWinn

+0

몇 가지 다른 구문으로 쉽게 포맷하고 싶습니다. 내가 선택한 스타일에 따라 ""또는 " '' '"대신 "[b]"태그가있는 문자열을 반환하고 싶습니다. – Sven

답변

관련 문제