Как динамически определить новый сгруппированный тег XML непосредственно в файле XML, не входящем в схему? - PullRequest
0 голосов
/ 08 марта 2020

В настоящее время я разрабатываю схему SVG и использовал тег SVG <use> для повторного использования другого элемента.

<svg>
    <defs>
        <g id="shape">
            <rect x="50" y="50" width="50" height="50" />
            <circle cx="50" cy="50" r="50" />
        </g>
    </defs>

  <use xlink:href="#shape" x="50" y="50" />
  <use xlink:href="#shape" x="200" y="50" />

</svg>

Мой вопрос:

есть тег XML, эквивалентный тегу <use> SVG?

Если тег XML не выходит, существует ли методика XML, позволяющая определить группу элементов XML в начало файла XML и его повторное использование в оставшейся части файла XML.

Мне интересно найти технику c для определения элемента NEW в файле XML (не в схеме) на основе XML элементов, определенных в схеме, и повторного использования в том же файле XML.

Пример псевдокода (его не существует):

<svg>
    <square define="yes" x="rect:x" y="rect:y" side="rect:width"> 
        <rect x=":x" y=":y" width=":side" height=":side"/>
    </g>

    <square x="20" y="0" side="50" />
 </svg>

Атрибут define="yes" используется для указания на то, что создана новая группа элементов.

Код атрибута x="rect:x" будет использоваться для определения атрибута нового элемента.

В этом примере Атрибут x определяется с тем же правилом проверки, что и атрибут rect:x.

Атрибут :side в новом элементе defi nition относится к атрибуту side нового сгруппированного элемента XML.

Если это невозможно, где я могу опубликовать этот XML запрос на изменение?

Другой возможный синтаксис будет

<svg>
    <!&square x="rect:x" y="rect:y" side="rect:width"> 
        <rect x=":x" y=":y" width=":side" height=":side"/>
    </g>

    <!&square x="20" y="0" side="50" />
 </svg>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...