إيفرنوت تنسيق التصدير (ENEX) إلى HTML ، بما في ذلك الصور ؟

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

سؤال

@حلها

اثنين subquestions خلقت تم حلها (ياي تقسيم هذا واحد!) ، لذلك هذا هو واحد من حلها.سوف جائزة علامة الاختيار إلى samjudson, لأن جوابه كان الأقرب.من أجل العمل الفعلية حلول على الرغم انظر أدناه subquestions;على تنفيذ حلول فحص الإجابات.

@انتقدت

أنا تقسيم هذا السؤال إلى قسمين منفصلين الأسئلة, لأن هذا هو إلى حد ما مشكلة معقدة.إجابات لا تزال موضع ترحيب على الرغم من.

على suquestions هي:

  1. XSLT:تحويل البيانات إلى base64 صورة الملفات
  2. XSLT:الحصول على أو مطابقة تجزئات بالنسبة base64 في ترميز البيانات

مرحبا أتساءل فقط إذا كان أي شخص هنا لديه أي نجاح في تحويل إيفرنوت تنسيق التصدير, الذي هو XML, HTML بما في ذلك الصور.أنا أعرف أن Evernote التصدير إلى HTML الذي يفعل هذا, لكن في نهاية المطاف تريد أن تفعل المزيد من الأشياء الفاخرة مع ذلك.

لقد تمكنت من إنجاز الحصول على النص فقط باستخدام التالية XSLT:

نموذج التعليمات البرمجية إزالتها

ترى الطفل أسئلة عن تنفيذ الحلول.

ومع ذلك،.t.م.هذا ببساطة يتجاهل أي صور ، وهذا هو حيث كنت بحاجة إلى مساعدة.

حجر عثرة #1:إيفرنوت يقوم بتخزين الصور متحركة أو PNGs و عند تصديرها ، فإنه يضمن هذه Gif & PNGs مباشرة في XML باستخدام ما يبدو أن base64 (قد أكون مخطئا).أنا بحاجة إلى أن تكون قادرة على reconsitute الصور.إذا كنت فتح الملف في محرر نص ، والبحث عن كتل ضخمة من البيانات في **//note/resource/data**.على سبيل المثال (تزكي إضافتها يدويا):

<resource>
<data encoding="base64">
R0lGODlhEAAQAPMAMcDAwP/crv/erbigfVdLOyslHQAAAAECAwECAwECAwECAwECAwECAwECAwEC
AwECAyH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJQ0U5LjAHgfNAGQAh/wtNU09GRklDRTku
MBUAAAAJcEhZcwAACxMAAAsTAQCanBgAIf8LTVNPRkZJQ0U5LjATAAAAB3RJTUUH1AkWBTYSQXe8
fQAh+QQBAAAAACwAAAAAEAAQAAADSQhgpv7OlDGYstCIMqsZAXYJJEdRQRWRrHk2I9t28CLfX63d
ZEXovJ7htwr6dIQB7/hgJGXMzFApOBYgl6n1il0Mv5xuhBEGJAAAOw==
</data>
<mime>image/gif</mime>
<resource-attributes>
    <file-name>clip_image001.gif</file-name>
</resource-attributes>
</resource>

حجر عثرة #2:إيفرنوت بتخزين الملف أسماء كل صورة تحت عقدة الموارد
**//note/resource/resource-attributes/file-name**
ومع ذلك ، في الفعلية ملاحظة الذي يشير إلى الصورة ، المراجع الصورة ليس بها اسم الملف ولكن قبل التجزئة ، على سبيل المثال:

<en-media hash="4aaafc3e14314027bb1d89cf7d59a06c" type="image/gif" border="0" width="16" height="16" alt="Alt Text"/>

يمكن لأي شخص أن يلقي بعض الضوء على كيفية التعامل مع (base64) ترميز البيانات الثنائية داخل XML ؟

تحرير

فهمت من تعليقات وأجوبة هذا عادي رأ' XSLT لن تحصل على هذه المهمة للتعامل مع الصور.XSLT المعالج أستخدمه هو Xalan ومع ذلك ، إذا كان هذا ليس جيدا بما فيه الكفاية لأغراض معالجة الصور أو base64, ثم أنا يرجى اقتراح أحد أن يفعل هذه!

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE en-export SYSTEM "http://xml.evernote.com/pub/evernote-export.dtd">
<en-export export-date="20091029T063411Z" application="Evernote/Windows" version="3.0">

<note>
    <title>A title here</title>
    <content><![CDATA[
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE en-note SYSTEM "http://xml.evernote.com/pub/enml.dtd">
        <en-note bgcolor="#FFFFFF">
            <p>Some text here (followed by the picture)
            <p><en-media hash="4aaafc3e14314027bb1d89cf7d59a06c" type="image/gif" border="0" width="16" height="16" alt="A picture"/></p>
            <p>Some more text here (preceded by the picture)
        </en-note>
    ]]></content>
    <created>20090925T063154Z</created>
    <note-attributes>
        <author/>
    </note-attributes>
    <resource>
        <data encoding="base64">
R0lGODlhEAAQAPMAMcDAwP/crv/erbigfVdLOyslHQAAAAECAwECAwECAwECAwECAwECAwECAwEC
AwECAyH/C01TT0ZGSUNFOS4wGAAAAAxtc09QTVNPRkZJQ0U5LjAHgfNAGQAh/wtNU09GRklDRTku
MBUAAAAJcEhZcwAACxMAAAsTAQCanBgAIf8LTVNPRkZJQ0U5LjATAAAAB3RJTUUH1AkWBTYSQXe8
fQAh+QQBAAAAACwAAAAAEAAQAAADSQhgpv7OlDGYstCIMqsZAXYJJEdRQRWRrHk2I9t28CLfX63d
ZEXovJ7htwr6dIQB7/hgJGXMzFApOBYgl6n1il0Mv5xuhBEGJAAAOw==
        </data>
        <mime>image/gif</mime>
        <resource-attributes>
            <file-name>clip_image001.gif</file-name>
        </resource-attributes>
    </resource>
</note>

</en-export>

وهذا يحتاج إلى أن تتحول إلى هذا:

<html>
    <body>
        <p>Some text here (followed by the picture)
        <p><img src="clip_image001.gif" border="0" width="16" height="16" alt="A picture"/></p>
        <p>Some more text here (preceded by the picture)
    </body>
</html>

مع الملف clip_image001.gif التي يتم إنشاؤها وحفظها.

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

المحلول

هناك بيانات جديدة URI مواصفات http://en.wikipedia.org/wiki/Data_URI_scheme والتي قد يكون من بعض المساعدة المقدمة كنت تنوي فقط على دعم المتصفحات الحديثة و الصور الصغيرة (على سبيل المثال IE8 فقط الدعم <32k الصور).

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

نصائح أخرى

كان موجودا نقية XSLT الجواب على هذه المسألة ؛ ننظر في هذه الصفحة

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