2016-08-04 10 views
0

私はXSLTを書いていて、それをjavaで実行しました。私はSaxonを使用しています。私のプログラムを実行すると、私は以下の例外を得ました。出力メソッドでのxslt作成の混乱

Error at xsl:value-of on line 314 of chapters.xsl: 
    SERE0014: Illegal HTML character: decimal 157 
    at xsl:call-template name="entry" (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#417) 
    in built-in template rule 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#385) 
    processing /chapter/section[1]/section[5]/table[1]/tgroup[1]/tbody[1] 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#370) 
    processing /chapter/section[1]/section[5]/table[1]/tgroup[1] 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#205) 
    processing /chapter/section[1]/section[5]/table[1] 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#205) 
    processing /chapter/section[1]/section[5] 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#61) 
    processing /chapter/section[1] 
    at xsl:apply-templates (file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl#19) 
    processing /chapter 
; SystemID: file:///C:/Users/u0138039/Desktop/Proview/HK/2016/COMPORD/final/XSLT/chapters.xsl; Line#: 314; Column#: -1 
net.sf.saxon.trans.XPathException: Illegal HTML character: decimal 157 
    at net.sf.saxon.serialize.HTMLEmitter.writeEscape(HTMLEmitter.java:366) 
    at net.sf.saxon.serialize.XMLEmitter.characters(XMLEmitter.java:594) 
    at net.sf.saxon.serialize.HTMLEmitter.characters(HTMLEmitter.java:428) 
    at net.sf.saxon.serialize.HTMLIndenter.characters(HTMLIndenter.java:255) 
    at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:194) 
    at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:194) 
    at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:194) 
    at net.sf.saxon.event.ProxyReceiver.characters(ProxyReceiver.java:194) 
    at net.sf.saxon.event.ComplexContentOutputter.characters(ComplexContentOutputter.java:174) 
    at net.sf.saxon.expr.instruct.ValueOf.processValue(ValueOf.java:295) 
    at net.sf.saxon.expr.instruct.SimpleNodeConstructor.processLeavingTail(SimpleNodeConstructor.java:222) 
    at net.sf.saxon.expr.instruct.ValueOf.processLeavingTail(ValueOf.java:280) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.AnalyzeString.processLeavingTail(AnalyzeString.java:443) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:516) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1061) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.expand(Template.java:367) 
    at net.sf.saxon.expr.instruct.CallTemplate.process(CallTemplate.java:343) 
    at net.sf.saxon.expr.instruct.ForEach.processLeavingTail(ForEach.java:419) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.trans.TextOnlyCopyRuleSet.process(TextOnlyCopyRuleSet.java:65) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1100) 
    at net.sf.saxon.expr.instruct.ApplyTemplates$ApplyTemplatesPackage.processLeavingTail(ApplyTemplates.java:516) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1061) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.apply(ApplyTemplates.java:284) 
    at net.sf.saxon.expr.instruct.ApplyTemplates.processLeavingTail(ApplyTemplates.java:244) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Instruction.process(Instruction.java:144) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:450) 
    at net.sf.saxon.expr.instruct.ElementCreator.processLeavingTail(ElementCreator.java:389) 
    at net.sf.saxon.expr.instruct.Block.processLeavingTail(Block.java:669) 
    at net.sf.saxon.expr.instruct.Template.applyLeavingTail(Template.java:336) 
    at net.sf.saxon.trans.Mode.applyTemplates(Mode.java:1124) 
    at net.sf.saxon.Controller.transformDocument(Controller.java:2106) 
    at net.sf.saxon.Controller.transform(Controller.java:1705) 
    at net.sf.saxon.s9api.XsltTransformer.transform(XsltTransformer.java:547) 
    at net.sf.saxon.jaxp.TransformerImpl.transform(TransformerImpl.java:177) 
    at com.s1a.alpha.APP2.main(APP2.java:74) 

そして、私は当初、それはhtmlだった、xmlに私の出力methonを変更しました。そして驚いたことに、例外はなく、ファイルが生成されます。私が知って好奇心、どのように、なぜこれがxml

html成功と失敗のおかげ

+0

エラーの原因となる 'xsl:value-of on line 314'を表示できますか?ありがとう! –

+0

@TimC '\t \t \t \t \t \t \t \t \t \t'でこのブロック私は '"。 "/>行314 – user3872094

答えて

0

https://www.w3.org/TR/xslt-xquery-serialization/#html-outputを参照してください、それが

一部の文字は、具体的に制御文字#x7F-#x9Fが必要ですXMLでは が有効ですが、HTMLでは有効ではありません。データモデルのインスタンスに という文字が含まれていると、HTML出力メソッドを使用するのはシリアル化エラー [err:SERE0014]です。シリアライザはエラー を送信しなければなりません。

10進数157は16進数9Dなので、その範囲内です。

0

x80-x9fの範囲の文字が入力されている場合は、通常、ファイルがWindows-1252エンコーディングであり、ISO-8859-1として間違っていることを意味します。しかし、これはWindows-1252で割り当てられていないので、x9Dがトラブルを引き起こすのを少し驚いています。あなたはどんなキャラクターになると思いますか?

出力メソッドとしてHTMLバージョン5.0を指定した場合、@MartinHonnenで引用されるルールはXSLT 3.0で緩和されることに注意してください。しかし、そのような文字が含まれていると入力に問題があるという事実は変わりません。

この範囲の文字はXML 1.0では使用できませんが、XML 1.1では使用できます。この不正なキャラクターがシステムにどのように侵入したかを知るための十分な情報はありませんでした。

+0

こんにちは@マイケルケイ、私は5.0にHTMLバージョンを変更し、それは正常に働いた。しかし、私はバックエンドに何があったのか知りたいです。 – user3872094