Tôi có một tình huống mà thông số sẽ không được đặt, nhưng nỗ lực của tôi để chụp & xử lý kích thước không hoạt động.XSLT: Thông số kiểm tra để biết nếu nó đã được thiết lập
Tôi đang sử dụng như sau:
<xsl:template match="xs:complexType">
<xsl:param name="prefix" />
<xsl:variable name="prefix-no-core">
<xsl:choose>
<!-- if no value, default to 'AcRec' -->
<xsl:when test="not($prefix)">
<xsl:value-of select="'AcRec'" />
</xsl:when>
<!-- if 'core', leave as empty string -->
<xsl:when test="$prefix = 'core'">
</xsl:when>
<!-- if 'AcRec', set the value -->
<xsl:when test="$prefix = 'AcRec'">
<xsl:value-of select="$prefix" />
</xsl:when>
</xsl:choose>
</xsl:variable>
<xs:complexType name="{concat($prefix-no-core, @name)}">
...
</xsl:template>
Tôi cũng đã thử $ prefix = '' trong các thử nghiệm đầu tiên - không phải làm việc. nhưng nếu tôi sử dụng:
<xsl:value-of select="not($prefix)" />
... giá trị in ra là đúng. Nhưng việc sử dụng nó trong xsl: select của tôi không tạo ra bất kỳ đầu ra nào.
Tôi cần hỗ trợ khả năng của các tiền tố khác. –
Đã thử - xsl: nếu không thì sẽ mang lại cho tôi các kết quả dương tính giả, áp dụng tiền tố cho những gì không được. –
Khi nào bạn không muốn áp dụng tiền tố? Một lần nữa, hãy cung cấp cho chúng tôi trường hợp sử dụng hoàn chỉnh. Nếu tiền tố = core, bạn không muốn tiền tố. Nếu tiền tố không được đặt, bạn muốn AcDec làm tiền tố. Trường hợp khác là gì? Bạn có muốn sử dụng tiền tố được cung cấp hay bạn muốn phải thêm trường hợp theo cách thủ công cho mỗi tiền tố "được phép". Nếu vậy, điều gì sẽ xảy ra với người gọi cung cấp một tiền tố mà bạn không nhận ra? –