سؤال

أود أن الناتج تحكم html باستخدام xslt, ولكن أنا بحاجة إلى أن يكون قادرا على اسم الضوابط بحيث يمكنني الحصول عليهم عندما شكل الوظائف مرة أخرى.

أود أن تكون قادرة على اسم زر الراديو "action_" + _case_id.

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
  <Cases>
    <Case>
      <case_id>30</case_id>
    </Case>
  <Cases>
</NewDataSet>

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
     <div class="your_action">
      Your action:<br />
      <input type="radio" name="?" value="No" checked ="true"/> nothing to report<br />
      <input type="radio" name="?" value="Yes" /> memo to follow
    </div>
  </xsl:template>
</xsl:stylesheet>
هل كانت مفيدة؟

المحلول

استخدام:

<input type="radio" name="{concat('action_', /*/*/*/case_id)}" value="No" checked="true" />

في حالة مستند xml التغييرات قد يكون من الضروري استبدال "*" حرف أعلاه مع أكثر تفصيلا موقع خطوات.

نصائح أخرى

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="data.xsl"?>
<NewDataSet>
  <Cases>
    <Case>
      <case_id>30</case_id>
    </Case>
  <Cases>
</NewDataSet>

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
     <xsl:variable name="actionid">action_<xsl:value-of select="Cases/Case/case_id"/></xsl:variable>
     <div class="your_action">
      Your action:<br />
      <input type="radio" name="{actionid}" value="No" checked ="true"/> nothing to report<br />
      <input type="radio" name="{actionid}" value="Yes" /> memo to follow
    </div>
  </xsl:template>
</xsl:stylesheet>

ملحوظة: لم يتم اختباره. وربما كنت تريد إضافة المنظر خصيصا لعقدة حالة يست مجرد مطابقة على عقدة الجذر.

وتحتاج إلى بادئة المتغير مع علامة $ عند الإشارة إلى ما يلي:

<input type="radio" name="{$actionid}" value="No" checked ="true"/> nothing to report<br />

Dataset وقد لطيفة المنشأة أنها شجرة ، كل عقدة يمكن تحديدها من قبل انها الطريق في شجرة.أنا أقول أفضل رهان هو أن اسم الضوابط التي تتوافق مع كل عقدة XML بطريقة تعكس هذا:

  1. NewDataSet_Cases_Case1_case_id1_rb.
  2. NewDataSet_Cases_Case1_case_id2_rb.

تحتاج فقط وسيلة للحصول على أسماء الوالدين العقد شيئا مثل:

&lt;xsl:variable name="parent1Name"
              select="name(parent::*)" /&gt;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top