XSLT - 两个独立的数据源合并为一个 XSLT

发布于 2024-10-25 23:37:50 字数 790 浏览 0 评论 0原文

我有两个完全独立的 XML 数据源。 UserDetails.xml 和 UserSites.xml。

UserDetails.xml 包含:

<a:UserDetails>
<a:user>
  <a:username>Clow</a:username>
  <a:userid>9834</a:userid>
</a:user>
<a:user>
  <a:username>Adam</a:username>
  <a:userid>9867</a:userid>
</a:user>
</a:UserDetails>

UserSites.xml 包含:

<a:UserSites>
<a:site>
  <a:createdby>9834</a:userid>
  <a:type>blog</a:type>
</a:site>
<a:site>
  <a:createdby>9867</a:username>
  <a:type>web</a:type>
</a:site>

我想要做的是使用这两个数据源中的数据来指示哪些用户创建了网站以及他们拥有什么类型的网站。

如何在 XSLT 1.0 中实现这一点?

I've have two XML data sources which are completly seperate. UserDetails.xml and UserSites.xml.

The UserDetails.xml contains:

<a:UserDetails>
<a:user>
  <a:username>Clow</a:username>
  <a:userid>9834</a:userid>
</a:user>
<a:user>
  <a:username>Adam</a:username>
  <a:userid>9867</a:userid>
</a:user>
</a:UserDetails>

UserSites.xml contains:

<a:UserSites>
<a:site>
  <a:createdby>9834</a:userid>
  <a:type>blog</a:type>
</a:site>
<a:site>
  <a:createdby>9867</a:username>
  <a:type>web</a:type>
</a:site>

What I would like to do is use data in both of these data sources to indicate which users have sites created and what type of site they have.

How can this be made possible in XSLT 1.0?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

盛夏已如深秋| 2024-11-01 23:37:50

使用document函数访问外部文档中的

节点例如,以下样式表应用于 UserDetails.xml

<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="a">
    <xsl:template match="/">
        <test>
            <xsl:value-of
              select="document('UserSites.xml')/a:UserSites/a:site/a:createdby"/>
        </test>    
    </xsl:template>
</xsl:stylesheet>

UserSites.xml 输出以下结果:

9834

注意: 您的示例 XML 不太好 -形成了,所以我必须在处理之前进行一些小的调整。

Use the document function to access nodes in an external document

For example, the following stylesheet applied to UserDetails.xml:

<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="a">
    <xsl:template match="/">
        <test>
            <xsl:value-of
              select="document('UserSites.xml')/a:UserSites/a:site/a:createdby"/>
        </test>    
    </xsl:template>
</xsl:stylesheet>

Outputs the following result from UserSites.xml:

9834

Note: Your example XML is not well-formed, so I had to make minor adjustments before processing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文