سؤال

ما أحاول القيام به هو اتخاذ وثيقة XML، دعنا نقول http://example.org/data.xml. وإظهارها مع ورقة أنماط XSL المطبقة. (لا يمكنني تعديل المستند نفسه وإضافة توجيه)

لذلك هناك بضعة ملفات XML فائدة مثل هذا:

Wrapper.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wrapper [
  <!ENTITY content SYSTEM "http://example.org/data.xml">
]>
<?xml-stylesheet type="text/xsl" href="unwrap.xsl" ?>
<wrapper>
  &content;
</wrapper>

unwrap.xsl:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="stylesheet.xsl"/>

  <xsl:template match="/wrapper/node()[1]">
    <xsl:apply-imports/>
  </xsl:template>
</xsl:stylesheet>

حتى تلخص: يتم كتابة Stylesheet.xsl http://example.org/data.xml., ، يتم توجيه المتصفح إلى Wrapper.xml وينبغي للمستخدم أن يرى التحويل http://example.org/data.xml..

هذه هي واحدة من هذه الحالات النادرة حيث تعمل الأمور كما هو متوقع في IE (وكروم) ولكن ليس فايرفوكس.

يدعم Afaik Firefox كيانات XML الخارجية، ولكن يبدو أنها غير مرئية في رمز XSL. وجدت هذه المقالة من عام 2006، يصف هذه المشكلة في Firefox 1.5 (أنا أستخدم 3.5.3)

هل هناك أي حل بديل لهذا؟

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

المحلول

أن XML تبدو مألوفة ;)

حاليا، لن يقوم فايرفوكس بتحميل مراجع DTD والكيان الخارجية، بسبب أمن وحرمان المخاوف من الخدمة. علي سبيل المثال: http://en.wikipedia.org/wiki/billion_laughs.

هناك فتح علة موزيلا وصف الأسباب التي تجعل النقاش المطول حول ما إذا كان ذلك لجعله شيء قابل للتكوين: https://bugzilla.mozilla.org/show_bug.cgi؟id=22942.

يبدو أن هناك حلدا واحدا لتحميل DTDS, لكنني أظن أنه ربما ليس حلا قابلا للتطبيق بالنسبة لك.

سوف فايرفوكس تحميل محلي ملفات DTD.

إذا وضعتها في هذا الدليل لنظام التشغيل Windows:

C:\Program Files\Mozilla Firefox\res\dtd\...

دليل لينكس:

/**mileage may vary**/MozillaFirefox/lib/res/dtd/

فكرة واحدة للتجول باستخدام مرجع الكيان:إذا كنت تستطيع التحكم في محتوى Wrapper.xml، فيمكنك جلب محتويات http://example.org/data.xml. (جانب الخادم) و ECHO بها كحتوظ كامل لملف المجمع، مع إضافة تعليمات معالجة ورقة الأنماط (على افتراض أن لديك بعض إمكانات جانب الخادم الديناميكي).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top