2011-01-25 69 views
15

Tôi đang cố tạo đầu ra văn bản từ tệp xml bằng xslt. Nó thực sự là một xslt tạo mã SQL. Đây là một phần mà kết quả đầu ra các câu lệnh CREATE TABLE:Làm cách nào để thêm ngắt dòng vào văn bản mà tôi đang tạo bằng XSLT?

CREATE TABLE dbo.[<xsl:value-of select="@PhysicalName"/>] (
    <xsl:for-each select="EntityAttributes/EntityAttribute"> 
    <xsl:apply-templates select="Attributes/Attribute[@AttributeID = current()/@EntityAttributeID]"/> ... 
    </xsl:for-each>) 

Tôi muốn có một ngắt dòng sau "(" trong dòng đầu tiên nhưng không thể quản lý để tìm hiểu làm thế nào để làm như vậy bất cứ ai có thể giúp

.? ..

Trả lời

11

Nếu bạn đặt

<xsl:text> 
</xsl:text> 

trong XSLT của bạn nó sẽ cho ngắt dòng Vẫn chưa rõ nơi bạn muốn đặt này tôi đoán bạn muốn:

<xsl:text>CREATE TABLE dbo.[</xsl:text><xsl:value-of select="@PhysicalName"/><xsl:text>] (
</xsl:text> 

Nói chung, bạn nên luôn luôn bao bọc đầu ra văn bản trong ... nó trông hơi kinh khủng trong XSL nhưng nó giữ khoảng cách. Lưu ý rằng bạn có thể phá vỡ các dòng trong XSLT mà không ảnh hưởng đến kết quả - ví dụ:

<xsl:text>CREATE TABLE dbo.[</xsl:text> 
<xsl:value-of select="@PhysicalName"/> 
<xsl:text>] (&#xa;</xsl:text> 

và có, tôi đồng ý về ký tự ngắt dòng rõ ràng. Vì bạn có thể thấy XSLT không dễ đọc nhưng nó nhận được câu trả lời đúng

+0

Bạn đã viết * "Như bạn thấy XSLT không phải là rất có thể đọc được" *. Điều đó rất chủ quan. Tôi xem xét rằng với 'xsl: text', biểu định kiểu ** trở nên rất dễ đọc **. Có thể bạn muốn nói rằng đầu ra ** trở nên ít hơn ... không thể tránh khỏi **. –

+0

Tôi đã thấy một số người xác định thực thể & dòng mới mở rộng đến . Nhưng điều đó chỉ làm cho mã dễ đọc hơn đối với một người quen thuộc với các quy ước mà nó đang sử dụng, vì vậy tôi không chắc chắn tôi sẽ giới thiệu nó. –

33

Đối với các ngắt dòng, bản thân tôi thích cách rõ ràng hơn/dễ đọc hơn.

<xsl:text>&#xa;</xsl:text> 
+0

Tốt hơn nhiều so với các yếu tố trống trong quan điểm của tôi. +1 –

+0

+1 Đề xuất đúng. Bên cạnh đó quy ước không được viết là sử dụng chữ hoa cho các tham chiếu ký tự thập lục phân, như trong thông số kỹ thuật: '# xA'. Nhưng chúng không phân biệt chữ hoa chữ thường. –

+0

+1 để có câu trả lời đúng. –

-2

thẻ sử dụng thật dễ dàng

Example: 
<div>TOTAL STAR POINTS EARNED </div> 
<div>TOTAL STAR POINTS REDEEMED </div> 
<div>BALANCE STAR POINTS AVAILABLE </div> 

đầu ra:

TOTAL STAR POINTS EARNED 
TOTAL STAR POINTS REDEEMED 
BALANCE STAR POINTS AVAILABLE 
+2

Nếu bạn đã đọc kỹ câu hỏi này, bạn sẽ thấy rằng đầu ra không phải là HTML. –

+0

cảm ơn michael.hor257k :) –

Các vấn đề liên quan