एक्सएमएल सामग्री टेम्पलेट द्वारा मान्यता प्राप्त नहीं था

मेरे पास एक टैग के साथ एक्सएमएल है जिसमें इसमें html सामग्री वाला एक विशेषता है। मुझे इस html को xsl-fo में कनवर्ट करने की आवश्यकता है। यहां मेरा xslt कोड है:

  
    
      
        
          
            
          
        
      
    
  

  
    
    

       <!--here is the problem-->

    
  

  
    
        <!--more code here-->
    
  

  
    
        <!--more code here-->
    
  

  
    
        <!--more code here-->
    
  

लेकिन एक समस्या है, जब कॉल में इस html सामग्री पर लागू होते हैं। प्रासंगिक टेम्पलेट्स इसे पहचान नहीं पाते हैं।

यहां HTML विशेषता वाला xml टैग है:


किसी भी विचार को इस एचटीएमएल टैग को xsl-fo में कैसे परिवर्तित करें?

धन्यवाद!

0
@ MathiasMüller। नहीं, मेरे इनपुट में कोई नामस्थान नहीं है। और, मेरा इनपुट एक एक्सएमएल टैग है जिसमें एचटीएमएल शामिल है जो आरटीएफ से परिवर्तित होता है। लेकिन यह एचटीएमएल है।
जोड़ा लेखक Jacob, स्रोत
क्या आपकी इनपुट फ़ाइल में कोई नेमस्पेस घोषणाएं हैं? साथ ही, यदि आप दस्तावेज़ नोड के रूप में "आरटीएफ" से मिलान करने में सक्षम हैं, तो मुझे लगता है कि आपका इनपुट HTML की बजाय आरटीएफ है।
जोड़ा लेखक Mathias Müller, स्रोत

1 उत्तर

समस्या यह है कि आपकी एक्सएमएल/एचटीएमएल सामग्री बच निकली है। आप अक्षम-आउटपुट-एस्केपिंग को लागू करने का प्रयास करते हैं, लेकिन यह केवल आउटपुट फ़ाइल या स्ट्रीम को लिखने पर काम करता है। इसलिए, आप प्रभावी ढंग से अपने टेम्पलेट्स के खिलाफ अनचाहे विशेषता सामग्री सबमिट कर रहे हैं, जो वास्तव में बहुत कुछ नहीं करता है।

सुनिश्चित नहीं है कि आप किस प्रकार का एक्सएसएलटी पार्सर उपयोग कर रहे हैं, लेकिन यदि आप सैक्सन का उपयोग करते हैं, तो आप सैक्सन लागू करने का प्रयास कर सकते हैं: पार्स:

http://saxonica.com/documentation9.4-demo/html /extensions/functions/parse.html

इस विशेषता को अच्छी तरह से गठित करने की सामग्री की आवश्यकता होती है। यदि नहीं, तो आप कोशिश कर सकते हैं:

http://saxonica.com/documentation9.4-demo /html/extensions/functions/parse-html.html

HTH!

0
जोड़ा
धन्यवाद। तुम सही हो। लेकिन मैं माइक्रोसॉफ्ट XslCompiledTransform का उपयोग कर रहा हूँ।
जोड़ा लेखक Jacob, स्रोत
इस उत्तर के समान कुछ उपयोग करना संभव हो सकता है, जहां एक्सएसएलटी में "बच निकलने वाले एक्सएमएल के लिए पार्सर" लागू किया गया है: stackoverflow.com/a/20150995/407651
जोड़ा लेखक mzjn, स्रोत
@jacob दुर्भाग्य से नेट में उन पार्स फ़ंक्शंस के बराबर प्रतीत नहीं होता है। आप निश्चित रूप से सैक्सन.Net पर वापस जा सकते हैं। अन्य विकल्प आपके स्वयं के XPath एक्सटेंशन फ़ंक्शन को बनाना होगा। मैंने इसे स्टैक ओवरफ्लो पर उदाहरण दिखाया है कि कैसे: stackoverflow के अंदर फ़ंक्शन .com/प्रश्न/2320505/& hellip;
जोड़ा लेखक grtjn, स्रोत