الحصول على بيانات XML داخل وظيفة XPath المخصصة

StackOverflow https://stackoverflow.com/questions/69470

  •  09-06-2019
  •  | 
  •  

سؤال

هل هناك طريقة للحصول على بيانات XML الحالية عندما ننشئ وظيفة XPath المخصصة الخاصة بنا (انظر هنا).

أعلم أن لديك إمكانية الوصول إلى XPathContext ولكن هل هذا يكفي؟

مثال:

ملف XML الخاص بنا:

<foo>
  <bar>smang</bar>
  <fizz>buzz</fizz>
</foo>

لدينا XSL:

<xsl:template match="/">
  <xsl:value-of select="ourFunction()" />
</xsl:template>

كيف نحصل على شجرة XML بأكملها؟

يحرر: للتوضيح:أقوم بإنشاء وظيفة مخصصة تنتهي بتنفيذ كود Java الثابت (إنها ميزة سكسونية).لذا، في كود Java هذا، أود أن أكون قادرًا على الحصول على عناصر من شجرة XML، مثل bar وfizz، وبيانات CDATA الخاصة بها، مثل smang وbuzz.

هل كانت مفيدة؟

المحلول

حاول تغيير XSL الخاص بك بحيث يمكنك استدعاء "ourFunction(/)".يجب أن يمرر العقدة الجذرية إلى الوظيفة.يمكنك أيضًا المحاولة.أو ..

من المفترض أنك ستحتاج إلى تغيير توقيع وظيفة التنفيذ، وسأسمح لشخص آخر بالمساعدة في ذلك.

نصائح أخرى

ماذا عن حدد العقدة الحالية تحديد البيانات ذات الصلة من العقدة الحالية إلى معلمة XSL وتمرير تلك المعلمة إلى الوظيفة؟يحب:

<xsl:value-of select="ourFunction($data)" />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top