2011-11-26 14 views
6

मेरे पास एक HTML पृष्ठ है जिसमें <base> टैग है, जिसमें एसवीजी भी शामिल है। इस तरह के नीचे एसवीजी के भीतर के रूप में ही दस्तावेज़ संदर्भ तो असफल:एचटीएमएल <base> टैग से प्रभावित एसवीजी में समान दस्तावेज़ संदर्भ क्यों है?

<html> 
    <head> 
    <base href="http://my/server/basedir"> 
    </head> 
    <body> 
    <svg> 
     <g> 
     <path d="M100,100 L150,150" id="path"/> 
     <text> 
      <textpath xlink:href="#path"/> 
     </text> 
     </g> 
    </svg> 
    </body> 
</html> 

xlink:href="#path" संदर्भ को हल करने में विफल रहता है। यह एचटीएमएल base तत्व के बिना ठीक काम करता है। यह भी काम करता है अगर मैं विशेषता textpath तत्व पर एक पूर्ण आईआरआई के साथ खंड पहचानकर्ता के बाद बदलता हूं।

ऐसा लगता है कि एसवीजी को समान दस्तावेज आईआरआई के अलग-अलग और एचटीएमएल base से स्वतंत्र होना चाहिए। http://www.w3.org/TR/xmlbase/#same-document में यह कहता है "उसी दस्तावेज़ संदर्भों का समर्पण विशेष रूप से संभाला जाता है।" हालांकि, यह xml:base के संदर्भ में दिया गया है। वैसे, मैंने तत्व पर तत्व पर base सेटिंग को ओवरराइड करने की उम्मीद में xml:base डालने के साथ खेला, यह पता लगाने के लिए कि यह काम कैसे किया जाए।

उत्तर

0

केस 1: बिना आईई (एज), क्रोम में xml:base

काम करता है, लेकिन नहीं फ़ायरफ़ॉक्स।

<html> 
    <head> 
    <base href="http://my/server/basedir"> 
    </head> 
    <body> 
    <svg width="300" height="300" xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink"> 
     <g> 
     <path d="M100,100 L150,150" id="path"/> 
     <text> 
      <textpath xlink:href="#path">Hello</textpath> 
     </text> 
     </g> 
    </svg> 
    </body> 
</html> 

केस 2: के साथ IE में xml:base

वर्क्स (एज), क्रोम, फायरफॉक्स।

यदि यह पृष्ठ url http://my/thisfile.htm है तो svg टैग या टेक्स्टपैथ टैग पर xml:base="http://my/thisfile.htm" सेट करें।

<html> 
    <head> 
    <base href="http://my/server/basedir"> 
    </head> 
    <body> 
    <svg width="300" height="300" xmlns="http://www.w3.org/2000/svg" 
    xmlns:xlink="http://www.w3.org/1999/xlink" 
    xml:base="http://my/thisfile.htm"> 
     <g> 
     <path d="M100,100 L150,150" id="path"/> 
     <text> 
      <textpath xlink:href="#path">Hello</textpath> 
     </text> 
     </g> 
    </svg> 
    </body> 
</html> 
+1

'xml: base' को बहिष्कृत किया गया है https://bugs.chromium.org/p/chromium/issues/detail?id=341854 –