2012-10-11 64 views
1

使用JavaScript,我想在我XLST文件中使用這個腳本在XSLT文件

function padNumber(num, len){ 
    var str = ''+num; 
    while(str.length < len){ 
     str = '0' + str; 
     } 
     return str; 
} 

但嘗試調試時,我得到這個錯誤。

XslLoadException ---------------- XSLT編譯錯誤。

XmlException ------------名稱不能以''字符開頭,十六進制值爲0x20。 522線,位置27

線522

while(str.length < len){ 

有什麼建議?

+3

'<'是一個xml/xslt元字符......它不能在任何一種文檔中出現未編碼。它應該是'<' –

+0

@MarcB謝謝,它做了 –

+0

@Rufio發表了一個答案,之後,將其標記爲已接受,所以其他人會知道。 – Alfabravo

回答

1

爲了可重用性,您還可以將JavaScript代碼放入CDATA部分。在這種情況下,您不需要更改JS代碼。

但是,CDATA部分中的文本不得包含字符串"]]>"。如果是這樣,這個字符串必須在兩個連續的CDATA部分之間分割。

我相信對於一個典型的JS代碼來說,包含該字符串的可能性不大,但是不管它有多細長,都必須意識到這種可能性。

0

<是一個xml/xslt元字符......它不能在任何一種文檔中出現未編碼。它應該是&lt;