1
동적으로 생성 된 XML 데이터 아일랜드를 변환하려고 시도했지만 XSL 파일을 사용하여 정렬했지만 결과는 XML 형식 또는 적절한 들여 쓰기가없는 한 줄에 정렬 된 데이터입니다. 그게 전혀 사용되지 않는 것 같습니다. XML 태그 및 결과 transformNode() 생성 된 들여 쓰기가 필요합니다.XSL 파일의 javascript XML 처리가 작동하지 않습니다.
자바 스크립트 코드 :
var sourceXML = document.getElementById(XMLViewID); //textArea containing XML
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(sourceXML.value);
var xslDoc = new ActiveXObject("Microsoft.XMLDOM");
xslDoc.async=false;
xslDoc.load("xsl.xsl");
// This should be the sorted, formatted XML data, in tree and indented format?
var sorted = xmlDoc.transformNode(xslDoc);
XML 데이터 :
<table>
<row>
<A>j</A>
<B>0</B>
</row>
<row>
<A>c</A>
<B>4</B>
</row>
<row>
<A>f</A>
<B>6</B>
</row>
</table>
xsl.xsl :
<xsl:output method="xml" indent="yes" omit-xml-declaration="no"/>
<xsl:template match="/">
<xsl:apply-templates select="table/row">
<xsl:sort select="A" order="ascending"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="row">
<xsl:value-of select="A"/>
<xsl:value-of select="B"/>
</xsl:template>
내가 '들여 쓰기 = 예'와 함께 가정 '을 생략-XML 선언 = 더'결과 변환 들여 쓰기 및 서식이 없을 것을 :
<?xml version="1.0" encoding="UTF-16"?>
<table>
<row>
<tr>
<A>j</A>
<B>0</B>
</tr>
<tr>
<A>c</A>
<B>4</B>
</tr>
<tr>
<A>f</A>
<B>6</B>
</tr>
</row>
</table>
을하지만 대신은 다음과 같습니다 c4f6j0을 한 줄에, 형식이없는, 아니 XML 태그 ...
일치와 템플릿과 같은 코드를 작성해야 지금까지 당신의 XSLT는, 텍스트 노드를 제외한 아무 것도 생산하지 = " @ * | node()는 항등 변환입니다. 다른 템플리트에서 언급되지 않은 노드와 속성이있는 그대로 복사됩니다. [more] (http://cnx.org/content/m43518/latest/) –
그 안에 xml 태그를 얻는 데 효과적이었습니다. 나는 내 다음 질문에 대한 답을 이미 알고 있다고 생각하지만 들여 쓰기 된 서식을 정렬 된 문자열에도 넣을 수있는 방법이 있습니까? 내가 얻은 결과는 모든 것이지만 들여 쓰기가없는 것입니다. 내 생각 엔 xml 결과를 표시하는 것이 무엇이든간에 xslt가이를 자동으로 추가 할 수있는 방법이 있다면 멋질 것입니다. – Andy
http://stackoverflow.com/search?q=[xslt]+white+space+preserve의 답변을 검토해보십시오. –