これが非常に初心者であることは知っていますが、コードが機能しない理由がわかりません。XML スニペットは次のとおりです。
<root>
<cookies>
<lastviewedentityname>Category</lastviewedentityname>
<lastviewedentityinstanceid>72</lastviewedentityinstanceid>
<lastviewedentityinstancename>Fall Florals</lastviewedentityinstancename>
some random text bla bla
</cookies>
<QueryString>
<categoryid>34</categoryid>
</QueryString>
<!-- other nodes -->
</root>
XSL スニペットは次のとおりです。
<?xml version="1.0" standalone="yes" ?>
<package version="2.1" displayname="Categories" debug="false" includeentityhelper="true">
<PackageTransform>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ise="urn:ise" exclude-result-prefixes="ise">
<xsl:output method="html" omit-xml-declaration="yes"/>
<!-- other code -->
<xsl:value-of select="/root/cookies/lastviewedentityinstanceid"/>
<!-- other code -->
</xsl:stylesheet>
</PackageTransform>
</package>
私が探している結果は
72
しかし、空の文字列か何かを取得しているようです。これを見る: http://www.w3schools.com/xsl/xsl_value_of.asp、私のコードは大丈夫だと思います。また、これを確認すると、このコードは次のとおりです。
<xsl:value-of select="/root/QueryString/categoryid"/>
正しい値を教えてくれます
34
次に、答えを見つけようとして、次のサイトを見つけました: http://www.mizar.dk/XPath/Default.aspxここで試してみると、要素内の値ではなく、要素が強調表示されていることに気付きました: http: //screencast.com/t/NXuNiCHbEd0T
ここにいくつかの詳細情報があります: 私が取り組んでいるシステムは Interprise Suite Ecommerce と呼ばれています (これが "ise" の由来です)。Interprise Suite と呼ばれる ERP ソフトウェアと統合するのは、同社の Web ソフトウェアです。少し前に AspDotNetStoreFront から適応された e コマース ソフトウェアを ISE します。私が持っている限られた知識を説明しようとします。
読み込まれているページは、製品またはカテゴリのページです。私が取り組んでいるこの特定のファイルは、サイドバーの製品ナビゲーション メニューのレイアウトを提供します。ファイルの名前は rev.categories.xml.config です。このファイルには XSLT コードが含まれています。それが変換している元の XML データです。どこから来たのかわからず、アクセスすることもできません。前の質問で Dimitre の助けを借りて、Web ページで XML データを再現することができたので、もう少し理解することができました。その出力では、最上位ノードは
<root>
この XML パッケージをロードするファイルは、template.ascx と呼ばれます。テンプレートまたは「マスター」ファイルです。ASPDNSF では、「トークン」と呼ばれるものを使用してページに読み込みます。このトークンは、rev.categories.xml.config を呼び出してアクティブ化し、その処理を行うものです。トークンは次のようになります。
(!XmlPackage Name="rev.categories"!)
トークンがどのように機能するかわかりません。私の考えでは、この 1 行のコードを除いて、このファイル内の他のすべてが機能しているため、関連性がないと考えていました。
知識、経験、適切な言葉遣いが不足していることをお許しください。
編集: ここに rev.categories.xml.confg の完全なコードへのリンクがあります。 http://jsfiddle.net/v5cNM/