【问题标题】:display UserValue in plmxml schema using XSLT使用 XSLT 在 plmxml 模式中显示 UserValue
【发布时间】:2013-04-22 11:35:51
【问题描述】:

您好,我有以下代码,我想显示 ProductRevision 中的 UserValue,它与 Occurrence 中的 instancedRef 匹配。架构是 plmxml...

<ProductRevision id="id279" name="Intermediate Shaft" accessRefs="#id17" subType="M3HI_MPTRevision" masterRef="#id284" revision="A" source="unset">
<ApplicationRef version="gCVFl6cKY1F1YB" application="Teamcenter" label="Q_VFl6cKY1F1YB"></ApplicationRef>
<UserData id="id280">
<UserValue value="11111" title="m3hi_Order_No"></UserValue></UserData>
<AssociatedForm id="id283" role="IMAN_master_form" formRef="#id281"></AssociatedForm></ProductRevision>

我正在尝试使用以下 XSLT 获取 UserValue 的值

<xsl:variable name="mptRevID" select="substring-after(/plm:PLMXML/plm:ProductView/plm:Occurrence[@id=$mptId]/@instancedRef, '#')"/>
<xsl:variable name="RevTag" select="/plm:PLMXML/plm:ProductRevision[@id=$mptRevID]"/> 
<xsl:variable name="Ord" select="$mptRevTag/plm:UserData/plm:UserValue/@value"/> 

当我执行上面的操作时,它在输出中给了我一个空白。

请让我知道我在代码中犯的错误或如何从 xml 访问 UserData 和 UserValue。

提前致谢

【问题讨论】:

  • 第二个变量名是mptRevTag

标签: xml xpath xslt-1.0


【解决方案1】:

我向您推荐用于 PLMXML 的特殊 XSLT 处理器。 http://plmski.webnode.com/plmxml-xslt-processor/ 处理器自动确定“ref-id”。您无需确定 ID。

【讨论】:

  • 您能否解释一下 OP 的问题出在哪里以及您的答案将如何帮助解决它?
【解决方案2】:

我想你有两个问题:

  1. 错字:您在选择变量“Ord”时使用“$mptRevTag”而不是“$RevTag”
  2. Xpath:在 PLMXML 结构中(至少我知道的),ProductRevision 元素并不直接位于根节点下,但 XPath 表达式应如下所示:/PLMXML/ProductDef/InstanceGraph/ProductRevision

此外,由于“标题”,我当然也会过滤 UserValue,因为来自 Teamcenter 的所有属性都使用此元素导出。

问候,洛伊克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    相关资源
    最近更新 更多