Sept. 9, 2019, 6:47 a.m.

DOCTYPE Qt

Всем доброго времени суток.

Как создать свой DOCTYPE при создании QDomDocument?
Например вот такой:

<!DOCTYPE dmodule[
<!NOTATION cgm PUBLIC "-//USA-DOD//NOTATION Computer Graphics Metafile//EN">
<!NOTATION jpeg PUBLIC "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Joint Photographic Experts Group Raster//EN">
<!NOTATION swf PUBLIC "-//S1000D//NOTATION X-SHOCKWAVE-FLASH 3D Models Encoding//EN">
<!NOTATION png PUBLIC "-//W3C//NOTATION Portable Network Graphics//EN">
<!ENTITY ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1 SYSTEM "ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1.CGM" NDATA cgm >
]>
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
4

Добрый день.

Ну почти вот так

QDomImplementation impl;
QDomDocument doc;
doc.appendChild(doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""));
doc.appendChild(impl.createDocumentType("dmodule["
                                        "<!NOTATION cgm PUBLIC \"-//USA-DOD//NOTATION Computer Graphics Metafile//EN\">"
                                        "<!NOTATION jpeg PUBLIC \"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Joint Photographic Experts Group Raster//EN\">"
                                        "<!NOTATION swf PUBLIC \"-//S1000D//NOTATION X-SHOCKWAVE-FLASH 3D Models Encoding//EN\">"
                                        "<!NOTATION png PUBLIC \"-//W3C//NOTATION Portable Network Graphics//EN\">"
                                        "<!ENTITY ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1 SYSTEM \"ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1.CGM\" NDATA cgm >"
                                        "]", "", ""));

Евгений, спасибо огромное. Только я чуть поправил код, чтобы не появлялась в конце подстрока

PUBLIC '' ''

Правку внес вот такую

    QDomImplementation impl;
    QDomDocument doc;
    doc.appendChild(doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""));
    doc.appendChild(impl.createDocumentType("dmodule[ \n"
                                            "<!NOTATION cgm PUBLIC \"-//USA-DOD//NOTATION Computer Graphics Metafile//EN\"> \n"
                                            "<!NOTATION jpeg PUBLIC \"+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Joint Photographic Experts Group Raster//EN\"> \n"
                                            "<!NOTATION swf PUBLIC \"-//S1000D//NOTATION X-SHOCKWAVE-FLASH 3D Models Encoding//EN\"> \n"
                                            "<!NOTATION png PUBLIC \"-//W3C//NOTATION Portable Network Graphics//EN\"> \n"
                                            "<!ENTITY ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1 SYSTEM \"ICN-S1000DBIKE-AAA-D000000-0-U8025-00536-A-04-1.CGM\" NDATA cgm > \n"
                                            "]", nullptr, nullptr));

Ну и добавил \n для каждой части сроки, чтобы не выводилось все в строку.
Спасибо за помощь еще раз!

Расскажите потом, как это добро парсится и нормально ли работает. Поскольку я не уверен, что это !NOTATION вмето атрибута у DOCTYPE будет адекватно работать.
Впрочем, я никода не разбирался с DOCTYPE ))))

Хорошо. Но пока до разбора этой ерунды руки не дошли.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

v
April 9, 2020, 5:41 a.m.
vitalisimys

Qt - Test 001. Signals and slots

  • Result:21points,
  • Rating points-10
v
April 9, 2020, 5:36 a.m.
vitalisimys

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:40points,
  • Rating points-8
v
April 9, 2020, 5:32 a.m.
vitalisimys

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
Last comments
April 8, 2020, 9:12 a.m.
ogustbiller

Круто! Немного начинает проясняться что к чему. Спасибо.
K
April 7, 2020, 8:55 a.m.
KULINAR847

А вот уже и на python... #!/usr/bin/env python# -'''- coding: utf-8 -'''-import sysfrom PySide2.QtWidgets import *from PySide2.QtQuick import *from PySide2.QtCore import *from PySide2.…
April 3, 2020, 8:06 a.m.
Konstantin Grudnitskiy

Я надеюсь вы уже разобрались в чем дело, но если вдруг нет, то проблема состоит в том, что вы пытаетесь запустить программу из интерпретатора питона. Файл main.py это уже готова…
April 3, 2020, 6:18 a.m.
Konstantin Grudnitskiy

>>> text = 'hello world'>>> ' '.join(word for word in text.split()[:-1])'hello'>>> def remove_last_word(text):... return text and ' '.join(word for word in text.s…
March 27, 2020, 2:40 p.m.
Evgenij Legotskoj

Добрый день. В конце пятой статьи скачать можете.
Now discuss on the forum
DK
April 9, 2020, 3:31 a.m.
Dzhon Kofi

Привет. Делаю реализацию перемещения строк на QTableView с моделью QSqlTableModel. Буду в этой теме спрашивать нужное. Пока такой вопрос при создании модели: как мне узнать rowCount? int…
April 8, 2020, 5:42 p.m.
elyana

Подскажите как правильно реализовать... Нужно создать массив в C++ с переменными типа сhar или же int. В Qml будет переменная, например text, которая будет изменять своё значение в зависим…
DK
April 8, 2020, 6:29 a.m.
Dzhon Kofi

:-D блин, без слов, пойду пройдусь))
s
April 8, 2020, 4:59 a.m.
slava_d2000

Всем привет. Прошу помощи.есть статическая сборка 5.14.2 (без SSL) компилируется чистый шаблон на QML и Widgets если войти на компьютер в терминальной сессии и запустить программ…
s
April 6, 2020, 8:06 a.m.
shuric

Добрый день. Объясните пожалуйста ... ... допиливать стилевое оформление в прокси классе ... где именно копать ? В каком виртуальном методе лучше допиливать (если можно н…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB