Несколько вещей ..
Если вы тестируете это в браузере, таком как FireFox, то ваш XML должен соответствовать спецификации XPath 1.0.Вы можете прочитать об этом здесь: Какие браузеры поддерживают Xpath 2.0?
В соответствии с ссылкой выше, ваша декларация должна выглядеть следующим образом, обратите внимание на изменение в первом пространстве имен, теперь это xmlns:CS.Это обеспечит префикс пространства имен.Кроме того, у вас есть дополнительное «>», возможно, вы захотите удалить это:)
<coins
xmlns:cs="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://student.mccinfo.net/~armatsumura/wishlist.xsd">
Затем в вашем XSLT вы можете добавить пространство имен «с префиксом», чтобы XSLT выглядел так, снова обратите внимание наНовая строка для префиксного пространства имен
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cs="https://www.w3schools.com">
Далее следует выбрать корневой селектор / *, чтобы он выбрал все под корнем, вы также можете заменить / * на имя корневого, но этоличные предпочтения типа вещей.
<xsl:template match="/*">
Наконец, я не думаю, что XSD имеет отношение к этому вопросу, XSD используется для проверки правильности вашего XML-файла, содержит ли он необходимые элементы, правильны ли типы данных, так далее;но я не вижу ничего подобного в вашем определении XSL.
Дайте мне знать, если это поможет.