У меня есть следующие данные, которые должны быть XML:
<?xml version="1.0" encoding="UTF-8"?>
<Product>
<id>1</id>
<description>A new product</description>
<price>123.45</price>
</Product>
<Product>
<id>1</id>
<description>A new product</description>
<price>123.45</price>
</Product>
<ProductTTTTT>
<id>1</id>
<description>A new product</description>
<price>123.45</price>
</Product>
<Product>
<id>1</id>
<description>A new product</description>
<price>123.45</price>
</ProductAAAAAA>
Итак, в основном у меня есть несколько корневых элементов (product
) ...
Дело в том, чтоЯ пытаюсь преобразовать эти данные в 2 XML-документа, 1 для допустимых узлов и других для недействительных узлов.
Допустимый узел:
<Product>
...
</Product>
Недопустимые узлы: <ProductTTTTT>...</Product>
и <Product>...</ProductAAAAAA>
Тогда я думаю, как мне этого добиться, используя JAVA (не web).
- Если я не ошибаюсь, проверка его с помощью XSD сделает недействительным весь файл, поэтомуне вариант.
- Использование парсера JAXB по умолчанию (unmarshaller) приведет к приведенному выше пункту, поскольку внутренне он создает XSD моей сущности.
- Использование XPath просто (из того, что я знаю) просто вернетвесь файл, я не нашел способ получить что-то вроде GET! VALID (это просто объяснить ...)
- Использование XQuery (может быть?) .. кстати, как использовать XQuery сJAXB?
- XSL (T) приведет к тому же в XPath, так как он использует XPath для выбора содержимого.
Итак ... какой метод я могу использовать для достижения цели?(И, если возможно, укажите ссылки или код, пожалуйста)