2009-08-13 5 views
4

많은 답변이 검색 결과에 나타나지 않았기 때문에 이에 대한 대답은 '아니오'일 수 있습니다. 나는 오래 전에 이걸 보았다고 생각했지만, 모두 신기루 일 수도 있습니다.xslt로 컴파일 하시겠습니까?

기본적으로 손으로 xslt를 쓰는 것은 정말 끔찍한 일입니다. 그것은 나를 괴롭히는 기능적인 패러다임이 아닙니다. 나를 괴롭히는 것은 XML 기반 구문을 사용한다는 사실입니다. 더 간단한 구문을 XSLT 스타일 시트로 컴파일 할 수있는 것이 있으면 사용할 수 있을지 궁금합니다. 중괄호를 사용할 필요는 없지만 꺾쇠 괄호는 약간 눈을 깜박입니다.

감사합니다.

답변

3

당신은 SXML로 XML에 S-표현을 번역 할 수 있습니다. 대신 꺾쇠 괄호를 사용, 이것은 약간 덜 복잡 구문에 괄호를 사용합니다 :

(xsl:template (@ (name "mytemplate")) 
    (xsl:if (@ (test "foo = 'bar'")) 
    (xsl:value-of (@ (select "@baz"))))) 

을이 XML에 비해 개선은 물론, 개인의 취향에 따라 달라집니다 여부.

0

아직 XSLT로 변환 할 컴파일러에 대해 알지 못합니다.

그러나 XSLT에서 더 쉽게 작업 할 수있는 몇 가지 도구/ide를 알고 있습니다.

Stylus Studio

Netbeans IDE이 또한 당신이 JSON를 작성하고 XML로 변환 할 수도있을 것 같군요 오픈 소스 도구 here.

1

을 찾을 수

무료입니다. JSON.NET은 두 형식간에 변환이 가능합니다.

이 XML :

<!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook V3.1//EN"> 
<glossary><title>example glossary</title> 
    <GlossDiv><title>S</title> 
    <GlossList> 
    <GlossEntry ID="SGML" SortAs="SGML"> 
    <GlossTerm>Standard Generalized Markup Language</GlossTerm> 
    <Acronym>SGML</Acronym> 
    <Abbrev>ISO 8879:1986</Abbrev> 
    <GlossDef> 
     <para>A meta-markup language, used to create markup 
languages such as DocBook.</para> 
     <GlossSeeAlso OtherTerm="GML"> 
     <GlossSeeAlso OtherTerm="XML"> 
    </GlossDef> 
    <GlossSee OtherTerm="markup"> 
    </GlossEntry> 
    </GlossList> 
    </GlossDiv> 
</glossary> 

는 JSON에서 다음과 같습니다

{ 
    "glossary": { 
     "title": "example glossary", 
     "GlossDiv": { 
      "title": "S", 
      "GlossList": { 
       "GlossEntry": { 
        "ID": "SGML", 
      "SortAs": "SGML", 
      "GlossTerm": "Standard Generalized Markup Language", 
      "Acronym": "SGML", 
      "Abbrev": "ISO 8879:1986", 
      "GlossDef": { 
           "para": "A meta-markup language, used to create markup languages such as DocBook.", 
        "GlossSeeAlso": ["GML", "XML"] 
          }, 
       "GlossSee": "markup" 
       } 
      } 
     } 
    } 
} 
+0

불행하게도 나는 당신의 JSON 변환이 많은 JSON 파서에 충실 생각하지 않습니다. json 멤버의 순서는 내 이해를 위해 보존되지 않지만 충실한 XML 표현을 위해 순서를 유지해야합니다. – Davorak

0

XML 문서를 처리 할 때 (대부분의) XSLT의 강력한 기능을 원하지만 XPath 외부의 자세한 구문이 싫은 경우에는 XQuery을 살펴보아야합니다.

+0

Xquery를 기본적으로 지원하는 브라우저를 보지 못했지만 모든 주요 브라우저가 XSLT를 지원합니다. – Breton

+0

브라우저는 XSLT에서 상당히 사소한 틈새입니다. 브라우저는 그보다 훨씬 많은 용도를 가지고 있으며, 브라우저에서도 꽤 무의미하다고 주장 할 것입니다. 게다가 XQuery는 1.0이 아닌 XSLT 2.0의 대안입니다. 그리고 내가 아는 모든 브라우저는 1.0 만 지원합니다. –

0

Oxygen XML 응용 프로그램은 SGML 기반의 모든 것을 유지 관리 할 때 이상하게 작동합니다. 메모장에서 XSLT를 작성하려고하지 마십시오, 당신은 아마 자살하게 될 겁니다 :)

http://www.oxygenxml.com/