xsl:模板匹配未找到匹配项

2023-12-22

我正在尝试使用 .NET XslCompiledTransform 将一些 Xaml 转换为 HTML,但在让 xslt 匹配 Xaml 标记方面遇到了困难。例如,使用此 Xaml 输入:

<FlowDocument PagePadding="5,0,5,0" AllowDrop="True" NumberSubstitution.CultureSource="User" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <Paragraph>a</Paragraph>
</FlowDocument>

还有这个 xslt:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>

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

  <xsl:template match="/">
    <html>
      <body>
        <xsl:apply-templates />
      </body>
    </html>
  </xsl:template>

  <xsl:template match="FlowDocument">
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="Paragraph" >
    <p>
      <xsl:apply-templates />
    </p>
  </xsl:template>

我得到这个输出:

<html>
    <body>
  a
</body>
</html>

而不是预期的:

<html>
   <body>
      <p>a</p>
   </body>
</html>

这可能是命名空间的问题吗?这是我第一次尝试 xsl 转换,所以我不知所措。


是的,这是命名空间的问题。输入文档中的所有元素都位于命名空间中http://schemas.microsoft.com/winfx/2006/xaml/presentation。您的模板正在尝试匹配默认命名空间中的元素,但没有找到任何元素。

您需要在转换中声明此命名空间,为其分配一个前缀,然后在任何旨在匹配该命名空间中的元素的模式中使用该前缀。所以你的 XSLT 应该看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
    xmlns:p="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    exclude-result-prefixes="msxsl"/>

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

<xsl:template match="/">
  <html>
    <body>
      <xsl:apply-templates />
    </body>
  </html>
</xsl:template>

<xsl:template match="p:FlowDocument">
  <xsl:apply-templates />
</xsl:template>

<xsl:template match="p:Paragraph" >
  <p>
    <xsl:apply-templates />
  </p>
