XSLT преобразовывают XML с пространствами имен

почему крупная таблица поиска?

string GetWrittenInteger(int n)
{
  string[] a = new string[] {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" }
  string[] b = new string[] { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" }
  string[] c = new string[] {"Twenty", "Thirty", "Forty", "Sixty", "Seventy", "Eighty", "Ninety"};
  string[] d = new string[] {"Hundred", "Thousand", "Million"}
  string s = n.ToString();

  for (int i = 0; i < s.Length; i++)
  {
    // logic (too lazy but you get the idea)
  }
}
41
задан Rene Knop 5 November 2018 в 17:51
поделиться

2 ответа

Вам необходимо предоставить префикс пространства имен в вашем xslt для элементов, которые вы преобразовываете. По какой-то причине (по крайней мере, в парсере Java JAXP) вы не можете просто объявить пространство имен по умолчанию. У меня это сработало:

<xsl:stylesheet version="1.0" xmlns:t="http://www.test.com/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xslFormatting="urn:xslFormatting">

    <xsl:output method="html" indent="no"/>

    <xsl:template match="/t:ArrayOfBrokerage">
        <xsl:for-each select="t:Brokerage">
            Test
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>

Это перехватит все, что указано в пространстве имен в вашем XML-документе.

58
ответ дан 27 November 2019 в 00:49
поделиться

Как выполнить преобразование? Возможно, вы забыли связать таблицу стилей XSLT с XML-документом, используя:

<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>

в начале XML-документа. Подробнее здесь .

-2
ответ дан 27 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: