Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Метод Transform принимает три типа входных данных для исходного документа: объект, реализующий интерфейс, IXPathNavigable объект, XmlReader считывающий исходный документ или строковый URI.
Замечание
Класс XslCompiledTransform сохраняет пробелы по умолчанию. Это соответствует разделу 3.4 рекомендации W3C XSLT 1.0.
Интерфейс IXPathNavigable
Интерфейс IXPathNavigable реализуется в классах XmlNode и XPathDocument классах. Эти классы представляют кэш XML-данных в памяти.
Класс XmlNode основан на объектной модели документа W3C (DOM) и включает возможности редактирования.
Класс XPathDocument — это хранилище данных только для чтения на основе модели данных XPath. XPathDocument — рекомендуемый класс для обработки XSLT. Он обеспечивает более высокую производительность по сравнению с классом XmlNode .
Замечание
Преобразования применяются к документу в целом. Другими словами, если вы передаете узел, отличный от корневого узла документа, это не препятствует процессу преобразования получать доступ ко всем узлам в загруженном документе. Чтобы преобразовать фрагмент узла, необходимо создать объект, содержащий только фрагмент узла, и передать этот объект в Transform метод. Дополнительные сведения см. в разделе "Практическое руководство. Преобразование фрагмента узла".
В следующем примере метод используется XslCompiledTransform.Transform для преобразования файла books.xml в файл books.html с помощью таблицы стилей transform.xsl. Файлы books.xml и transform.xsl см. в этом разделе: практическое руководство. Выполнение преобразования XSLT с помощью сборки.
// Open books.xml as an XPathDocument.
XPathDocument doc = new XPathDocument("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(doc, writer);
' Open books.xml as an XPathDocument.
Dim doc As XPathDocument = New XPathDocument("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
'Execute the transformation.
transform.Transform(doc, writer)
Объект XmlReader
Метод Transform загружается из текущего узла XmlReader и всех его дочерних элементов. Это позволяет использовать часть документа в качестве контекстного документа. После возврата метода Transform перемещается к следующему узлу после окончания контекстного документа. Если достигается конец документа, элемент XmlReader размещается в конце файла (EOF).
В следующем примере метод используется XslCompiledTransform.Transform для преобразования файла books.xml в файл books.html с помощью таблицы стилей transform.xsl. Файлы books.xml и transform.xsl см. в этом разделе: практическое руководство. Выполнение преобразования XSLT с помощью сборки.
// Create a reader to read books.xml
XmlReader reader = XmlReader.Create("books.xml");
// Create a writer for writing the transformed file.
XmlWriter writer = XmlWriter.Create("books.html");
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform(reader, writer);
'Create a reader to read books.xml
Dim reader As XmlReader = XmlReader.Create("books.xml")
' Create a writer for writing the transformed file.
Dim writer As XmlWriter = XmlWriter.Create("books.html")
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform(reader, writer)
Строковый универсальный код ресурса (URI)
Вы также можете указать URI исходного документа в качестве входных данных XSLT. Используется XmlResolver для разрешения URI. Вы можете указать XmlResolver, который будет использоваться, передав его методу Transform. Если параметр XmlResolver не указан, Transform метод использует значение по умолчанию XmlUrlResolver без учетных данных.
В следующем примере метод используется XslCompiledTransform.Transform для преобразования файла books.xml в файл books.html с помощью таблицы стилей transform.xsl. Файлы books.xml и transform.xsl см. в этом разделе: практическое руководство. Выполнение преобразования XSLT с помощью сборки.
// Create and load the transform with script execution enabled.
XslCompiledTransform transform = new XslCompiledTransform();
XsltSettings settings = new XsltSettings();
settings.EnableScript = true;
transform.Load("transform.xsl", settings, null);
// Execute the transformation.
transform.Transform("books.xml", "books.html");
' Create and load the transform with script execution enabled.
Dim transform As XslCompiledTransform = New XslCompiledTransform()
Dim settings As XsltSettings = New XsltSettings()
settings.EnableScript = True
transform.Load("transform.xsl", settings, Nothing)
' Execute the transformation.
transform.Transform("books.xml", "books.html")
Дополнительные сведения см. в разделе "Разрешение внешних ресурсов во время обработки XSLT".