трансформировать только указанные элементы, отбрасывая остальные - PullRequest
3 голосов
/ 03 мая 2009

Я пытаюсь разработать таблицу стилей XSLT, которая будет преобразовывать xml в другой с учетом:

  1. По умолчанию таблица стилей не должна отображать ничего для каждого элемента (даже текста).
  2. Если существует явное совпадение шаблона для элемента, скопируйте этот элемент, его атрибуты и все его подэлементы (и их атрибуты).

Другими словами, идентичность преобразует только те элементы, которые явно указаны.

1 Ответ

4 голосов
/ 03 мая 2009

Ну, ничего не делать для большинства, конечно, что-то вроде:

<xsl:template match="/*">
  <xsl:copy>
    <xsl:apply-templates select="*"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="*">
    <xsl:apply-templates select="*"/>
</xsl:template>

Затем добавьте совпадения для того, что вы делаете хотите:

<xsl:template match="Foo | Bar">
    <xsl:copy-of select="."/>
</xsl:template>

Однако это выглядит как очень необычное требование. Обычно вы просто используете совпадения, которые переходят к известному контенту через знание XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...