2016-08-25 2 views
1
<xoe:documents xmlns:xoe="http://xxxxxx" count="1"> 

    <xocs:doc xmlns:xocs="xxxxxx" xmlns:xsi="yyyyyyy" xsi:schemaLocation="zzzzzz"> 

    <xocs:meta>...</xocs:meta> 

    <xocs:serial-item> 
     <!-- this line --> 
     <article xmlns:sa="www.google.hgy" xmlns="http://www.xyzq1.org/xml/ja/dtd" version="5.4" xml:lang="pl" docsubtype="rev"> 
     <article-info> 
     </article-info> 
     </article> 

    </xocs:serial-item> 

    </xocs:doc> 

</xoe:documents> 

Ich kann den Wert des Attributs "xml: lang" nicht ermitteln. Auch dachte ich versuchte mit dem unter XPathDer Wert des Attributs "xml: lang" konnte nicht abgerufen werden

<xsl:variable name="rootPath" select="/xoe:documents/xocs:doc/xocs:serial-item"/> 
<xsl:variable name="lang" select="$rootPath/ja:article[@xml:lang]"/> 
or 
<xsl:variable name="lang" select="$rootPath/ja:article/@xml:lang"/> 

hier ja bereits in meinem XSLT-Code definiert ist

xmlns:ja="http://www.xyzq1.org/xml/ja/dtd" 

Kann jemand bitte helfen?

+0

In Ihrem XML-Beispiel befindet sich 'article' im Namensraum' www.yahoo.mkt', nicht 'http: // www.xyzq1.org/xml/ja/dtd'. – JLRishe

+0

Danke, ich habe es geändert. Immer noch keine Ergebnisse. –

Antwort

0

Zuerst müssen Sie diese erklären:

xmlns:xoe="http://xxxxxx" 
xmlns:xocs="xxxxxx" 
xmlns:ya="www.yahoo.mkt" 

Dann können Sie den Wert des mit xml:lang Attribut erhalten:

<xsl:value-of select="/xoe:documents/xocs:doc/xocs:serial-item/ya:article/@xml:lang"/> 

Beachten Sie, dass die URIs in Ihrem Stylesheet Namespace-Deklarationen müssen dieselben URIs sein, die in Ihrer Quell-XML angezeigt werden. Die Präfixe können beliebig sein.

+0

Ja, ich habe alles in meinem Code, wie Sie es empfohlen haben. Trotzdem kann ich den Wert nicht erreichen. –

+0

@AJAYKUMAR Sie können es funktioniert sehen (angepasst an Ihr modifiziertes Beispiel) hier: http://xsltransform.net/94AbWAK –

+0

Sogar ich habe einige Tags innerhalb , ich kann die Werte von denen bekommen. Aber ich bin nicht in der Lage, den Wert eines Attributs in Tag zu erhalten. –

Verwandte Themen