이 작업을 완료하려면이 작업이 중요합니다. Roberto가 제안한 것을 사용하는 것이 가장 좋지만 Erlang에 익숙해지기 위해 프로젝트로 작성하기로 결정한 경우 다음과 같이 제안합니다.
먼저, 파서를 코딩하거나 leex and yecc을 사용하여 문법에서 파서를 생성하십시오. 관용적 인 Erlang을 작성하는 법을 배우려면 손으로 코딩하는 것이 더 나은 학습 경험이 될 수 있습니다. 파서를 작성하는 것은 Erlang을 소개하는 훌륭한 방법입니다. 함수형 프로그래밍 언어는 파서 구현에 탁월합니다.
둘째, Erlang에서 DOM과 유사한 구조를 생성할지 또는 behaviour으로 알려진 SAX와 같은 콜백 모델을 수행할지 결정해야합니다. 후자를 수행하는 경우 단순히 DOM을 작성하는 동작을 구현할 수 있습니다.
행동을 살펴보면 parametrized modules을 살펴볼 수도 있습니다. 이는 행동을 보완 할 수있는 실험적 기능으로, "모듈 인스턴스"내에 불변 상태를 저장할 수 있습니다. 이 새로운 기능이 커뮤니티에서 지원 될지 여부는 알려져 있지 않습니다. (어떤 사람들에게는 단지 너무 좋아 보인다).
또 다른 훌륭한 리소스는 xmerl 코드입니다. 문자 인코딩을 결정하고 그에 따라 구문 분석하는 방법에 가깝게 지불하십시오. HTML (유사 표준)은 약간 다르게 작동하지만 파일을 읽을 때 적절한 문자 인코딩을 고려해야합니다.
또한 xmerl에서 Erlang 튜플을 사용하여 해당 라이브러리가 DOM을 구성하는 방법을 확인할 수 있습니다. 비슷한 것을하고 싶을 수도 있습니다.
아마 나는 매개 변수가있는 모듈을 조사하는 것이 좋습니다. 그것을 피하기위한 좋은 주장이 있습니다 (http://stackoverflow.com/questions/2291155/what-alternatives-are-there-to-parameterised-modules-in-erlang). – dsmith
답장을 보내 주셔서 감사합니다. 많은 사람들이 사용하게 될 학습 운동이 아닙니다. XMerl은 볼만한 훌륭한 자료입니다. – dagda1