SORU
30 AĞUSTOS 2013, Cuma


-Fotokopi belge ile kullanarak() XHTML çıktısı için SVGs Ekle

Benim XML işlenirken, SVG dosyası href öznitelik doğrudan benim çıkış içine aşağıdaki satırı HTML başvurulan kopyalamak için çalışıyorum:

 <xsl:copy-of copy-namespaces="yes" select="document(@href)"/>

copy-namespaces varsayılan değeri "Evet" her neyse, ama ya ben denedim olup olmadığı hakkında sorular önlemek için ekledim. olduğu için gerekli olmamalıdır

Dosyaları HTML içine kopyalanır, ancak herhangi bir namespaced elemanları bitik. Örneğin, bir dosya bu kopyalanan önce bu gibi görünüyor:

  <rdf:RDF>
      <cc:Work rdf:about="">
        <dc:format>image/svg xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g transform="translate(-519.21143,-667.79077)" id="layer1">
    <image xlink:href="data:image/png;base64

Bu gibi görünüyor daha sonra:

  <_0:RDF xmlns:_0="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <_0:Work xmlns:_0="http://creativecommons.org/ns#" about="">
        <_0:format xmlns:_0="http://purl.org/dc/elements/1.1/">image/svg xml</_0:format>
        <_0:type xmlns:_0="http://purl.org/dc/elements/1.1/" resource="http://purl.org/dc/dcmitype/StillImage"/>
        <_0:title xmlns:_0="http://purl.org/dc/elements/1.1/"/>
      </_0:Work>
    </_0:RDF>
  </metadata>
  <g id="layer1" transform="translate(-519.21143,-667.79077)">
    <image href="data:image/png;base64

Görüntü öğesi href değeri eksik xlink ad özellikle sorunludur.

Bu farklı herhangi bir yorumlama olmadan SVG dosyası okumak için yapabileceğim hakkında bir fikrin var mı?

"Çalışıyor" ama, hack ve daha zarif bir şeyler istiyorum . bir çözüm buldum

<xsl:template name="topic-image-svg">
    <!-- Generate tags to embed SWFs -->
    <xsl:element name="div">
      <xsl:if test="@width">
        <xsl:attribute name="width">
          <xsl:value-of select="@width"/>
        </xsl:attribute>
      </xsl:if>
      <xsl:if test="@height">
        <xsl:attribute name="height">
          <xsl:value-of select="@height"/>
        </xsl:attribute>
      </xsl:if>     
        <xsl:apply-templates select="document(@href)" mode="svg"/>
    </xsl:element>
  </xsl:template>

  <xsl:template match="*" mode="svg">
    <xsl:copy copy-namespaces="yes">
      <xsl:for-each select="@*">
        <xsl:choose>
          <xsl:when test="self::node()[name() = 'xlink:href']">
            <xsl:attribute name="xlink:href"><xsl:value-of select="."></xsl:value-of></xsl:attribute>
          </xsl:when>
          <xsl:otherwise>
            <xsl:copy></xsl:copy>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:for-each>
     <xsl:apply-templates mode="svg"></xsl:apply-templates>
    </xsl:copy>
  </xsl:template>

CEVAP
26 EYLÜL 2011, PAZARTESİ


Bence buna ihtiyacın var: http://code.google.com/web/ajaxcrawling/

Ayrıca "işler" çalıştırarak sayfa sunucuda javascript, ve daha sonra bunu google için hizmet vermektedir. özel bir arka uç yükleyebilirsiniz

İki şeyi birleştirmek ve programlama şeyler olmadan bir çözüm iki kez. (App sürece bağlantı parçaları ile tamamen kontrol edilebilir.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • ODN

    ODN

    26 Kasım 2006
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007