</xsl:template>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xsl:模板匹配未找到匹配项 的相关文章

  • 最好的 NHibernate 二级缓存提供程序是什么?

    我见过有很多这样的 NCache Velocity 等等 但我还没有找到比较它们的表格 考虑以下标准什么是最好的 容易明白 最近正在维护中 是免费的或者有足够好的免费版本 Works 我无法说出什么是最好的或最差的 但我会分享我使用 NCa
  • WCF 自定义序列化器

    我正在 WCF 中创建一个返回 JSON 的 Web 服务 但 DataContractJsonSerializer 对某些循环引用犹豫不决 在这种特殊情况下我无法删除这些引用 相反 我想使用 Newtonsoft json 库 在 WCF
  • GC什么时候运行?

    GC什么时候真正运行 它是在一定的时间间隔内运行还是在应用程序需要内存时运行还是什么 简短的回答 需要时 更长的答案 当分配无法兑现时 当 AppDomain 被卸载时 当 Windows 报告内存不足时 当 GC Collect 被调用时
  • 克隆 dom.Document 对象

    我的目的是将xml文件读入Dom对象 编辑dom对象 其中涉及删除一些节点 完成此操作后 我希望将 Dom 恢复到其原始状态 而不实际解析 XML 文件 无论如何 我可以克隆第一次解析 xml 文件后获得的 dom 对象吗 这个想法是避免一
  • 运行命令行进程并在该进程仍在运行时获取输出?

    如何运行命令行进程并在该进程仍在运行时获取输出 我的意思是使用自己的进度条运行 CLI 进程 可执行文件本身需要很长时间才能完成操作 所以我想从自己的进程中获取进度信息来显示我的应用程序中的进度 否则我不这样做在进程完成之前没有任何信息来显
  • XML 和 INI 哪个更快?

    我想知道 XML 是否比 INI 更快 反之亦然 我正在开发一个包含许多文件的网站 这个问题与我的问题有关关于包含许多文件 https stackoverflow com questions 7777522 too many include
  • WPF 中可选择的 TextBlock 或带有格式化文本的 TextBox

    我遇到一种情况 我需要显示格式化文本 正常 粗体 突出显示 并且还应该是可选择的 以便用户可以复制文本 我使用了文本块 我可以使用内联内容流元素应用多种格式 但不幸的是它的文本不可选择 虽然文本框允许选择文本并复制到剪贴板 但它不允许我设置
  • 如何使用 MVVM 更改数据网格或列表视图中的内容

    我有一个 MainWindowViewModel DataContext 它公开不同的 ObservableCollections 带有 INotifyProperty 的 poco 对象的视图模型 从组合框中选择一个值后 我想单击一个加载
  • 将 Web 场迁移到 ASP.NET 运行时版本 4,同时保持会话

    我们已将 Web 应用程序从 net 运行时 2 v 3 5 迁移到 net 运行时 4 v 4 5 我有一个部署问题 我们的 sessionstate 服务器是一个 stateserver 并在单独的服务器上运行框架 2 中的 aspne
  • 文件按文件名模式存在

    我在用 File Exists filepath 我想做的是将其替换为模式 因为文件名的第一部分发生了变化 例如 该文件可以是 01 peach xml 02 peach xml 03 peach xml 如何根据某种搜索模式检查文件是否存
  • Braintree API 在 Sandbox 中的 CreateCard.Create 上抛出 Braintree.Exceptions.AuthorizationException

    我正在使用 ASP NET MVC 4 NET Braintree Payments API 和 Braintree js 这是我为 Braintree 构建的一个简单的包装器 public class PaymentBL private
  • 在代码后面绑定属性

    我有 WPF 应用程序和其中的一个窗口 让我们在我的 xml 中添加这样的内容
  • sql“LIKE”查询语法

    这个查询有什么问题 string command get pay select Credit from Update Company Credit where Update Date LIKE System DateTime Today T
  • 枚举和匹配属性的 C# 命名约定

    我经常发现自己实现了一个类 将某种自己的状态属性维护为枚举 我有一个 Status 枚举和一个 Status 类型的 Status 属性 我应该如何解决这个名称冲突 public class Car public enum Status O
  • 使用隐式/显式转换而不是构造函数的原因是什么?

    一个例子是 XNamespace ns my namespace 为什么不 XNamespace ns new XNamespace my namespace 使用隐式 显式转换而不是构造函数背后的想法是什么 方便 有这方面的指南吗 方便
  • 使用 java 从 XML 元素中删除空格

    我有一个 JSON 如下 String str Emp name JSON Emp id 1 Salary 20997 00 我想使用 java 将此 JSON 转换为 XML 我的 java 代码在这里 JSON json JSONSer
  • Activator.CreateInstance 性能严重下降的案例

    我们在 NET 服务器端应用程序中观察到一个有趣的行为 CPU 内存密集型工作会随着时间的推移而减慢 我们使用 PerfView 尝试找到罪魁祸首 看来Activator CreateInstance是这一个 我们是怎么找到它的 我们在新会
  • XAMARIN - 添加来自 youtube 的视频

    我搜索如何从 youtube 添加视频的信息 例如 我想从一些 YouTube 链接添加视频 我认为它应该在网络视图中 但我需要一些详细信息 因为我找不到有关我的问题的任何信息 您可以使用 webview 播放 youtube 视频 str
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • TypeAccessException:尝试通过方法...访问类型...失败

    完整的异常详细信息是 System TypeAccessException occurred Message Attempt by method DynamicClass System Text StringBuilder System O

