Kiểm tra không gian tên bị tắt trên máy chủ xử lý các phép biến đổi XSL (vì người viết XSL không hiểu không gian tên). Tôi phải thay đổi XSL nhưng tôi không thể kiểm tra nó bởi vì không có bất kỳ không gian tên nào được định nghĩa tức là.Có cách nào để bỏ qua các không gian tên trong quá trình chuyển đổi XSL không?
Thay vì
<xsl:template match="ns:element[position()=1]">...
nó có
<xsl:template match="element[position()=1]">...
vì vậy nó không phù hợp với bất kỳ của các yếu tố trong XML bởi vì tất cả chúng ta đều có trình độ với namespace.
Tôi không thể kiểm tra trên máy chủ vì tôi không có quyền truy cập vào máy chủ. Nó không sử dụng sửa chữa XSL bởi vì sau đó kiểm tra không gian tên sẽ phải được kích hoạt, và điều đó sẽ phá vỡ tất cả các phép biến đổi khác.
Vì vậy, những gì tôi cần làm là tìm cách bỏ qua các không gian tên trong khi chuyển đổi XSL. Tôi có quyền truy cập vào MSXML, XMLSpy (không thể tìm thấy một tùy chọn ở đây) và nếu tôi thực sự cần phải tôi có thể mã một cái gì đó lên trong C# hoặc một ngôn ngữ tương tự.
Như một phương sách cuối cùng tôi có thể mã lên một vài regexes nhưng tôi thực sự không muốn đi xuống mà tuyến đường, đặc biệt là khi đối phó với XML ...
Để đối phó với một lời nhận xét về biết thêm chi tiết:
Đó là Máy chủ ảo Windows 2003, chạy một cá thể một Servlet Methode (www.eidosmedia.com). Tôi không biết kỹ thuật nào servlet này sử dụng để thực hiện các phép biến đổi XSL. Họ bỏ qua các không gian tên vì người viết XSL ban đầu không hiểu chúng, và không đưa chúng vào XSL. Vì vậy, bây giờ tất cả các tập tin XSL (hàng trăm) không có không gian tên. Có thể là một thách thức thú vị để sửa tất cả các tệp này trong một lần, nhưng đó không phải là những gì tôi cần ngay bây giờ (và người quản lý bộ phận sẽ không bao giờ đồng ý với nó vì số lượng thử nghiệm liên quan). Điều này có thể là một thách thức thú vị. Tất cả những gì tôi muốn biết là nếu có một công cụ (hoặc kỹ thuật) sẵn có sẽ cho phép tôi lấy các tệp XSL này và sử dụng chúng để chuyển đổi một tài liệu XML tương ứng mà không tính đến các không gian tên tài khoản. Dường như với tôi rằng một công cụ phải tồn tại, bởi vì người đã viết bản XSL ban đầu phải đã sử dụng một cái gì đó tương tự để tự kiểm tra các biến đổi.
Làm cách nào để vô hiệu hóa việc kiểm tra không gian tên trên máy chủ? Tôi đã không bao giờ nghe nói về một điều như vậy. –
Đây là sản phẩm của bên thứ 3 (không phải của Microsoft hoặc Sun) xử lý các phép biến đổi. Họ chỉ yêu cầu các nhà phát triển cung cấp cho họ một tùy chọn để vô hiệu hóa nó. – ilitirit
Chúng tôi có thể biết thêm chi tiết không? Chẳng hạn như loại máy chủ, vv Ngoài ra, họ muốn giải quyết vấn đề gì bằng cách bỏ qua các không gian tên? Bỏ qua các không gian tên là rất khó, vì vậy nếu chúng ta biết vấn đề đằng sau vấn đề, chúng ta có thể thử giải quyết vấn đề đó. –