SXML은리스프 및스킴에서XML 데이터 작업을 용이하게 하기 위해 XML 데이터(보다 정확하게는XML Infoset[1])를 S-표현식으로 작성하는 대체 구문이다. 관련 도구 세트는 스킴에서 SXML용 XPath, SAX 및 XSLT를 구현하고 해당 언어의GNU 가일 구현에서 사용할 수 있다.[2][3]
샘플 XML 조각에 대한 SXML과 XML 간의 텍스트 대응은 다음과 같다.
XML | SXML |
---|
<tagattr1="value1"attr2="value2"><nested>Textnode</nested><empty/></tag> | (tag(@(attr1"value1")(attr2"value2"))(nested"Text node")(empty)) |
XML 및 관련 언어에 대한 다른 대체 표현과 비교할 때 SXML은 기존 스킴 구현을 통해 직접 구문 분석할 수 있다는 이점이 있다. 관련 도구와 문서는 IBM DeveloperWorks 칼럼에서 데이비드 메르츠(David Mertz)가 여러 측면에서 칭찬했지만 문서와 시스템의 예비적 특성에 대해서도 비판했다.[4]
- ↑Kiselyov, Oleg (2002). “SXML Specification”. 《ACM SIGPLAN Notices》37 (6): 52–58.doi:10.1145/571727.571736.S2CID 13955814.
- ↑Kiselyov, Oleg; Lisovsky, Kirill (2002).《XML, XPath, XSLT Implementations as SXML, SXPath, and SXSLT》(PDF). International Lisp Conference.
- ↑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.
- ↑Mertz, David (2003년 10월 23일).“XML Matters: Investigating SXML and SSAX”. 《IBM developerWorks》. 2004년 12월 4일에원본 문서에서 보존된 문서. 2015년 1월 10일에 확인함.