随机推荐

  • 获取数组类型记录字段的长度

    我正在编写一个包装器用于与外部二进制 API 进行通信 API 使用 PDU 打包二进制记录 进行通信 字符串是 AnsiChar 数组并且以零结尾 type TSomePDU packed record StringField array
  • 如何在java Hibernate中更新主键

    我正在研究 Mvc 架构 我有 pojo 对象 我想更改主键 请你帮帮我 主键是 varchar 前任 Users users usersDao load mark 您永远不应该更改主键的值 主键定义了对象的身份 如果主键已更改 Hiber
  • PHP SOAP客户端调用带参数函数

    我创建了一个 SOAP 客户端 如下所示 client new SoapClient file wsdl 然后当我想调用API函数时 client gt Authenticate user password 我收到以下错误 格式化程序在尝试
  • 如何从 QuickBook(.qbw) 文件中查询一些数据?

    情况 我是 QuickBooks 世界的新手 我有一个 qbw文件 gt 公司名称 qbw 这是一个巨大的文件 几乎包含了有关我公司的所有信息 我要查询some该文件中的数据 不是全部 而是一些 假设我只想查询inventory repor
  • 球体上密度最高的位置

    我在球体表面有很多点 如何计算具有最大点密度的球体的面积 点 我需要非常快地完成这件事 例如 如果这是一个正方形 我想我可以创建一个网格 然后让点投票网格的哪一部分是最好的 我尝试将这些点转换为球面坐标 然后制作网格 这两种方法都效果不佳
  • 媒体播放器/录音机(声子)

    我想开发一个媒体播放器 录音机 主要目标平台是Windows 支持其他操作系统就更好了 但这不是一个高优先级 它应该能够播放 wav mp3 avi 等格式 它还应该能够录制音频 麦克风 和视频 网络摄像头或采集卡 由于我对 QT 和 C
  • 嵌入式软件 Misra 标准

    我需要使大量代码符合 MISRA 要求 第一个问题 有人可以给一个估计用于根据经验传递编写良好的嵌入式系统代码 我知道 写得好 的定义不明确且模糊 所以我要求进行原始估计 第二个问题 对可定制 即允许抑制特定警告 并在自动构建环境 即命令行
  • iOS:UIDatePicker“删除”最小和最大日期之外的日期

    我编写了一个简单的 UIDatePicker 其中包含最小和最大日期 我希望日期选择器不显示不可用的日期 而不仅仅是禁用它们 实际 您可以滚动浏览所有不可用的日期 但是当您停留在不可用的日期时 日期选择器会滚动到最接近的可用日期 这很好 但
  • 我的函数输入周围的这个框是什么?

    每当我编写自动完成的函数调用并开始输入内容时 就会在输入周围绘制一个黑色矩形 如下所示 为什么 eclipse 会这样做以及如何将其关闭 我查看了不同的编辑器设置 但没有找到任何描述此行为的内容 This is called place h
  • 这句话是什么意思? printf("[%.*s] ", (int) 长度[i],

    我正在阅读此页http dev mysql com doc refman 5 0 en mysql fetch row html http dev mysql com doc refman 5 0 en mysql fetch row ht
  • 为什么 git 无法在 Visual Studio Code 中运行?

    我已经在我的项目中安装了哈士奇 然后我跑了precommit命令 现在 当我运行git命令 它不起作用 而是问我你想如何打开该文件 所以 我使用删除了哈士奇npm prune然后从中删除 hooks 文件夹 git项目目录 但仍然没有帮助
  • 有没有办法调整 UITabBar 按钮项目的宽度以适应屏幕上超过 5 个按钮?

    我的按钮似乎被拉长了 尤其是在横向方向上 我无法在 UITabBar UITabBarViewController 或 UITabBarItem 本身上找到可调整的属性 当然 一个答案是购买 iPad 但这并不能解决对手机的需求 例如 考虑
  • 如何将事件附加到表单的 onSubmit 事件并链接早期附加的方法?

    我的申请有数百页 现在我必须附加一个事件disablePage on onSubmit的形式 我不想翻到每一页并写下
  • 疯狂中的 CheckoutController#edit 在哪里?

    我需要玩editCheckoutController 的操作 我在服务器日志中看到它 我在文档 http edgeguides spreecommerce com checkout html但我在 gem 的代码中找不到它 魔力在哪里 狂欢
  • 有没有办法将升压信号直接连接到另一个信号?

    我想知道是否有更好的方法将一类的升压信号直接连接到另一类的信号 例如想象一个门面类 https stackoverflow com questions 249581 explain facade pattern with c example
  • 如何在 R 中将模型拟合到没有噪声的数据(完美拟合)?

    如果我有以下数据集 df data frame x 1 10 y 3 4 exp x 1 10 我尝试适应nls model nls y a b exp x data df start list a 3 4 b 4 1 我收到错误 因为这是
  • 修复 Windows 8 和 10 中的 npm 路径

    已经做了很多谷歌搜索 尝试使用官方安装程序重新安装 node js 但我的 npm 路径仍然不起作用 这不起作用 npm install foo 我收到一条错误消息 指出缺少模块 npm cli js 经过 2 个小时的谷歌搜索后 我发现了
  • 异步获取大量资源并将它们“异步”保存到数据库中。使用哪种好的模式? (AFNetworking,核心数据)

    我需要用注释填充我的地图 每个注释都有相应的 Place 资源 这些资源是从远程服务器获取的 每个地点都有关联的类别 它也是作为单独的资源从服务器获取的 假设要填充给定区域 我需要获取 100 个位置 每个位置属于 20 个类别之一 实际上
  • 向 API 发出 get 请求时出现用户代理丢失错误

    我正在尝试使用新闻 API 创建一个项目 但不断收到 userAgentMissing 错误 我尝试了一些事情 但我不知道我做错了什么 我也尝试过使用 https request 方法 但结果是相同的 app get function re
  • xsl:模板匹配未找到匹配项

    我正在尝试使用 NET XslCompiledTransform 将一些 Xaml 转换为 HTML 但在让 xslt 匹配 Xaml 标记方面遇到了困难 例如 使用此 Xaml 输入