SXML리스프스킴에서 XML 데이터 작업을 용이하게 하기 위해 XML 데이터(보다 정확하게는 XML Infoset[1])를 S-표현식으로 작성하는 대체 구문이다. 관련 도구 세트는 스킴에서 SXML용 XPath, SAX 및 XSLT를 구현하고 해당 언어의 GNU 가일 구현에서 사용할 수 있다.[2][3]

샘플 XML 조각에 대한 SXML과 XML 간의 텍스트 대응은 다음과 같다.

XML SXML
<tag attr1="value1"
     attr2="value2">
  <nested>Text node</nested>
  <empty/>
</tag>
(tag (@ (attr1 "value1")
        (attr2 "value2"))
  (nested "Text node")
  (empty))

XML 및 관련 언어에 대한 다른 대체 표현과 비교할 때 SXML은 기존 스킴 구현을 통해 직접 구문 분석할 수 있다는 이점이 있다. 관련 도구와 문서는 IBM DeveloperWorks 칼럼에서 데이비드 메르츠(David Mertz)가 여러 측면에서 칭찬했지만 문서와 시스템의 예비적 특성에 대해서도 비판했다.[4]

각주 편집

  1. Kiselyov, Oleg (2002). “SXML Specification”. 《ACM SIGPLAN Notices》 37 (6): 52–58. doi:10.1145/571727.571736. S2CID 13955814. 
  2. Kiselyov, Oleg; Lisovsky, Kirill (2002). 《XML, XPath, XSLT Implementations as SXML, SXPath, and SXSLT》 (PDF). International Lisp Conference. 
  3. Kiselyov, Oleg; Krishnamurthi, Shriram (2003). 《SXSLT: Manipulation Language for XML》. Practical Aspects of Declarative Languages. Lecture Notes in Computer Science. 256–272쪽. doi:10.1007/3-540-36388-2_18. ISBN 978-3-540-00389-2. 
  4. Mertz, David (2003년 10월 23일). “XML Matters: Investigating SXML and SSAX”. 《IBM developerWorks》. 2004년 12월 4일에 원본 문서에서 보존된 문서. 2015년 1월 10일에 확인함. 

외부 링크 편집