Хобрук: Ваш путь к мастерству в программировании

Как определить ссылки на объекты HTML внутри допустимого XML-документа?

Мне нужно иметь возможность ссылаться на именованные объекты HTML, такие как •, вместо альтернативы Unicode • в XML-документе. У меня есть контроль над некоторыми частями XML-документа, такими как определение DOCTYPE, но поиск и замена в реальном XML невозможен. Я могу получить некоторые элементы, такие как   и &, включив переходный DOCTYPE XHTML, но мне нужно определить больше вручную. Как мне это сделать?

-- РЕДАКТИРОВАТЬ --

Благодаря ответу Джима, вот что у меня получилось. Это здорово, потому что я могу использовать переходные объекты XHTML, а также добавлять свои собственные:

<!DOCTYPE
   html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
   [
      <!ENTITY bull  "&#8226;">
      <!ENTITY ldquo "&#8220;">
      <!ENTITY rdquo "&#8221;">
      ... etc ...
   ]
>
28.06.2011

  • Если вы в конечном итоге используете много объявлений сущностей, подумайте о том, чтобы поместить их в отдельный файл, а затем использовать сущность-параметр для ссылки на них. 28.06.2011

Ответы:


1

Если вы можете изменить XML, чтобы включить встроенный DTD, вы можете определить там сущности:

<!DOCTYPE yourRootElement [
    <!ENTITY bull "&#8226;">
    ....
]>
28.06.2011
  • Это волшебство! Его также можно использовать для создания файлов манифеста Android, что упрощает создание шаблона без каких-либо ошибок в имени пакета или тому подобном... 09.05.2013

  • 2

    Я не уверен, но я думаю, что XHTML DTD должен дать вам довольно много сущностей (253):

    http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML

    28.06.2011
  • Я добавил пример реализации. Надеюсь, ты не против. Если это не то, что вы имели в виду, пожалуйста, удалите мою правку. 28.06.2011
  • Круто, мило @DevNull не знал, что ты так умеешь. Значит ли это, что test (#PCDATA) сообщает синтаксическому анализатору, что test является проанализированными символьными данными? 29.06.2011
  • Это означает, что элемент test может содержать проанализированные символьные данные (обычный текст). 29.06.2011
  • DOM (Chrome) выглядит следующим образом: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head></head><body>] &gt; Таким образом, он не анализируется должным образом, и в тело вставляются избыточные символы ]› 05.11.2019
  • FileNotFoundException: xhtml-special.ent 18.08.2020
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..